about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/flac/default.nix2
-rw-r--r--pkgs/applications/audio/fldigi/default.nix4
-rw-r--r--pkgs/applications/audio/gpodder/default.nix38
-rw-r--r--pkgs/applications/audio/moc/default.nix14
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix2
-rw-r--r--pkgs/applications/audio/musescore/default.nix33
-rw-r--r--pkgs/applications/editors/eclipse/default.nix17
-rw-r--r--pkgs/applications/editors/ed/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-modes/dash/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/ensime/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/s/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/scala-mode/v2.nix6
-rw-r--r--pkgs/applications/editors/idea/default.nix4
-rw-r--r--pkgs/applications/editors/scite/default.nix2
-rw-r--r--pkgs/applications/editors/sublime3/default.nix2
-rw-r--r--pkgs/applications/editors/vanubi/default.nix28
-rw-r--r--pkgs/applications/editors/zed/default.nix29
-rw-r--r--pkgs/applications/editors/zed/node.nix921
-rw-r--r--pkgs/applications/editors/zile/default.nix16
-rw-r--r--pkgs/applications/graphics/kgraphviewer/default.nix21
-rw-r--r--pkgs/applications/graphics/panotools/default.nix4
-rw-r--r--pkgs/applications/graphics/photivo/default.nix2
-rw-r--r--pkgs/applications/graphics/processing/default.nix21
-rw-r--r--pkgs/applications/misc/bitcoin/altcoins.nix47
-rw-r--r--pkgs/applications/misc/bitcoin/dogecoin.nix71
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cura/default.nix12
-rw-r--r--pkgs/applications/misc/curaengine/default.nix37
-rw-r--r--pkgs/applications/misc/fme/default.nix33
-rw-r--r--pkgs/applications/misc/galculator/default.nix10
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix4
-rw-r--r--pkgs/applications/misc/k3b/default.nix6
-rw-r--r--pkgs/applications/misc/keepassx/2.0.nix6
-rw-r--r--pkgs/applications/misc/lilyterm/default.nix10
-rw-r--r--pkgs/applications/misc/namecoin/default.nix37
-rw-r--r--pkgs/applications/misc/namecoin/qt.nix33
-rw-r--r--pkgs/applications/misc/pstree/default.nix2
-rw-r--r--pkgs/applications/misc/redshift/default.nix4
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix2
-rw-r--r--pkgs/applications/misc/spacefm/default.nix4
-rw-r--r--pkgs/applications/misc/synergy/default.nix6
-rw-r--r--pkgs/applications/misc/tilda/default.nix3
-rw-r--r--pkgs/applications/misc/vym/default.nix8
-rw-r--r--pkgs/applications/misc/xiphos/default.nix57
-rw-r--r--pkgs/applications/networking/browsers/dillo/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix360
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb2
-rw-r--r--pkgs/applications/networking/browsers/firefox/30.nix211
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix2
-rw-r--r--pkgs/applications/networking/copy-com/default.nix58
-rw-r--r--pkgs/applications/networking/ike/default.nix (renamed from pkgs/applications/ike/default.nix)0
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram-cli/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix2
-rw-r--r--pkgs/applications/networking/linssid/default.nix34
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix1
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix46
-rw-r--r--pkgs/applications/networking/sync/backintime/default.nix78
-rw-r--r--pkgs/applications/networking/sync/backintime/gnome.nix37
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix26
-rw-r--r--pkgs/applications/office/zim/default.nix103
-rw-r--r--pkgs/applications/office/zotero/default.nix6
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix6
-rw-r--r--pkgs/applications/science/math/R/default.nix4
-rw-r--r--pkgs/applications/science/math/fricas/default.nix2
-rw-r--r--pkgs/applications/science/math/pari/default.nix9
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix6
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix4
-rw-r--r--pkgs/applications/version-management/meld/default.nix2
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix59
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/aegisub/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix17
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix2
-rw-r--r--pkgs/applications/video/wxcam/default.nix51
-rw-r--r--pkgs/applications/virtualization/8086tiny/default.nix3
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix17
-rw-r--r--pkgs/applications/virtualization/docker/default.nix8
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix1
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix2
-rw-r--r--pkgs/applications/window-managers/bar/default.nix4
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/fluxbox/default.nix19
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix2
-rw-r--r--pkgs/build-support/agda/default.nix95
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/default.nix207
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/destroy.sh.in5
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/init.sh.in3
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/mount.sh.in3
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/umount.sh.in2
-rw-r--r--pkgs/build-support/fetchgit/default.nix6
-rw-r--r--pkgs/build-support/gcc-wrapper/gcc-wrapper.sh1
-rw-r--r--pkgs/build-support/grsecurity/default.nix2
-rw-r--r--pkgs/build-support/upstream-updater/update-walker-service-specific.sh4
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh10
-rw-r--r--pkgs/build-support/vm/rpm/rpm-closure.pl2
-rw-r--r--pkgs/data/documentation/pthread-man-pages/default.nix2
-rw-r--r--pkgs/data/fonts/arkpandora/default.nix1
-rw-r--r--pkgs/data/fonts/baekmuk-ttf/default.nix29
-rw-r--r--pkgs/data/fonts/proggyfonts/default.nix40
-rw-r--r--pkgs/data/fonts/stix-otf/default.nix30
-rw-r--r--pkgs/data/fonts/symbola/default.nix2
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix4
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix4
-rw-r--r--pkgs/data/misc/miscfiles/default.nix9
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/empathy/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch72
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/tracker/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/geary/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix3
-rw-r--r--pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch36
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix5
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix12
-rw-r--r--pkgs/development/compilers/agda/default.nix2
-rw-r--r--pkgs/development/compilers/agda/stdlib.nix31
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix26
-rw-r--r--pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch28
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix18
-rw-r--r--pkgs/development/compilers/idris/default.nix4
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix6
-rw-r--r--pkgs/development/compilers/orc/default.nix8
-rw-r--r--pkgs/development/compilers/sbcl/1.2.0.nix78
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/interpreters/chibi/default.nix37
-rw-r--r--pkgs/development/interpreters/elixir/default.nix6
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix9
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix9
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix32
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix10
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix16
-rw-r--r--pkgs/development/interpreters/lua-5/sec.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix4
-rw-r--r--pkgs/development/interpreters/octave/default.nix3
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix6
-rw-r--r--pkgs/development/interpreters/php/5.4.nix4
-rw-r--r--pkgs/development/interpreters/regina/default.nix12
-rw-r--r--pkgs/development/interpreters/regina/default.upstream5
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix379
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix8
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix7
-rw-r--r--pkgs/development/libraries/agda/AgdaSheaves/default.nix23
-rw-r--r--pkgs/development/libraries/agda/bitvector/default.nix23
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix2
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix2
-rw-r--r--pkgs/development/libraries/cimg/builder.sh12
-rw-r--r--pkgs/development/libraries/cimg/default.nix26
-rw-r--r--pkgs/development/libraries/cloog/default.nix2
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix4
-rw-r--r--pkgs/development/libraries/directfb/src-for-default.nix10
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix5
-rw-r--r--pkgs/development/libraries/flite/default.nix9
-rw-r--r--pkgs/development/libraries/gecode/default.nix21
-rw-r--r--pkgs/development/libraries/glew/default.nix10
-rw-r--r--pkgs/development/libraries/glibc/2.19/common.nix1
-rw-r--r--pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch206
-rw-r--r--pkgs/development/libraries/gmock/default.nix32
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch25
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix35
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix5
-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/MFlow/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/auto-update/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/crypto-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/directory-layout/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/functor-infix/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix (renamed from pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/ghc-server/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haddock-api/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/haddock-library/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haste-compiler/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hindent/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh6
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local.diff28
-rw-r--r--pkgs/development/libraries/haskell/hoogle/local.nix106
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/managed/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ncurses/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network-uri/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network/2.6.0.2.nix (renamed from pkgs/development/libraries/haskell/network/2.6.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix (renamed from pkgs/development/libraries/haskell/optparse-applicative/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rest-happstack/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/retry/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rope/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/setlocale/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/tls/1.1.5.nix27
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix (renamed from pkgs/development/libraries/haskell/tls/1.2.8.nix)4
-rw-r--r--pkgs/development/libraries/haskell/twitter-conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/x509/default.nix4
-rw-r--r--pkgs/development/libraries/ilixi/default.nix1
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix2
-rw-r--r--pkgs/development/libraries/isl/default.nix2
-rw-r--r--pkgs/development/libraries/javascript/jquery-ui/default.nix20
-rw-r--r--pkgs/development/libraries/javascript/jquery/default.nix36
-rw-r--r--pkgs/development/libraries/json-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libav/default.nix2
-rw-r--r--pkgs/development/libraries/libc++/default.nix2
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix2
-rw-r--r--pkgs/development/libraries/libewf/default.nix13
-rw-r--r--pkgs/development/libraries/libewf/default.upstream7
-rw-r--r--pkgs/development/libraries/libfreefare/default.nix21
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix2
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/liboauth/default.nix4
-rw-r--r--pkgs/development/libraries/libotr/default.nix25
-rw-r--r--pkgs/development/libraries/libpng/default.nix6
-rw-r--r--pkgs/development/libraries/libresample/default.nix2
-rw-r--r--pkgs/development/libraries/libvirt/default.nix1
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/muparser/default.nix15
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/openldap/default.nix7
-rw-r--r--pkgs/development/libraries/openmpi/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/default.nix7
-rw-r--r--pkgs/development/libraries/osip/default.nix5
-rw-r--r--pkgs/development/libraries/osip/default.upstream3
-rw-r--r--pkgs/development/libraries/pcre/default.nix4
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix47
-rw-r--r--pkgs/development/libraries/readline/5.x.nix (renamed from pkgs/development/libraries/readline/readline5.nix)7
-rw-r--r--pkgs/development/libraries/readline/6.2.nix (renamed from pkgs/development/libraries/readline/readline6.nix)0
-rw-r--r--pkgs/development/libraries/readline/6.3.nix (renamed from pkgs/development/libraries/readline/readline6.3.nix)37
-rw-r--r--pkgs/development/libraries/readline/readline-6.3-patches.nix12
-rw-r--r--pkgs/development/libraries/readline/readline4.nix10
-rw-r--r--pkgs/development/libraries/serf/default.nix8
-rw-r--r--pkgs/development/libraries/spandsp/default.nix9
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix13
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/sword/default.nix14
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix8
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml577
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix37
-rw-r--r--pkgs/development/mobile/androidenv/build-tools.nix17
-rw-r--r--pkgs/development/mobile/androidenv/default.nix36
-rwxr-xr-xpkgs/development/mobile/androidenv/fetch.sh (renamed from pkgs/development/mobile/androidenv/fetch)5
-rw-r--r--pkgs/development/mobile/androidenv/generate-addons.xsl6
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-platforms.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-platforms.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages-others.xsl21
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-sysimages.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix10
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix10
-rw-r--r--pkgs/development/mobile/androidenv/repository-10.xml1562
-rw-r--r--pkgs/development/mobile/androidenv/repository-8.xml1277
-rw-r--r--pkgs/development/mobile/androidenv/support-repository.nix17
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-mips.xml132
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-x86.xml154
-rw-r--r--pkgs/development/mobile/androidenv/sys-img.xml712
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix82
-rw-r--r--pkgs/development/mobile/xpwn/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/calendar/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix36
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix37
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sqlite3EZ/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/twt/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix10
-rw-r--r--pkgs/development/pharo/vm/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/python-modules/h5py/default.nix42
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix56
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--pkgs/development/python-modules/rbtools/default.nix8
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix4
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/2.8.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix4
-rw-r--r--pkgs/development/r-modules/cran-packages.nix4
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/massif-visualizer/default.nix20
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix39
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix (renamed from pkgs/development/tools/build-managers/simple-build-tool/default.nix)3
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix16
-rw-r--r--pkgs/development/tools/documentation/haddock/2.15.0.nix20
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix2
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix1
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace/default.nix2
-rw-r--r--pkgs/development/tools/misc/swig/default.nix2
-rw-r--r--pkgs/development/tools/node-webkit/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff10
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix12
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/1.0.0.nix2
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix2
-rw-r--r--pkgs/development/tools/vagrant/default.nix16
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix199
-rw-r--r--pkgs/games/bsdgames/default.nix2
-rw-r--r--pkgs/games/chocolate-doom/default.nix23
-rw-r--r--pkgs/games/chocolate-doom/master.nix24
-rw-r--r--pkgs/games/dwarf-fortress/df2014.nix50
-rw-r--r--pkgs/games/eternity-engine/default.nix29
-rw-r--r--pkgs/games/gtypist/default.nix24
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/spring/default.nix2
-rw-r--r--pkgs/games/steam/chrootenv.nix71
-rw-r--r--pkgs/games/steam/default.nix105
-rw-r--r--pkgs/games/stepmania/default.nix2
-rw-r--r--pkgs/games/warzone2100/default.nix12
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix33
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix34
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix25
-rw-r--r--pkgs/misc/emulators/higan/builder.sh15
-rw-r--r--pkgs/misc/emulators/higan/default.nix3
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix11
-rw-r--r--pkgs/misc/emulators/mednafen/server.nix8
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix170
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix4
-rw-r--r--pkgs/misc/emulators/retroarch/master.nix31
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix36
-rw-r--r--pkgs/misc/emulators/stella/default.nix31
-rw-r--r--pkgs/misc/phabricator/default.nix28
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix3
-rw-r--r--pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix23
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix2
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix2
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix4
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix4
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix50
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix2
-rw-r--r--pkgs/os-specific/linux/paxctl/default.nix4
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix53
-rw-r--r--pkgs/os-specific/linux/smem/default.nix33
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch2476
-rw-r--r--pkgs/servers/computing/torque/default.nix41
-rw-r--r--pkgs/servers/consul/default.nix34
-rw-r--r--pkgs/servers/consul/deps.nix160
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/dict/default.nix2
-rw-r--r--pkgs/servers/dict/libmaa.nix2
-rw-r--r--pkgs/servers/diod/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix30
-rw-r--r--pkgs/servers/http/nginx/default.nix25
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix27
-rw-r--r--pkgs/servers/http/tomcat/7.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/8.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/recent.nix24
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix6
-rw-r--r--pkgs/servers/news/leafnode/default.nix6
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix10
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix2
-rw-r--r--pkgs/servers/openafs-client/default.nix2
-rw-r--r--pkgs/servers/pulseaudio/default.nix13
-rw-r--r--pkgs/servers/rippled/default.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix20
-rw-r--r--pkgs/servers/search/sphinxsearch/default.nix30
-rw-r--r--pkgs/servers/sql/mysql/5.1.x.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.3.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.4.x.nix44
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch12
-rw-r--r--pkgs/servers/x11/xorg/default.nix30
-rw-r--r--pkgs/servers/x11/xorg/extra.list4
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list6
-rw-r--r--pkgs/stdenv/generic/default.nix3
-rw-r--r--pkgs/stdenv/linux/default.nix294
-rw-r--r--pkgs/test/openftd/default.nix2
-rw-r--r--pkgs/tools/archivers/unrar/default.nix27
-rw-r--r--pkgs/tools/audio/gvolicon/default.nix4
-rw-r--r--pkgs/tools/audio/volumeicon/default.nix23
-rw-r--r--pkgs/tools/backup/httrack/default.nix5
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--pkgs/tools/compression/xz/default.nix3
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix13
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch13
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix6
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix4
-rw-r--r--pkgs/tools/graphics/qrencode/default.nix4
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix80
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/makefix.patch24
-rw-r--r--pkgs/tools/inputmethods/fcitx/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix24
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix74
-rw-r--r--pkgs/tools/misc/ised/default.nix11
-rw-r--r--pkgs/tools/misc/ised/default.upstream4
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix7
-rw-r--r--pkgs/tools/misc/memtest86/default.nix6
-rw-r--r--pkgs/tools/misc/pv/default.nix4
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix55
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix6
-rw-r--r--pkgs/tools/misc/sutils/default.nix4
-rw-r--r--pkgs/tools/misc/xdaliclock/default.nix13
-rw-r--r--pkgs/tools/misc/xdo/default.nix4
-rw-r--r--pkgs/tools/misc/xtitle/default.nix4
-rw-r--r--pkgs/tools/networking/atftp/default.nix57
-rw-r--r--pkgs/tools/networking/cjdns/default.nix16
-rw-r--r--pkgs/tools/networking/cjdns/makekey.patch64
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix24
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/fping/default.nix5
-rw-r--r--pkgs/tools/networking/getmail/default.nix9
-rw-r--r--pkgs/tools/networking/iftop/default.nix2
-rw-r--r--pkgs/tools/networking/openssh/default.nix5
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/builder.sh27
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/default.nix24
-rw-r--r--pkgs/tools/networking/s6-dns/default.nix53
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix63
-rw-r--r--pkgs/tools/networking/socat/2.x.nix2
-rw-r--r--pkgs/tools/networking/socat/default.nix2
-rw-r--r--pkgs/tools/networking/sproxy-web/default.nix1
-rw-r--r--pkgs/tools/networking/sshpass/default.nix18
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/tinc/pre.nix32
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix25
-rw-r--r--pkgs/tools/networking/wavemon/default.nix13
-rw-r--r--pkgs/tools/package-management/disnix/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix2
-rw-r--r--pkgs/tools/package-management/gem-nix/default.nix23
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/package-management/nox/default.nix2
-rw-r--r--pkgs/tools/security/aespipe/default.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix12
-rw-r--r--pkgs/tools/security/haveged/default.nix2
-rw-r--r--pkgs/tools/security/john/default.nix28
-rw-r--r--pkgs/tools/security/logkeys/default.nix27
-rw-r--r--pkgs/tools/security/sudo/default.nix9
-rw-r--r--pkgs/tools/system/at/default.nix16
-rw-r--r--pkgs/tools/system/freeipmi/default.nix9
-rw-r--r--pkgs/tools/system/ioping/default.nix12
-rw-r--r--pkgs/tools/system/ioping/default.upstream5
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix12
-rw-r--r--pkgs/tools/system/ipmiutil/default.upstream4
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix6
-rw-r--r--pkgs/tools/system/sleuthkit/default.upstream5
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/tools/text/dos2unix/default.nix6
-rw-r--r--pkgs/tools/text/highlight/default.nix15
-rw-r--r--pkgs/tools/text/numdiff/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdfjam/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix2
-rw-r--r--pkgs/top-level/all-packages.nix417
-rw-r--r--pkgs/top-level/haskell-packages.nix59
-rw-r--r--pkgs/top-level/node-packages-generated.nix13507
-rw-r--r--pkgs/top-level/node-packages.json1
-rw-r--r--pkgs/top-level/perl-packages.nix17
-rw-r--r--pkgs/top-level/python-packages.nix447
-rw-r--r--pkgs/top-level/release-lib.nix2
-rw-r--r--pkgs/top-level/release.nix75
530 files changed, 20353 insertions, 11016 deletions
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index fe4b43539d44..cb3ec1da97cf 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://xiph.org/flac/;
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
     platforms = platforms.all;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix
index e78095a9c5df..e0250055ccda 100644
--- a/pkgs/applications/audio/fldigi/default.nix
+++ b/pkgs/applications/audio/fldigi/default.nix
@@ -2,13 +2,13 @@
   libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "3.21.82";
+  version = "3.21.83";
   pname = "fldigi";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz";
-    sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs";
+    sha256 = "1fyg6dc6xnxb620rrhws60wj10lsgbwsmnhz8vc6ncspx8mx7019";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 19b61ebc76d4..de5ef0551254 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,5 +1,6 @@
 { pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
-  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }:
+  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "",
+  gnome3, hicolor_icon_theme }:
 
 with pkgs.lib;
 
@@ -7,14 +8,18 @@ let
   inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
 
 in buildPythonPackage rec {
-  name = "gpodder-3.7.0";
+  name = "gpodder-3.8.0";
 
   src = fetchurl {
     url = "http://gpodder.org/src/${name}.tar.gz";
-    sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47";
+    sha256 = "0731f08f4270c81872b841b55200ae80feb4502706397d0085079471fb9a8fe4";
   };
 
-  buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ];
+  buildInputs = [
+    coverage feedparser minimock sqlite3 mygpoclient intltool
+    gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    hicolor_icon_theme
+  ];
 
   propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
     ++ stdenv.lib.optional ipodSupport libgpod;
@@ -26,7 +31,30 @@ in buildPythonPackage rec {
   preFixup = ''
     wrapProgram $out/bin/gpodder \
       ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
-      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"}
+      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"} \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  # The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The
+  # easiest way to fix this is to call wrapPythonPrograms and then to clean up
+  # the wrapped file.
+  postFixup = ''
+    wrapPythonPrograms
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+
+    sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{
+        /import sys; sys.argv/d
+    }'
   '';
 
   installPhase = "DESTDIR=/ PREFIX=$out make install";
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index 5c6a1d6ac54e..9fbf05a2feb1 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -5,23 +5,23 @@
 
 stdenv.mkDerivation rec {
   name = "moc-${version}";
-  version = "2.5.0-beta2";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2";
-    sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c";
+    url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2";
+    sha256 = "14b0g9jn12jzxsf292g64dc6frlxv99kaagsasmc8xmg80iab7nj";
   };
 
-  configurePhase = "./configure prefix=$out";
-
   buildInputs = [
     ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis
     mpc libsndfile jack2 db libmodplug timidity libid3tag libtool
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An ncurses console audio player designed to be powerful and easy to use";
     homepage = http://moc.daper.net/;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 08aa7e017b21..d1c6ed6379a8 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
new file mode 100644
index 000000000000..a0bb87896582
--- /dev/null
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, makeWrapper, cmake, qt4, pkgconfig, alsaLib, portaudio, jack2, libsndfile}:
+
+stdenv.mkDerivation rec {
+  name = "musescore-1.3";
+
+  src = fetchurl {
+    url = "http://ftp.osuosl.org/pub/musescore/releases/MuseScore-1.3/mscore-1.3.tar.bz2";
+    sha256 = "a0b60cc892ac0266c58fc6392be72c0a21c3aa7fd0b6e4f1dddad1c8b36be683";
+  };
+
+  buildInputs = [ makeWrapper cmake qt4 pkgconfig alsaLib portaudio jack2 libsndfile ];
+
+  configurePhase = ''
+    cd mscore;
+    mkdir build;
+    cd build;
+    cmake -DCMAKE_INSTALL_PREFIX=$out -DQT_PLUGINS_DIR=$out/lib/qt4/plugins -DCMAKE_BUILD_TYPE=Release ..'';
+
+  preBuild = ''make lrelease;'';
+
+  postInstall = ''
+    wrapProgram $out/bin/mscore --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt-based score editor";
+    homepage = http://musescore.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.vandenoever ];
+    repositories.git = https://github.com/musescore/MuseScore;
+  };
+}
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index b32981ccb944..6073dc42c698 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -191,6 +191,23 @@ in {
           sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6";
         };
   };
+  
+   eclipse_cpp_44 = buildEclipse {
+    name = "eclipse-cpp-4.4";
+    description = "Eclipse IDE for C/C++ Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz;
+          md5 = "b0a6ee33e8108a7ff4682ab911271b04";
+        }
+      else
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk.tar.gz;
+          md5 = "5000f93cecf6ef9af112f0df6e8c87f3";
+        };
+  };
+
 
   eclipse_sdk_421 = buildEclipse {
     name = "eclipse-sdk-4.2.1";
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 0c764fcf8f86..bccd7754efbd 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -1,11 +1,14 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "ed-1.9";
+  name = "ed-1.10";
 
   src = fetchurl {
-    url = "mirror://gnu/ed/${name}.tar.gz";
-    sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym";
+    # gnu only provides *.lz tarball, which is unfriendly for stdenv bootstrapping
+    #url = "mirror://gnu/ed/${name}.tar.gz";
+    url = "http://pkgs.fedoraproject.org/repo/extras/ed/${name}.tar.bz2"
+      + "/38204d4c690a17a989e802ba01b45e98/${name}.tar.bz2";
+    sha256 = "16qvshl8470f3znjfrrci3lzllqkzc6disk5kygzsg9hh4f6wysq";
   };
 
   /* FIXME: Tests currently fail on Darwin:
diff --git a/pkgs/applications/editors/emacs-modes/dash/default.nix b/pkgs/applications/editors/emacs-modes/dash/default.nix
new file mode 100644
index 000000000000..aacc33c9b516
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/dash/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.5.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-dash-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/dash.el/archive/${version}.tar.gz";
+    sha256 = "0c6jknzy306vn22vqlabxkwxfnllrd33spymi74fkirbxaxvp8kp";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix
new file mode 100644
index 000000000000..d776103a6627
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/ensime/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }:
+
+stdenv.mkDerivation {
+  name = "emacs-ensime-2014-09-04";
+
+  src = fetchurl {
+    url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip";
+    sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5";
+  };
+
+  buildInputs = [ emacs unzip ];
+  propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ];
+
+  buildPhase = ''
+    emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
new file mode 100644
index 000000000000..5d92397d2954
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.3.8";
+
+in stdenv.mkDerivation {
+  name = "emacs-rainbow-delimiters-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
+    sha256 = "1xavygdnd9q80wqavxliks0w662mvn8v79qmg0kr494yfqc5hw6h";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/s/default.nix b/pkgs/applications/editors/emacs-modes/s/default.nix
new file mode 100644
index 000000000000..b818348939e8
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/s/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.9.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-s-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/s.el/archive/${version}.tar.gz";
+    sha256 = "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
index 13d3f4b00d1f..75861b0a9884 100644
--- a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
+++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
 
-  name = "scala-mode2-2014-06-05";
+  name = "scala-mode2-2014-07-01";
 
   src = fetchurl {
-    url = "https://github.com/hvesalai/scala-mode2/archive/af2dc30226c890ff7d49d727450f8006b90781df.zip";
-    sha256 = "1jj08li9lfg5291jzj170wa3cmyf3g2a0j80cy5307l0mdawp9vx";
+    url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip";
+    sha256 = "0fyxdpwz55n4c87v4ijqlbv6w1rybg5qrgsc40f6bs6sd747scy5";
   };
 
   buildInputs = [ unzip emacs ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index caa9523af6f6..c673ea672c7c 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -42,7 +42,9 @@ let
 
       mkdir -p $out/bin
 
-      jdk=${jdk}/lib/openjdk
+      [ -d ${jdk}/lib/openjdk ] \
+        && jdk=${jdk}/lib/openjdk \
+        || jdk=${jdk}
 
       makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \
         --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index 234ee1f065e4..b2ac66c1e083 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -30,6 +30,6 @@ in stdenv.mkDerivation {
     description = "SCIntilla based Text Editor";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.rszibele;
+    maintainers = [ stdenv.lib.maintainers.rszibele ];
   };
 }
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index 3ef557cef4b3..3bc815cc9548 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -56,7 +56,7 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "Sophisticated text editor for code, markup and prose";
-    maintainers = stdenv.lib.maintainers.wmertens;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
     license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/editors/vanubi/default.nix b/pkgs/applications/editors/vanubi/default.nix
new file mode 100644
index 000000000000..692a728b12e4
--- /dev/null
+++ b/pkgs/applications/editors/vanubi/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, vala, which, autoconf, automake
+, libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }:
+
+stdenv.mkDerivation rec {
+  name = "vanubi-${version}";
+  version = "0.0.14";
+
+  src = fetchurl {
+    url = "https://github.com/vanubi/vanubi/archive/v${version}.tar.gz";
+    sha256 = "0cd45zm54j6xz1a31qllg2w7l77sncv7mrpfx9bjzdiqpmzsdypl";
+  };
+
+  buildInputs = [ pkgconfig vala which autoconf automake
+                  libtool glib gtk3 libwnck3 asciidoc
+                  gnome3.gtksourceview gnome3.vte python3Packages.pygments ];
+
+  configureScript = "./autogen.sh";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://vanubi.github.io/vanubi;
+    description = "Programming editor for GTK+ inspired by Emacs";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 585a3a58d5f0..4673029ed000 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -1,19 +1,9 @@
-{ stdenv, buildEnv, fetchgit, xlibs, glib, gtk2, atk, pango, gdk_pixbuf,
-  cairo, freetype, fontconfig, nss, nspr, gnome, alsaLib, expat, dbus, udev,
-  makeWrapper, writeScript, fetchurl, zip, pkgs, node_webkit }:
+{ stdenv, buildEnv, fetchgit, makeWrapper, writeScript, fetchurl, zip, pkgs
+, node_webkit }:
 
 let
   name = "zed-${version}";
-  version = "0.12";
-
-  rpath_env = buildEnv {
-    name = "rpath_env";
-    paths = [ xlibs.libX11 xlibs.libXrender glib xlibs.libXtst gtk2 atk pango
-      gdk_pixbuf cairo freetype fontconfig xlibs.libXi xlibs.libXcomposite
-      nss nspr gnome.GConf xlibs.libXext xlibs.libXfixes alsaLib
-      xlibs.libXdamage expat dbus stdenv.gcc ];
-    pathsToLink = [ "/lib" "/lib64" ];
-  };
+  version = "0.13";
 
   # When upgrading node.nix / node packages:
   #   fetch package.json from Zed's repository
@@ -29,8 +19,10 @@ let
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages.tar nodePackages.request ];
+    paths = [ nodePackages."body-parser" nodePackages.express
+      nodePackages.request nodePackages.tar nodePackages.ws ];
     pathsToLink = [ "/lib" ];
+    ignoreCollisions = true;
   };
 
   zed = stdenv.mkDerivation rec {
@@ -39,7 +31,7 @@ let
     src = fetchgit {
         url = "git://github.com/zedapp/zed";
         rev = "refs/tags/v${version}";
-        sha256 = "1l1adj4p916km626vxg1lv0bapzay4z5nq005pxsbjbcycrhds59";
+        sha256 = "023nq4y6dgh57xpsgawdn2zqvfyhjz1p00ldnsfsjajyy4nn6yb1";
       };
 
     buildInputs = [ makeWrapper zip ];
@@ -62,14 +54,7 @@ let
     '';
 
     postFixup = ''
-      patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/zed/zed-bin
-      patchelf --set-rpath "${rpath_env}/lib:${rpath_env}/lib64" $out/zed/zed-bin
-
-      mkdir -p $out/lib
-      ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
-
       wrapProgram $out/zed/zed-bin \
-        --prefix LD_LIBRARY_PATH : $out/lib \
         --prefix NODE_PATH : ${node_env}/lib/node_modules
     '';
   };
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index b4a7cec4269c..f2c08fde0cd4 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,6 +1,27 @@
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.0";
+  by-version."accepts"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-accepts-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz";
+        name = "accepts-1.1.0.tgz";
+        sha1 = "43ba6d946374c80f91823eaec6bb43dc4955500b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."accepts" or []);
+    deps = [
+      self.by-version."mime-types"."2.0.1"
+      self.by-version."negotiator"."0.4.7"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "accepts" ];
+  };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
@@ -97,6 +118,34 @@
     ];
     passthru.names = [ "block-stream" ];
   };
+  by-spec."body-parser"."^1.6.3" =
+    self.by-version."body-parser"."1.8.1";
+  by-version."body-parser"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-body-parser-1.8.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.1.tgz";
+        name = "body-parser-1.8.1.tgz";
+        sha1 = "f9f96d221c435c95d18aeaad2bcdea1371902aad";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."body-parser" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."iconv-lite"."0.4.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."qs"."2.2.3"
+      self.by-version."raw-body"."1.3.0"
+      self.by-version."type-is"."1.5.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "body-parser" ];
+  };
+  "body-parser" = self.by-version."body-parser"."1.8.1";
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
@@ -117,6 +166,46 @@
     ];
     passthru.names = [ "boom" ];
   };
+  by-spec."buffer-crc32"."0.2.3" =
+    self.by-version."buffer-crc32"."0.2.3";
+  by-version."buffer-crc32"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffer-crc32-0.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        name = "buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-crc32" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer-crc32" ];
+  };
+  by-spec."bytes"."1" =
+    self.by-version."bytes"."1.0.0";
+  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        name = "bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."1.0.0" =
+    self.by-version."bytes"."1.0.0";
   by-spec."combined-stream"."~0.0.4" =
     self.by-version."combined-stream"."0.0.5";
   by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -137,6 +226,63 @@
     ];
     passthru.names = [ "combined-stream" ];
   };
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        name = "commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -176,6 +322,26 @@
     ];
     passthru.names = [ "ctype" ];
   };
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-2.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = [
+      self.by-version."ms"."0.6.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
   by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -195,6 +361,167 @@
     ];
     passthru.names = [ "delayed-stream" ];
   };
+  by-spec."depd"."0.4.4" =
+    self.by-version."depd"."0.4.4";
+  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-depd-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        name = "depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-destroy-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        name = "destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."destroy" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "destroy" ];
+  };
+  by-spec."ee-first"."1.0.5" =
+    self.by-version."ee-first"."1.0.5";
+  by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ee-first-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        name = "ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ee-first" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ee-first" ];
+  };
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escape-html-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        name = "escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escape-html" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escape-html" ];
+  };
+  by-spec."etag"."~1.3.0" =
+    self.by-version."etag"."1.3.0";
+  by-version."etag"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-etag-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/etag/-/etag-1.3.0.tgz";
+        name = "etag-1.3.0.tgz";
+        sha1 = "c837debfbfe0baf7eb8e2f0bbb3d1d9cc3229697";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."etag" or []);
+    deps = [
+      self.by-version."buffer-crc32"."0.2.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "etag" ];
+  };
+  by-spec."express"."^4.8.3" =
+    self.by-version."express"."4.9.0";
+  by-version."express"."4.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-4.9.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express/-/express-4.9.0.tgz";
+        name = "express-4.9.0.tgz";
+        sha1 = "9b2ea4ebce57c7ac710604c74f6c303ab344a7f3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express" or []);
+    deps = [
+      self.by-version."accepts"."1.1.0"
+      self.by-version."buffer-crc32"."0.2.3"
+      self.by-version."cookie-signature"."1.0.5"
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.3.0"
+      self.by-version."finalhandler"."0.2.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."methods"."1.1.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."path-to-regexp"."0.1.3"
+      self.by-version."proxy-addr"."1.0.1"
+      self.by-version."qs"."2.2.3"
+      self.by-version."range-parser"."1.0.2"
+      self.by-version."send"."0.9.1"
+      self.by-version."serve-static"."1.6.1"
+      self.by-version."type-is"."1.5.1"
+      self.by-version."vary"."1.0.0"
+      self.by-version."cookie"."0.1.2"
+      self.by-version."merge-descriptors"."0.0.2"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "express" ];
+  };
+  "express" = self.by-version."express"."4.9.0";
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-finalhandler-0.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+        name = "finalhandler-0.2.0.tgz";
+        sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."finalhandler" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."escape-html"."1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "finalhandler" ];
+  };
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
   by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
@@ -236,15 +563,34 @@
     ];
     passthru.names = [ "form-data" ];
   };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+        name = "fresh-0.2.4.tgz";
+        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
   by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.29";
-  by-version."fstream"."0.1.29" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.29";
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.29.tgz";
-        name = "fstream-0.1.29.tgz";
-        sha1 = "34d04023ebc91a9df47bd31ab97e4704b4db413f";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
       })
     ];
     buildInputs =
@@ -252,7 +598,7 @@
     deps = [
       self.by-version."graceful-fs"."3.0.2"
       self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mkdirp"."0.5.0"
       self.by-version."rimraf"."2.2.8"
     ];
     peerDependencies = [
@@ -342,6 +688,25 @@
     ];
     passthru.names = [ "http-signature" ];
   };
+  by-spec."iconv-lite"."0.4.4" =
+    self.by-version."iconv-lite"."0.4.4";
+  by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-iconv-lite-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        name = "iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."iconv-lite" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "iconv-lite" ];
+  };
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -363,6 +728,25 @@
   };
   by-spec."inherits"."~2.0.0" =
     self.by-version."inherits"."2.0.1";
+  by-spec."ipaddr.js"."0.1.2" =
+    self.by-version."ipaddr.js"."0.1.2";
+  by-version."ipaddr.js"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ipaddr.js-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        name = "ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ipaddr.js" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ipaddr.js" ];
+  };
   by-spec."json-stringify-safe"."~5.0.0" =
     self.by-version."json-stringify-safe"."5.0.0";
   by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -382,7 +766,64 @@
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  by-spec."mime"."~1.2.11" =
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-media-typer-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        name = "media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."media-typer" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "media-typer" ];
+  };
+  by-spec."merge-descriptors"."0.0.2" =
+    self.by-version."merge-descriptors"."0.0.2";
+  by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-merge-descriptors-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        name = "merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."merge-descriptors" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "merge-descriptors" ];
+  };
+  by-spec."methods"."1.1.0" =
+    self.by-version."methods"."1.1.0";
+  by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-methods-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        name = "methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."1.2.11" =
     self.by-version."mime"."1.2.11";
   by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "node-mime-1.2.11";
@@ -401,27 +842,147 @@
     ];
     passthru.names = [ "mime" ];
   };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mkdirp"."0.3" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
+  by-spec."mime-db"."~1.0.1" =
+    self.by-version."mime-db"."1.0.1";
+  by-version."mime-db"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-db-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        name = "mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz";
+        name = "mime-db-1.0.1.tgz";
+        sha1 = "35d99b0965967253bb30633a7d07a8de9975a952";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-db" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-db" ];
+  };
+  by-spec."mime-types"."~2.0.0" =
+    self.by-version."mime-types"."2.0.1";
+  by-version."mime-types"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-types-2.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz";
+        name = "mime-types-2.0.1.tgz";
+        sha1 = "7f5b4712592e7dd46ca733fd1c5f5d71356de615";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = [
+      self.by-version."mime-db"."1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.1";
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimist-0.0.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."mkdirp"."0.5" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        name = "mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
       })
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
     deps = [
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ms-0.6.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."nan"."~1.0.0" =
+    self.by-version."nan"."1.0.0";
+  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        name = "nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nan" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "nan" ];
+  };
+  by-spec."negotiator"."0.4.7" =
+    self.by-version."negotiator"."0.4.7";
+  by-version."negotiator"."0.4.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.4.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        name = "negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
   by-spec."node-uuid"."~1.4.0" =
     self.by-version."node-uuid"."1.4.1";
   by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -460,15 +1021,114 @@
     ];
     passthru.names = [ "oauth-sign" ];
   };
+  by-spec."on-finished"."2.1.0" =
+    self.by-version."on-finished"."2.1.0";
+  by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-on-finished-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        name = "on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."on-finished" or []);
+    deps = [
+      self.by-version."ee-first"."1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "on-finished" ];
+  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.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 = "node-options-0.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
+        name = "options-0.0.5.tgz";
+        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."options" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "options" ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-parseurl-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+        name = "parseurl-1.3.0.tgz";
+        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."parseurl" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "parseurl" ];
+  };
+  by-spec."path-to-regexp"."0.1.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-to-regexp-0.1.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        name = "path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."path-to-regexp" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "path-to-regexp" ];
+  };
+  by-spec."proxy-addr"."1.0.1" =
+    self.by-version."proxy-addr"."1.0.1";
+  by-version."proxy-addr"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-proxy-addr-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        name = "proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."proxy-addr" or []);
+    deps = [
+      self.by-version."ipaddr.js"."0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "proxy-addr" ];
+  };
   by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.0";
-  by-version."punycode"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.0";
+    self.by-version."punycode"."1.3.1";
+  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.0.tgz";
-        name = "punycode-1.3.0.tgz";
-        sha1 = "7f5009ef539b9444be5c7a19abd2c3ca49e1731c";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+        name = "punycode-1.3.1.tgz";
+        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
       })
     ];
     buildInputs =
@@ -479,6 +1139,25 @@
     ];
     passthru.names = [ "punycode" ];
   };
+  by-spec."qs"."2.2.3" =
+    self.by-version."qs"."2.2.3";
+  by-version."qs"."2.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-2.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
+        name = "qs-2.2.3.tgz";
+        sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
   by-spec."qs"."~0.6.0" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
@@ -498,6 +1177,48 @@
     ];
     passthru.names = [ "qs" ];
   };
+  by-spec."range-parser"."~1.0.0" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-range-parser-1.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+        name = "range-parser-1.0.2.tgz";
+        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-spec."raw-body"."1.3.0" =
+    self.by-version."raw-body"."1.3.0";
+  by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        name = "raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."raw-body" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."iconv-lite"."0.4.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "raw-body" ];
+  };
   by-spec."request"."~2.34.0" =
     self.by-version."request"."2.34.0";
   by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
@@ -549,6 +1270,58 @@
     ];
     passthru.names = [ "rimraf" ];
   };
+  by-spec."send"."0.9.1" =
+    self.by-version."send"."0.9.1";
+  by-version."send"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.9.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/send/-/send-0.9.1.tgz";
+        name = "send-0.9.1.tgz";
+        sha1 = "d93689f7c9ce36bd32f8ee572bb60bda032edc23";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."send" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."destroy"."1.0.3"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.3.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."ms"."0.6.2"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."range-parser"."1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "send" ];
+  };
+  by-spec."serve-static"."~1.6.1" =
+    self.by-version."serve-static"."1.6.1";
+  by-version."serve-static"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz";
+        name = "serve-static-1.6.1.tgz";
+        sha1 = "2f257563afbe931d28cee4aa3dfeddc975a87193";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."serve-static" or []);
+    deps = [
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."send"."0.9.1"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "serve-static" ];
+  };
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
@@ -584,7 +1357,7 @@
       (self.nativeDeps."tar" or []);
     deps = [
       self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.29"
+      self.by-version."fstream"."0.1.31"
       self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
@@ -592,6 +1365,25 @@
     passthru.names = [ "tar" ];
   };
   "tar" = self.by-version."tar"."0.1.20";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tinycolor-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        name = "tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tinycolor" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tinycolor" ];
+  };
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
   by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
@@ -606,7 +1398,7 @@
     buildInputs =
       (self.nativeDeps."tough-cookie" or []);
     deps = [
-      self.by-version."punycode"."1.3.0"
+      self.by-version."punycode"."1.3.1"
     ];
     peerDependencies = [
     ];
@@ -631,4 +1423,87 @@
     ];
     passthru.names = [ "tunnel-agent" ];
   };
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.1";
+  by-version."type-is"."1.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-is-1.5.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz";
+        name = "type-is-1.5.1.tgz";
+        sha1 = "5c1e62d874f79199fb16b34d16972dba376ccbed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."type-is" or []);
+    deps = [
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."mime-types"."2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "type-is" ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utils-merge-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."utils-merge" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "utils-merge" ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.0";
+  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vary-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+        name = "vary-1.0.0.tgz";
+        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."vary" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vary" ];
+  };
+  by-spec."ws"."~0.4.32" =
+    self.by-version."ws"."0.4.32";
+  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
+    name = "ws-0.4.32";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+        name = "ws-0.4.32.tgz";
+        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ws" or []);
+    deps = [
+      self.by-version."commander"."2.1.0"
+      self.by-version."nan"."1.0.0"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ws" ];
+  };
+  "ws" = self.by-version."ws"."0.4.32";
 }
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 32d30cd47450..48839246600d 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }:
+{ fetchurl, stdenv, pkgconfig, ncurses, boehmgc, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.4.9";
+  name = "zile-2.4.11";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7";
+    sha256 = "1k593y1xzvlj52q0gyhcx2lllws4sg84b8r9pcginjb1vjypplhz";
   };
 
-  buildInputs = [ ncurses boehmgc ];
+  buildInputs = [ pkgconfig ncurses boehmgc ];
   nativeBuildInputs = [ help2man perl ];
 
   # `help2man' wants to run Zile, which fails when cross-compiling.
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro.
   preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Lightweight Emacs clone";
 
     longDescription = ''
@@ -45,8 +45,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/zile/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
+    maintainers = with maintainers; [ pSub ];
+
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix
new file mode 100644
index 000000000000..21caf8f80028
--- /dev/null
+++ b/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, kdelibs, automoc4, boost, pkgconfig, graphviz, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "kgraphviewer-${version}";
+  version = "2.1.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/kgraphviewer/${version}/src/${name}.tar.xz";
+    sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs";
+  };
+
+  buildInputs = [ kdelibs automoc4 boost pkgconfig graphviz gettext ];
+
+  meta = with stdenv.lib; {
+    description = "A Graphviz dot graph viewer for KDE";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
+
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 8e5204ac6382..9ca90d2f5df3 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libjpeg, libpng, libtiff, perl }:
 
 stdenv.mkDerivation rec {
-  name = "libpano13-2.9.18";
+  name = "libpano13-2.9.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/panotools/${name}.tar.gz";
-    sha256 = "0wm1r9waa47n482yrl3hnphicdahr581rahgbklk0d2wy51lwpfy";
+    sha256 = "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3";
   };
 
   buildInputs = [ perl libjpeg libpng libtiff ];
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
index 156966ac46c1..12816ba96af4 100644
--- a/pkgs/applications/graphics/photivo/default.nix
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 7d0595134e99..ecce0e260bb2 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm }:
+{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm, which }:
 
 stdenv.mkDerivation rec {
   name = "processing-${version}";
@@ -12,20 +12,21 @@ stdenv.mkDerivation rec {
   # Stop it trying to download its own version of java
   patches = [ ./use-nixpkgs-jre.patch ];
 
-  buildInputs = [ ant jre makeWrapper libXxf86vm ];
+  buildInputs = [ ant jre makeWrapper libXxf86vm which ];
 
   buildPhase = "cd build && ant build";
 
   installPhase = ''
+    mkdir -p $out/${name}
     mkdir -p $out/bin
-    cp -r linux/work/* $out/
-    sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing
-    sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing-java
-    mv $out/processing{,-java} $out/bin/
-    wrapProgram $out/bin/processing --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    wrapProgram $out/bin/processing-java --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    mkdir $out/java
-    ln -s ${jre}/bin $out/java/
+   cp -r linux/work/* $out/${name}/
+   makeWrapper $out/${name}/processing $out/bin/processing \
+     --prefix PATH : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   makeWrapper $out/${name}/processing-java $out/bin/processing-java \
+     --prefix PATH : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   ln -s ${jre} $out/${name}/java
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix
index 796cedc1ee2c..2643094e2f16 100644
--- a/pkgs/applications/misc/bitcoin/altcoins.nix
+++ b/pkgs/applications/misc/bitcoin/altcoins.nix
@@ -80,51 +80,4 @@ in rec {
     };
   };
 
-  dogecoin = (buildAltcoin rec {
-    walletName = "dogecoin";
-    version = "1.8.0";
-
-    src = fetchurl {
-      url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
-      sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
-    };
-
-    extraBuildInputs = [ autogen autoconf automake pkgconfig db utillinux protobuf ];
-
-    meta = {
-      description = "Wow, such coin, much shiba, very rich";
-      longDescription = "wow";
-      homepage = http://www.dogecoin.com/;
-      maintainers = [ maintainers.offline maintainers.edwtjo ];
-    };
-  }).override rec {
-    patchPhase = ''
-      sed -i \
-        -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
-        -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
-        -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
-        src/m4/dogecoin_find_bdb51.m4
-    '';
-    dogeConfigure = ''
-      ./autogen.sh \
-      && ./configure --prefix=$out \
-                     --with-incompatible-bdb \
-                     --with-boost-libdir=${boost}/lib \
-    '';
-    dogeInstall = ''
-      install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
-      install -D "src/dogecoind" "$out/bin/dogecoind"
-    '';
-    configurePhase = dogeConfigure + "--with-gui";
-    installPhase = dogeInstall + "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt";
-  };
-
-  dogecoind = dogecoin.override rec {
-    gui = false;
-    makefile = "Makefile";
-    preBuild = "";
-    configurePhase = dogecoin.dogeConfigure + "--without-gui";
-    installPhase = dogecoin.dogeInstall;
-  };
-
 }
diff --git a/pkgs/applications/misc/bitcoin/dogecoin.nix b/pkgs/applications/misc/bitcoin/dogecoin.nix
new file mode 100644
index 000000000000..7ace3c161c7b
--- /dev/null
+++ b/pkgs/applications/misc/bitcoin/dogecoin.nix
@@ -0,0 +1,71 @@
+{ fetchurl, stdenv, pkgconfig
+, openssl, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
+, utillinux, autogen, autoconf, autobuild, automake, db }:
+
+with stdenv.lib;
+
+let
+
+  mkAutotoolCoin =
+  { name, version, withGui, src, meta }:
+
+  stdenv.mkDerivation {
+    inherit src meta;
+
+    name = name + (toString (optional (!withGui) "d")) + "-" + version;
+
+    buildInputs = [ autogen autoconf automake pkgconfig openssl
+                    boost zlib miniupnpc db utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+    patchPhase = ''
+      sed -i \
+        -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
+        -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
+        -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
+        src/m4/dogecoin_find_bdb51.m4
+    '';
+
+    configurePhase = ''
+      ./autogen.sh \
+      && ./configure --prefix=$out \
+                     --with-incompatible-bdb \
+                     --with-boost-libdir=${boost}/lib \
+                     ${ if withGui then "--with-gui" else "" }
+    '';
+
+    installPhase = ''
+      install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
+      install -D "src/dogecoind" "$out/bin/dogecoind"
+      ${ if withGui then "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt" else "" }
+    '';
+
+  };
+
+  mkDogeCoin = { withGui }:
+
+  mkAutotoolCoin rec {
+    name = "dogecoin";
+    version = "1.8.0";
+    inherit withGui;
+
+    src = fetchurl {
+      url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
+      sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
+    };
+
+    meta = {
+      description = "Wow, such coin, much shiba, very rich";
+      longDescription = "wow";
+      homepage = http://www.dogecoin.com/;
+      license = licenses.mit;
+      maintainers = with maintainers; [ edwtjo offline ];
+    };
+  };
+
+in {
+
+  dogecoin = mkDogeCoin { withGui = true; };
+  dogecoind = mkDogeCoin { withGui = false; };
+
+}
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 00a5d15a84c9..1426fb8e3d71 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-2.1.0";
+  name = "calibre-2.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7";
+    sha256 = "13ny8d569hl7yv8m89216fmg0qdqqy6l9vgzf3cmbbb8i3l1lpxf";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 937025c08403..5c12ebcbfeba 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }:
+{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
 let
     py = python27Packages;
+    version = "14.07";
 in
 stdenv.mkDerivation rec {
   name = "cura";
 
-  src = fetchgit {
-    url = "https://github.com/daid/Cura";
-    rev = "58414695269d60ca9b165e8cbc3424933ed79403";
-    sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23";
-    fetchSubmodules = false;
+  src = fetchurl {
+    url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
+    sha256 = "1jfgkb2qh1syakcssk66yhnfjm9p9qcx48v34bbza9nryrdlmxdb";
   };
 
   desktopItem = makeDesktopItem {
@@ -67,5 +66,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/daid/Cura;
     license = licenses.agpl3;
     platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 256d337f679e..e004b7db336c 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchurl }:
+let
+  version = "14.03";
+in
 stdenv.mkDerivation {
-    name = "curaengine";
+  name = "curaengine";
 
-    src = fetchgit {
-        url = "https://github.com/Ultimaker/CuraEngine";
-        rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0";
-        sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr";
-    };
+  src = fetchurl {
+    url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz";
+    sha256 = "0f37jk6w3zd9x29c1rydqmfdzybx9nbmwdi3y3nzynq1vq7zmxcc";
+  };
 
-    installPhase = ''
-        mkdir -p $out/bin
-        cp CuraEngine $out/bin/
-    '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp CuraEngine $out/bin/
+  '';
 
-    meta = with stdenv.lib; {
-        description = "Engine for processing 3D models into 3D printing instructions";
-        homepage = https://github.com/Ultimaker/CuraEngine;
-        license = licenses.agpl3;
-        platforms = platforms.linux;
-    };
+  meta = with stdenv.lib; {
+    description = "Engine for processing 3D models into 3D printing instructions";
+    homepage = https://github.com/Ultimaker/CuraEngine;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
 }
diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix
new file mode 100644
index 000000000000..685c0ecb4ede
--- /dev/null
+++ b/pkgs/applications/misc/fme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext
+, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }:
+
+stdenv.mkDerivation rec{
+
+  name = "fme-${version}";
+  version = "1.1.3";
+  
+  src = fetchurl {
+    url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz";
+    sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d";
+  };
+
+  buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm glibmm libglademm libsigcxx ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Editor for Fluxbox menus";
+    longDescription = ''
+      Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++
+      with the libraries Gtkmm, Glibmm, libglademm and gettext for internationalization.
+      Its user-friendly interface will help you to edit, delete, move (Drag and Drop)
+      a row, a submenu, etc very easily.
+    '';
+    homepage = https://github.com/rdehouss/fme/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix
index 010f75a575e6..5dcee439ef91 100644
--- a/pkgs/applications/misc/galculator/default.nix
+++ b/pkgs/applications/misc/galculator/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl
-, intltool, pkgconfig, gtk
- }:
+, intltool, pkgconfig, gtk }:
 
 stdenv.mkDerivation rec {
   
@@ -14,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ intltool pkgconfig gtk ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK 2/3 algebraic and RPN calculator";
     longDescription = ''
       galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
@@ -29,7 +28,8 @@ stdenv.mkDerivation rec {
       - Quad-precision floating point arithmetic, and 112-bit binary arithmetic
     '';
     homepage = http://galculator.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 1a0dea586d0e..19455f972a55 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.3";
+  version = "3.7.5";
 
   src = fetchurl {
     url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w";
+    sha256 = "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 06565065ce54..b220c9127de6 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
 , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
+, transcode, cdrdao, dvdplusrwtools, vcdimager
 , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null
 }:
 
@@ -20,6 +21,11 @@ stdenv.mkDerivation rec {
     ];
 
   enableParallelBuilding = true;
+
+  # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format,
+  # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild,
+  # vcdxminfo, and vcdxrip
+  propagatedUserEnvPkgs = [ transcode dvdplusrwtools cdrdao vcdimager ];
                   
   meta = with stdenv.lib; {
     description = "CD/DVD Burning Application for KDE";
diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix
index 1a79af7cb577..c39c72398f7b 100644
--- a/pkgs/applications/misc/keepassx/2.0.nix
+++ b/pkgs/applications/misc/keepassx/2.0.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }:
 
 stdenv.mkDerivation {
-  name = "keepassx2-2.0alpha5";
+  name = "keepassx2-2.0alpha6";
   src = fetchurl {
-    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz";
-    sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm";
+    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha6.tar.gz";
+    sha256 = "592f9995b13c4f84724fb24a0078162246397eedccd467daaf0fd3608151f2b0";
   };
 
   buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ];
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index c87b6a8bc0a1..2fe07d8c5dd0 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
     --enable-safe-mode
   '';
 
-    meta = {
+  meta = with stdenv.lib; {
     description = "A fast, lightweight terminal emulator";
     longDescription = ''
-    LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
+      LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
     '';
     homepage = http://lilyterm.luna.com.tw/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix
new file mode 100644
index 000000000000..b1bd401b2eb4
--- /dev/null
+++ b/pkgs/applications/misc/namecoin/default.nix
@@ -0,0 +1,37 @@
+{ fetchgit, stdenv, db4, boost, openssl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.75";
+  name = "namecoin-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/namecoin/namecoin";
+    rev = "31ea638d4ba7f0a3011cb25483f4c7d293134c7a";
+    sha256 = "c14a5663cba675b3508937a26a812316559938fd7b64659dd00749a9f5d7e9e0";
+  };
+
+  # Don't build with miniupnpc due to namecoin using a different verison that
+  # ships with NixOS and it is API incompatible.
+  buildInputs = [ db4 boost openssl unzip ];
+
+  patchPhase = ''
+    sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
+  '';
+
+  buildPhase = ''
+    make -C src INCLUDEPATHS= LIBPATHS=
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/namecoind $out/bin
+  '';
+
+  meta = {
+    description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+    homepage = "http://namecoin.info";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.doublec ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix
new file mode 100644
index 000000000000..447a2b42b6b3
--- /dev/null
+++ b/pkgs/applications/misc/namecoin/qt.nix
@@ -0,0 +1,33 @@
+{ fetchgit, stdenv, db4, boost, openssl, qt4, unzip, namecoin }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.75";
+  name = "namecoin-qt-${version}";
+
+  src = namecoin.src;
+
+  # Don't build with miniupnpc due to namecoin using a different verison that
+  # ships with NixOS and it is API incompatible.
+  buildInputs = [ db4 boost openssl unzip qt4 ];
+
+  configurePhase = ''
+    qmake USE_UPNP=-
+  '';
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp namecoin-qt $out/bin
+  '';
+
+  meta = {
+    description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+    homepage = "http://namecoin.info";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.doublec ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index d4ffe2a4afd7..ec96ed76ce4e 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Show the set of running processes as a tree";
     license = "GPL";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index abf55aa22b97..8ee006c5d7f1 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
       temperature to allow your eyes to slowly adapt.
       '';
     license = stdenv.lib.licenses.gpl3Plus;
-    homepage = "http://jonls.dk/redshift";
+    homepage = http://jonls.dk/redshift;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   }; 
 }
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 7392123673ad..b0334dcd7ce9 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 })
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 7dbe723d9eb2..6f1ced9097e9 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 let
-  version = "0.9.4";
+  version = "0.9.2";
 
 in stdenv.mkDerivation rec {
   name = "spacefm-${version}";
 
   src = fetchurl {
     url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
-    sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m";
+    sha256 = "3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c";
   };
 
   buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ];
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 8d914c262212..df4c0ea97ebd 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -6,11 +6,11 @@ assert stdenv.isLinux -> cryptopp != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "synergy-1.5.0";
+  name = "synergy-1.5.1";
 
   src = fetchurl {
-    url = "http://synergy-project.org/files/packages/synergy-1.5.0-r2278-Source.tar.gz";
-    sha256 = "097hk9v01lwzs7ly6ynadxmjh7ad68l5si7w4qmjn6z7l8b61gv6";
+    url = "http://synergy-project.org/files/packages/${name}-r2398-Source.tar.gz";
+    sha256 = "19q8ck15f0jgpbzlm34dzp046wf3iiwa21s1qfyj5sj7xjxwa367";
   };
 
   patches = optional stdenv.isLinux ./cryptopp.patch;
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
index 50c4184c91e9..bfaca1731fc0 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 , autoreconfHook, gettext, expat
 , confuse, vte, gtk
-, makeWrapper
-}:
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
 
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index c23be51c3e80..f53d3012b1e6 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     qmake PREFIX="$out"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A mind-mapping software";
     longDescription = ''
       VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
       vym offers much more features to work with such maps.
     '';
     homepage = http://www.insilmaril.de/vym/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainer = stdenv.lib.maintainers.AndersonTorres;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainer = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
new file mode 100644
index 000000000000..8dcef600f959
--- /dev/null
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -0,0 +1,57 @@
+{stdenv, fetchurl, pkgconfig
+, python
+, intltool
+, docbook2x, docbook_xml_dtd_412, libxslt
+, sword, clucene_core
+, gnome_doc_utils
+, libgsf, gconf
+, gtkhtml, libgtkhtml, libglade, scrollkeeper
+, webkitgtk
+, dbus_glib, enchant, isocodes, libuuid }:
+
+stdenv.mkDerivation rec {
+  name = "xiphos-${version}";  
+  version = "3.2.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gnomesword/Xiphos/${version}/${name}.tar.gz";
+    sha256 = "0xff31f89as1p7fn3vq8ishjhbmx6qhc25msh5ypa0zg8hm5dxbb";
+  };
+
+  buildInputs = [ pkgconfig python intltool docbook2x docbook_xml_dtd_412 libxslt sword clucene_core gnome_doc_utils libgsf gconf gtkhtml libgtkhtml libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid ];
+
+  prePatch = ''
+    patchShebangs .;
+  '';
+
+  preConfigure =  ''
+    export CLUCENE_HOME=${clucene_core};
+    export SWORD_HOME=${sword};
+  '';
+  
+  configurePhase = ''
+    python waf configure --prefix=$out    
+  '';
+  
+  buildPhase = ''
+    python waf build
+  '';
+
+  installPhase = ''
+    python waf install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A GTK Bible study tool";
+    longDescription = ''
+    Xiphos (formerly known as GnomeSword) is a Bible study tool
+    written for Linux, UNIX, and Windows using GTK, offering a rich
+    and featureful environment for reading, study, and research using
+    modules from The SWORD Project and elsewhere.
+    '';
+    homepage = http://www.xiphos.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix
index 0cf23f38b0f0..c6c862638889 100644
--- a/pkgs/applications/networking/browsers/dillo/default.nix
+++ b/pkgs/applications/networking/browsers/dillo/default.nix
@@ -3,8 +3,7 @@
 , openssl
 , libjpeg, libpng
 , perl
-, libXcursor, libXi, libXinerama
-}:
+, libXcursor, libXi, libXinerama }:
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -22,10 +21,13 @@ stdenv.mkDerivation rec {
 
   configureFlags =  "--enable-ssl";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.dillo.org/;
     description = "A fast graphical web browser with a small footprint";
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    longDescription = ''
+      Dillo is a small, fast web browser, tailored for older machines.
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56ba95c661f5..f24f44c1719f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -40,186 +40,188 @@
 assert stdenv.isLinux;
 
 let
-  version = "31.0";
+  version = "32.0";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; }
-    { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; }
-    { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; }
-    { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; }
-    { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; }
-    { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; }
-    { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; }
+    { locale = "ach"; arch = "linux-i686"; sha256 = "cef5938e567e6dc4d0460c1eb3f770d2acfa045d98186f6a490ad53b3c69d302"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "bd5427dfd1d11f8a9a8d4803608453fdb11a7d304aed618f26b3fd6667a0d131"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "48e97eb3c65b381b8fe579d9a3cb4e4f28f06137043be1a54288f3e85c1f8312"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "fea64b289b3ee69ec0efa55b0d57998485125bf000c78e1c4567be5b40e1ac34"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "022110d1b31f51f5e9aedb2eac01159fd7c14e9c787530c246ba907e68317d0d"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "418f9b1061950b93ff8a2889a47ebd65c792a221510eb15ec6e0d67c73fa4da0"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "228739f558428aa97364da3869ab28e68499e103bac0af7c391f1ee66be97754"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "44255bbfed7a804a205846a2c634a0ec4868a05f58a9ce0350ac3d2ce147f500"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "0a40d888a10b2be8b76ddab70e32a534a3e95a029aac4c8945bb71b4a6e63d3d"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "a55a81da699c51b3bb422ba0942d548373d2a207c6e8eb0d7abde50dca6dc57f"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "61826f0098f2535a1019eb1c7e21fb8971f66fa1d39bf773a130e96cfa99897a"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4b84870ecb220189ab59e837f74a2195a38265226dce5542841187d35dbd18dd"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "40029f2cdcb4964a43193456f436c3a9428face17ed3ef4b655e3f1bc47c217c"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "7490f9815dac528c32d0254c9f5e7834e4af6b4e61d6618d235481b0e086906a"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "320e9f8c338d180cd90390b3dbf38b2ed17ab9606ac13c79d64ae114e72653a1"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "921ef8a9beb4469d5faba09e6786415dce37030a4c24f6057ec5fbe301113dd4"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "69833779015e09952825d0fdc6fb9283379c9b9a26d7bad4a12bb29bb74c277c"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "de3f0efafc6b838e90d550287d574f9fa26c9b2690fa1fc48b766b9d478fc1b9"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "aff667e3277bf61f3b117ebd13a3ce469e9bf6ba58b7dd736d8913b234c4a4a4"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "c446d8a57a1542eb2aefd4a0b5304917dde8446c94c11d8f80110ff881878bb2"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "5f05c4bb347f5150c5685e7308aee338b6d92b8cac204e7afb326d2c44ff8dd8"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "6dfa3436ddcf6f47e7d40846b09ad4c7555aae40f25f5380b30a0776d0368d37"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "7df19221c455bfe29e9a8eb6f48088e37be5a493319c46e45b48a72ebbac1df2"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "aaa2c0f3eb430337e865732c0bbf3d5efe72869954607f5560c8925bd736cfba"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "9c725ba77e778144e31b907b2b4cdd4f045dc6ce12bedd9bbb92a98224a44327"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "30a27b9558bcc7f7c03f4a204e20aabc9b1d4fd5240a93fe14e02f95ba4f34e8"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "491b7114f686235233e3ceb2c7db47d8bef426bd1578545f5d1cd001b15afb71"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "098596de29865bac4dcb642d8da801b7707fafbc60f25e5c1803ed8aaaa77d50"; }
+    { locale = "csb"; arch = "linux-i686"; sha256 = "a53579fc73f5bf4811ab608320b0d889406be9b655574fbaef2aa8db7478e023"; }
+    { locale = "csb"; arch = "linux-x86_64"; sha256 = "903bb549115252d2850ab7cbca9d46890cb8ee5f40ac7b8740fc3d81a1225c68"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "0f3db887046a8f5b597eca5d943a9eed295f8ca7b8831f8c27ec6c833c63b2b4"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "ab680b6ef58106766de8aeae909ffd313abc03f2400a06e2b3f8371e211a0a0d"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "47280c825f065cfbfccbef0077032f3c04a75f860eb5a31861515295b6a85050"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "25a93f49d789d3d5d6d3fa82cbfc5f5c195a8da4d1dfb12c113d29b125e71e79"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "2922c1a06f37322c05b6ad66a95fd7cdc2ad10a86ee082739810060a932bea55"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "5dadafb7e44eb174c717101a336b00a03b8f7fefb606f356c0ae4b00209d5723"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "047f3c1b05ac28e1e566451e6b93fbb88e300afb0f264faf17e72ac5f9aae201"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "f0de9a6713f197a4664183b4fe80179543588cbaf83d4f174f360177e0149a6d"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "5343cc2302d49a57c3fabb7b03ca4f11a0eb979bbab7442262bc34186b3bd596"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "91ab977a9089fc68ed54062cee6d0a71caa2591ec5d4994181d8939605baa114"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "1d4c0d24b2558bd311f9f6cf44186596f9634d7a5c69b4b7648b59a2443272bd"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "7c13ae7155b92b7aaec599fffdbc8c02fde8b6575f892fd3e5edf67c3102790b"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "1a6d8fe7cf0df7ccee2047c2031da4b8f0ef8271d6413e0c7bc87bf208c8af90"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "3b9793fe7957031f88f240254326697e685de3690aac1fa13d447cb2a23a2738"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "63fd411e37656bfe56fec468f47dca7a61ffe5f9be3ab1c23ad252b8199f39d5"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "3a5510c7a996a50e94e68c05cff1fbf31a7cc787d2bd173828d867d4b8d22243"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "cf2004a5134c6240bfb05f499cee09f425295ce0bd8d170b0832a845b4d255c3"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "186753142ed4c28eded8861e399ff33bc7738ba75c112507b4acb53ccd11b13c"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "57cf456aed64517f69801d6c19a143aa9a90f85de015be22b8a2e2d4a6b33d23"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "09c833d17aa31e99fa0aae3eb5f296c643c34ea22d94f8b5ff64e2b871e70dbe"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "5b2fca43e84335e8b0cdb5d341402d5b1b57016881e7112a0ae8f5c5374f8857"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "f1a03f0e4c69d796d5fd4b26aed1d356dfdcdd5ce7f180bf045a97ce308f13c2"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "0167a7dcc31364818981372dce640c408a4bfd2983b5bc3d2726b5525873361e"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "92dac800255e1ba12c48b8078b8098ae1b3980401c6da54c3798d853c6685c13"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "e0f7c028869ac2d1edf582622fa2dfe5c6c6dfe042f8d74bc3ec9080dc70a36c"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "02669ae0b19e3b1cb8589b583b6de0b0b62f2987ef126c7fcc2efa2cd63e714f"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "855f6c7bf2bb01e08b8e20e7c8d633000c70e64fd37405695be7cf3cee515be1"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "348dc193a4bfc6fc53d203cae7e5b5af68c56bcb01ffec0f7c427017f5d3b98f"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "7a79a9967b0522199c62ea03edc27cd2752c80eeba816a9334e9624f48c7525d"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "5cc04f7915a31d54d858d0e532e49829ab45ccd250416aed1612774c960d0cb9"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "59ff7d6cd90eb7a4f2e34adacec95ef728e4fe1739a098a22da8843c5a2da1c0"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "529a65d93b5da907cc8f2389996e783d261fcd03711c92aab7be0ee05e92aba5"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "62c8c769fc847b2fd564e85748e0b8b1249555d86e09d38212566e4dbbb9526c"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "fbc42b7aaf60f83da91b76905ddca103cbdfa660824343348c7b5325977b9e70"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "7377752db6d01993cde0ac9d73234bf8538cee217e3d11089a50c4c2be447751"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "5909ddaa88ad8408b8590518ea4b738d7f581ee827ecd679bd8ebd2208287c5e"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "7c9de38b184ca8d10b0d7035c0b31cde79103a25efc516b98f6a2d91e054d7e8"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "8668f081a5c976cde7bcea6727d1885d77711c11bbb4a0023c9759d6f0bfb619"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "dff7ae0b0a4b18eaae1501a03ad754e71794cef3981334bbc77cd55f15b42fa2"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "3b20b9fe8eee700192296d70b93ff5f21d6667093cbff16303679a3491c78fd7"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "fb4c5e7689668af719f2ed2c16d7605298e61003b6d9490a67742b6146b0f98b"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "f3d379924e56b8296004be9c3dbf381cf3535bf1790e44ee2bb1f6477829def1"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "1768c0e05770c502fe3122dd1c37dbd1e51b9b5c5aaa7cf57a5590e9217393d4"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "95d77215bd1332cefba9dac1f55eaf3f479927526ca6ed38281837b3c8fbac39"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "0af5c23d8e11ec797537c9710b179c7f6ae182bb4831f535848aba0b229ea89f"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "1befe0623ee71fdc3f7508b532a411fb5f8438ca06963f79cd9c3d20c3fdaa7f"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "d61a8bc5eb6b78a4a9d36078ce5946487e0bb9f89ceaba0feb7c449d486feacb"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bcfdfe861bfd7447cab99a03826013e77e004ef9b01927b5dbeb0afd40f46f67"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "0b4c596542e65af735a2f66a61743492c146c51373acf7026274378033a6431d"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "96cd11044613c0a924eee6272313f21e01b987982732d6bcc362935d799fa6ff"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "8640aae3dc8d965ac3c0aa65e3579e7613d0c78dfabb06d23840d39df8881ec0"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "b1b84b405b4d0f5c87ab750ed5942d29018e46b73e298296dc9931f8b3981998"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "006e932d4b7474b5f24628d08ec5e28d45b9a23dfb144599fda2b0969f57863e"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "b70aa31702ea42b85e6ed678cc20bff94267a746cb81ac70dec0d84a244b489f"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "c33442ce4cb0d9355c915fa1ea3407f67c0470e8711055bb2fb275e612a64fa4"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "19d6b48b415d48c278f5ec203ee03136a5f80a8ee566e336de187694ab9862a9"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "eddcf8119a9680c2676720f33d0fbe750e015d7d21f07325bd47dea0b7cc5bd9"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "703e8e9da4bd1adb2e1ca77b221c4ce80d9e2b63be7b27eb34c0fed29a2d76b6"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "3c2fe1bb3bc7d9d0bf1006962e635262b7ab23017ea703746d436e25b68d7ec6"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "602942788ce157b3d2d6a02d0105e1da632a055bf657282131a0946f87a4431d"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "de47061063986cff65ae50537a2dbc0abb3d5ec7f1fc5b2a3c8aa66dc4ca4a6e"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "2d3c4a294c1dc8ece94de489dbef9ce3b4222b0883c5f61f1f90fa881329cd53"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "0ae9ae73771c7429e7f6ec457e656bef034d211a191e5125dc09006a4157b57a"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "8618faa41d021e98d5d010efbead4440828f9f2cc485068fef3f3fef39713bdf"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "e91bbb7a5bc1052b2f8558598fc9c4cb610314bf026c5eae97a7e85badcc096f"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "1b2c610711bfa05aa0ecbd4ddd81724d29f3f162798cdb35b2c15b1a07cc5743"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "c4495bdfc92b1089a3c812d863df20856d585ad9601f41a8c99a522df216736a"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "55a5fc7eef3d8a4bb2ea7b19eff6dbeddf9fe9f239f645b996aba44477cb4bf3"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "ca09ceaf455f7fdc93e871617f73200eedd9cff32e8704ead4fd68b86190a8ac"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "b6f09b29afe73ab3a25a8cfa2b88ef7f51b83f501990fc80fa886da75916a257"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "920de5e59f13894e0f2b008cbecf4089b1b36087744ee4bc050b32e1887f8e7b"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "fee6df7cce32d81675c91116ed89996ceaf5de1cc3fde028b04d6012338527b0"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "d6587c2a00e4c1a9c38a75f64085bd66e100482a7977dfbb3434bc6a902be313"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "b6066271412a7d4faa2fa028b03f88061477bd5a0ea5e7d5ec8e3e81c52ce166"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "c0de3fcf13a0947239a1310d862deaf5d37836f82f4d618f9aaf09ed69fcfcfc"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "b929dffdf57cb08087e2ec4054ba58368cc5535579d336872b4016d5bddc9ceb"; }
+    { locale = "ku"; arch = "linux-i686"; sha256 = "4926a59d15eda575ec3a0b32f8ebecd12a354b80746efc61d0630a91720c5e9b"; }
+    { locale = "ku"; arch = "linux-x86_64"; sha256 = "04083b8b57ab3e5693637ca424daa18ab678594b37a56ba4ba9e70c369782002"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "730ef2c9920b0eb6e511d5725780ce3d6c2b341d03049e6cb8e83ceeeaf191d7"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "b068b0e242ff84055665eb9688d392d98e433ed0c44793734f264b340c2efdf5"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "885ad622f8a36bb5385187995423e811be28a169c8f33d8eec064f04f45e85cc"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "d289b593c8c6ccef5d0ee339de674385b08ee28da7b851230da20469aeba7558"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "e5558f1cd93264f7f30a9259c28cc50131782d1941388b71f80b1672a29c597f"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "61788b9ef4f13369114abe4a16e7ee89e16d791cf5d3e1eb74eedb88c3a90e9b"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "a9991d23913da8fe6dcf47aacc23b92055c7019265d6c7a01d9d6b3c7ffa4c4d"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "946420fd821b3ec97bfa1fab52b22111428da0ed919e86c0d33be53b30f5d476"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "bf10e053684e5e71eb1886f4127743937a560eee15e7c85c9849bc4b15a60123"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "b5d1d9d3eaff11f230c864799c77c8169415ee5dd2e1dab944d91ce1c8e8c054"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "c899ba567d847933fa40e3bf1be26e8a5fd3bdf4af45db60cb9198b1a6c98ee8"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "fb069df12d603c808c798e43d3ef92868c239a130e078e7492456d1f54cac882"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "14027be4ec9f060b3ac69975dfa1da7aa0b58531383bd335fe3dca98f06597a8"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "a18dc57bd2b73bf733a0ad61b7ac9b8b4bd149260a4c59fed171b76e52eaed41"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "3fbd39a0c2def17862e266ef295a38f93400135898348e6321fd37829461660c"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "0fb3bab95d1aa501304069aad3c4a8ec38088f3b86ebbd0ef58f29c9d837602d"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "1c36cae02772a2e7465f1b6a67e91d169120724c0f13aaa06ff66a095084d71f"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "7a64797441cc03f947c98c5ebdfb7c36caa2daf0597374904a25e6d499501de5"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "32b93da5068e6cd76c4bde1833592d89d0c2ebf3d9b4ac636e7b00e7007edb6d"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6dfa7bd9edfe177e03a4f3244760c7d75db1c6edb291bf05df2db31156235743"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "d9fa7e708e90c20ebb1c2b2df9bf866817f87cc8638b886c6d69ba5033e6482d"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fd431fe5784dd4d5b42b53bea56439db95f5bebc4b8f47517e2cdd4ff5ebaa7c"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "83f358e0e8e545ee4bdb01da4795f4609edd5c504150260241274b205f4df5ae"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "128c80cc0c6e2ff558960b8f4d191239b92a38ed4537dc58b77c7c464254992b"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "87af71809038e38b00bbefc8795aa8fdba6bbe6fae0a7a6c82e9e752044b8573"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "263c8f80b2e7f4cb86f829cea41c92ec876fa77c945cfb46452e456a55f72685"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "32dad8cb30e70394b118d305135d86ffc4ad1fc345cafb063712a7d288e04209"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "97231cd5c4fc5e5c125d6ead400ea941c60bcadecaa46200a485e2df79e6ccc6"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9f5fcbc0c9f70c02e997483888dd69c5a510cdf07f4d6d6447c04c258ad60681"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "2921da4f0d1018201c2db7e65823f36fc307d46759cd0cf94d3667f8c1ae719f"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6aebbc3a93961d2baeeb2e07f00b57c4abd73d1ffe4ff21f9bc4812c98b0025d"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "59cf5be7d0a3390ac0094a436b7b498bf26a42c178082f2ba2a79273f4ba8a44"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "b57ca3477f1869cdbe474b875640a0516d6dac660aeb2b16f1902f776131aeec"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "0cdad1a4bc9af986bdab8cafd0efc0d96c0010d8c86797e0cd58de9b90fad5cd"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "1cf86aa09a145bd190ee815a2dc66129f0f05fb4c30802c9f85d977ec370dbe8"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "6e10324605e7b50adee8597ce9694c318125131e301c7c5608e15206784d2475"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "30d902defb08ab7661c369118729e78046fd0bb17ae9ac080587d105c44c7e04"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "a3ad52e02e346f5c51ea58b92ebda1f5d98234583dbd1627e002ee95db150837"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "367ba16e7505ac93908443861ef76f7bcb9444a65add1155a3e80bbc97564c72"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "018c013809857c5bda53b931080c40e8152a229f3d2b079975d381cb106059a7"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "471da0ef940666ed3442a576b085ed065a6da4de102f59aacaf2168c84d127de"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "4cb690b5c1b8a97f83eeb8d26870f19492ed61463765eae29294946f3fb173fd"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "863a1866b30700a6b22775b8b7c01ad27502ee3bd73ed20a874a9cac0a889638"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "1c2c815b9fbf5cef9bd0b732bf47d56c1ecfc554ca4573d3fb67be3351a35bf9"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "aaa955cb028036b3f70e0284eedfcfb2b655dd6b7bd6f717ec0609323ad6a897"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "84751dbf1e16f8912bd71f24a9c80805ac3a7aa32f30eeb2f3f945113ff4c1ee"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "50ef1fe3d72312a78d951bda1892b7548d46669ddcb60f0af5a22fdd1b8f23aa"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "05b24a18a637a730804dc485f86e3b3d4ce3046ff81689984c0e14d6e55c9ade"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "3388ec26ca4c9ac2ed327037bc73eddcd7fd390765107e47fa3953c53e0ab1f2"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "d81f19076ce990256fdd4c5e7bdf39f8f70d24f3057a1383aa100d259844ada9"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "3ae73ff229c1280ab7b271c29096804839c5d92ef0c15f7a8a8366946ba24720"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "77f723f41ec258309a66e8c808ff4ebc5705ba115bf2417f87943d381d6b57e8"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "6897b368738eed28e6b2b17529d6e6656d22f228ecaae04c4f8c539a1dfc3d6c"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "831bdc86dd2023f273c55276c81181027a0e701520aba397308ad662076a6ee4"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "3a33e92dc25ea10c55b5ca56345e5b8659c99ca335112e049ba9edb9017c09b4"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "3c071efaef763ea731caa1c6cb97357c13e07b112d923b3c3ef7ee22badbeca9"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "7982fa0407ff8f3a955c7a74b70fb9fd10cc06f7f06d429ce06cc60fe4b7b635"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "06f54c193ba9bbf19774e8d507c9e15414a9859584de806900ccb0bcb546178e"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "c1565d373b951065a1c6ac827590f944e1524d5a91748bd42740ea25210ece31"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "6d49988225ae1a662e1fd721910f445bf1c111bef6894153b2092a4117391bdb"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "f03049ea0b8bd86d95e386bb79a90513087691b725a90e01fec4f7a54803ba0b"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "5bac7c50bb2a850c208c8410a2deab0b37e03a02f33d52e3d4097ce2c8718d37"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "ee6b3f27f68c3d37e8170c7222249c1459e4530f61438a0f1553fe36213c5ce7"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1cb80cac3b942d588e133ccad7ac8c77d3af31cf6ddd9676ffa7be130434788c"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "86f7bab77885e5cf391d9dca758f8c1112bea9dd249dc7d2f184845da9df6316"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "07d874163ace6a820dfca49829032efd1b1a612e76c14a012287db39841280b7"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "27a7039cdd5be498d2de89e2993264c432e36309bb5c40bd519212de6f8b3469"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f65d8334d5fb6b7bdcb6b212c232e2bad3d8d2718d96dba7c149a6bb2add81c8"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "1aab3b3aad0adbb72edc3db1780838bb2fdf80554eb9eb00fe7b50918bef843c"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "b322ec6027b6760855520dbc40b6e934f931b64c0a859682e4014ee1bdb2b321"; }
+    { locale = "zu"; arch = "linux-i686"; sha256 = "f29d8c82b595edb03a42b0c8896e1880efe2fd14e87802501c4007088bf3ad9c"; }
+    { locale = "zu"; arch = "linux-x86_64"; sha256 = "bed6ddb23da87c4d7f469d92a1cec9817a41b51012bb30145227633b3265e998"; }
   ];
 
   arch = if stdenv.system == "i686-linux"
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
index a768b1f8dffc..7c38f275169c 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
@@ -83,6 +83,8 @@ puts(<<"EOH")
 , systemd
 }:
 
+assert stdenv.isLinux;
+
 let
   version = "#{real_version}";
   sources = [
diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix
deleted file mode 100644
index 1e2c3e2cfb19..000000000000
--- a/pkgs/applications/networking/browsers/firefox/30.nix
+++ /dev/null
@@ -1,211 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
-, hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base, icu
-, debugBuild ? false
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
-  firefoxVersion = "30.0";
-
-  xulVersion = "30.0"; # this attribute is used by other packages
-
-
-  src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
-  };
-
-  commonConfigureFlags =
-    [ "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-libvpx"
-      "--with-system-png"
-      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
-      "--enable-system-ffi"
-      "--enable-system-hunspell"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      "--enable-system-cairo"
-      "--enable-gstreamer"
-      "--enable-startup-notification"
-      # "--enable-content-sandbox"            # available since 26.0, but not much info available
-      # "--enable-content-sandbox-reporter"   # keeping disabled for now
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer"
-      "--disable-updater"
-      "--disable-pulseaudio"
-    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--enable-optimize" "--enable-strip" ]);
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
-        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
-
-    preConfigure =
-      ''
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
-        mkdir ../objdir
-        cd ../objdir
-        configureScript=../mozilla-release/configure
-      ''; # */
-
-    #installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    preInstall = ''
-      # The following is needed for startup cache creation on grsecurity kernels
-      paxmark m ../objdir/dist/bin/xpcshell
-    '';
-
-    postInstall = ''
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      rm xulrunner
-
-      for i in $out/lib/$libDir/*; do
-          file $i;
-          if file $i | grep executable &>/dev/null; then
-              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done
-      for i in $out/lib/$libDir/*.so; do
-          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done
-
-      # For grsecurity kernels
-      paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
-
-      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
-          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
-      done
-
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip pysqlite
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    patches = [
-      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
-      ./xpidl.patch
-    ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    makeFlags = [
-      "SYSTEM_LIBXUL=1"
-    ];
-
-    # Because preConfigure runs configure from a subdirectory.
-    configureScript = "../configure";
-
-    preConfigure =
-      ''
-        # Hack to work around make's idea of -lbz2 dependency
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":"
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
-        # Building directly in the main source directory is not allowed.
-        mkdir obj_dir
-        cd obj_dir
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        cd "$out/lib/"firefox-*
-        rm firefox
-        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
-        chmod a+x firefox
-
-        # Put chrome.manifest etc. in the right place.
-        mv browser/* .
-        rmdir browser
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index e23a6d94ec1a..3223f873bfba 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -15,14 +15,14 @@
 
 assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
-let version = "31.0"; in
+let version = "32.0"; in
 
 stdenv.mkDerivation rec {
   name = "firefox-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
+    sha1 = "5cb7644af9741ebcdb3a21b777362913908c8f41";
   };
 
   buildInputs =
@@ -66,7 +66,8 @@ stdenv.mkDerivation rec {
     ]
     ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
                       else [ "--disable-debug" "--enable-release"
-                             "--enable-optimize" "--enable-strip" ])
+                             "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
+                             "--enable-strip" ])
     ++ lib.optional enableOfficialBranding "--enable-official-branding";
 
   enableParallelBuilding = 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 55521a13f9cb..32baa0b6a868 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
 
 let
   # -> http://get.adobe.com/flashplayer/
-  version = "11.2.202.400";
+  version = "11.2.202.406";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -47,18 +47,20 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "043bzjcqxjkjk68kba5nk77m59k6g71h32bypjpnwaigdgbhafyl";
+        sha256 = "05akcw89kz0cnhan6wp72banz2asmvqfhb2cw1krn66qgd7bl0x0";
       }
     else if stdenv.system == "i686-linux" then
-      if debug then {
+      if debug then
+        throw "flash debugging version is outdated and probably broken" /* {
         # The debug version also contains a player
         version = "11.1";
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
         sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
-      } else rec {
+      }*/
+      else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "1xvfzm926rj0l2mq2kybrvykrv7bjfl3m7p5mvhj1586a3x1gb6h";
+        sha256 = "10f3842vi80kszj42f4c8sw7plrmvsin5k860cqvlzgdhndz8i4b";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index afe0600d6f7e..029df7e46ded 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -13,6 +13,7 @@ let
     [ mesa
       xorg.libXt
       xorg.libX11
+      xorg.libXrender
       cairo
       libpng
       gtk
@@ -47,20 +48,20 @@ stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
 
   # You can get the upstream version and SHA-1 hash from the following URLs:
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages
-  version = "5.1.5.0";
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1'
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA1'
+  version = "5.4.2.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1";
+        sha1 = "d75fad757750b4830c4e401ade92b4993e2a4ab2";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963";
+        sha1 = "410872377b0bdac06b580c5e1755a3a3c712144b";
       }
     else throw "Google Talk does not support your platform.";
 
@@ -72,22 +73,18 @@ stdenv.mkDerivation rec {
     ''
       plugins=$out/lib/mozilla/plugins
       mkdir -p $plugins
-      cp opt/google/talkplugin/libnp*.so $plugins
+      cp opt/google/talkplugin/*.so $plugins
 
-      patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgoogletalk.so
+      for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do
+        patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" $plugins/$i
+      done
 
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgtpo3dautoplugin.so
+      for i in libgoogletalkremoting.so libnpo1d.so; do
+        patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" $plugins/$i
+      done
 
       mkdir -p $out/libexec/google/talkplugin
-      cp -prd opt/google/talkplugin/{GoogleTalkPlugin,locale,windowpicker.glade} $out/libexec/google/talkplugin/
-
-      mkdir -p $out/libexec/google/talkplugin/lib
-      cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/
-
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib" \
-        $out/libexec/google/talkplugin/lib/libCgGL.so
+      cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/
 
       patchelf \
         --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 5f046f7b7328..bf14e7e53414 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
new file mode 100644
index 000000000000..98679e9609ec
--- /dev/null
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, coreutils, fetchurl, patchelf, gcc }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x86_64"
+    else if stdenv.system == "i686-linux" then "x86"
+    else if stdenv.system == "armv6-linux" then "armv6h"
+    else throw "Copy.com client for: ${stdenv.system} not supported!";
+
+  interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
+    else if stdenv.system == "i686-linux" then "ld-linux.so.2"
+    else if stdenv.system == "armv6-linux" then "ld-linux.so.2"
+    else throw "Copy.com client for: ${stdenv.system} not supported!";
+
+  appdir = "opt/copy";
+  
+in stdenv.mkDerivation {
+  
+  name = "copy-com-1.4";
+
+  src = fetchurl {
+    # Note: copy.com doesn't version this file. Annoying.
+    url = "https://copy.com/install/linux/Copy.tgz";
+    sha256 = "f8da6dbfdaac71c4c4e9102671cf8fbe4ac5cb1dac63464783b8b62a7939b6fa";
+  };
+
+  buildInputs = [ coreutils patchelf ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/opt
+    cp -r ${arch} "$out/${appdir}"
+    ensureDir "$out/bin"
+    ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console"
+    ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent"
+    ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd"
+    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
+      "$out/${appdir}/CopyConsole"
+
+    RPATH=${gcc.gcc}/lib:$out/${appdir}
+    echo "updating rpaths to: $RPATH"
+    find "$out/${appdir}" -type f -a -perm +0100 \
+      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
+
+
+
+  '';
+
+  meta = {
+    homepage = http://copy.com;
+    description = "Copy.com Client";
+    # Closed Source unfortunately.
+    license = stdenv.lib.licenses.unfree;
+    maintainers = with stdenv.lib.maintainers; [ nathan-gs ];
+    # NOTE: Copy.com itself only works on linux, so this is ok.
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/networking/ike/default.nix
index 48f277ad4c98..48f277ad4c98 100644
--- a/pkgs/applications/ike/default.nix
+++ b/pkgs/applications/networking/ike/default.nix
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index cf10c1e6fe20..8685e704af4b 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,19 +1,23 @@
 { fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "bitlbee-3.2";
+  name = "bitlbee-3.2.2";
 
   src = fetchurl {
     url = "mirror://bitlbee/src/${name}.tar.gz";
-    sha256 = "1b43828e906f5450993353f2ebecc6c038f0261c4dc3f1722ebafa6ea3e62030";
+    sha256 = "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s";
   };
 
   buildInputs = [ gnutls glib pkgconfig libotr ]
-    ++ stdenv.lib.optional doCheck check;
+    ++ optional doCheck check;
 
-  configureFlags = [ "--otr=1" ];
+  configureFlaags = [
+    "--gcov=1"
+    "--otr=1"
+    "--ssl=gnutls"
+  ];
 
-  preCheck = "mkdir tests/.depend";
   doCheck = true;
 
   meta = {
@@ -31,9 +35,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.bitlbee.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with maintainers; [ ludo wkennington ];
+    platforms = platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index e46956f3ccae..a00a68ff9f28 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
+{ stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
 , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
 , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
 , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
                   perl perlXMLParser evolution_data_server gnome_doc_utils avahi
                   libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
-                  gnome3.libsoup
+                  gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
                   hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
                   pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
                   libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out"/bin/ekiga \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
index b0302ba8e0bf..812f00829e27 100644
--- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libconfig lua5_2 openssl readline zlib ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # CPPFunction
+
   installPhase = ''
     mkdir -p $out/bin
     cp ./telegram $out/bin/telegram-wo-key
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 2e6b904c134e..c7f33c1f5805 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = "-Wl,--as-needed -lboost_regex -lasound -lzrtpcpp -lspeex -lspeexdsp";
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # fatal error: messageform.h: No such file or directory
 
   meta = with stdenv.lib; {
     homepage = http://www.twinklephone.com/;
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
new file mode 100644
index 000000000000..2b4c5f564bec
--- /dev/null
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, qt5, pkgconfig, boost, wirelesstools, iw }:
+
+stdenv.mkDerivation rec {
+  name = "linssid-${version}";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/linssid/LinSSID_${version}/linssid_${version}.orig.tar.gz";
+    sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
+  };
+
+  buildInputs = [ qt5 pkgconfig boost ];
+
+  postPatch = ''
+    sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
+    sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \
+        -e "s|/usr|$out|g" \
+        -i linssid-app/linssid-app.pro linssid-app/linssid.desktop
+    sed -e "s|\.\./\.\./\.\./\.\./usr|$out|g" -i linssid-app/*.ui
+
+    sed -e "s|iwlist|${wirelesstools}/sbin/iwlist|g" -i linssid-app/Getter.cpp
+    sed -e "s|iw dev|${iw}/sbin/iw dev|g" -i linssid-app/MainForm.cpp
+  '';
+
+  configurePhase = "qmake linssid.pro";
+
+  meta = with stdenv.lib; {
+    description = "Graphical wireless scanning for Linux";
+    homepage = http://sourceforge.net/projects/linssid/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 1e68d2e90b8d..2b1e9fc4fb34 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = with pythonPackages; [
-    pillow jinja2 spambayes pythonPackages."lxml-2.3.6" python.modules.readline or null];
+    pillow jinja2 spambayes pythonPackages.lxml python.modules.readline or null];
 
   meta = with stdenv.lib; {
     description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index c0c11ff1f1c3..0827ca2cc758 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "31.0"; in
+let version = "31.1.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha1 = "0fe6666fddd4db82ec2e389f30c5ea11d4f72be5";
+    sha1 = "08d231541a80a79180826f98dde732c5796191f4";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index e38d5188dc2f..a5216b2902a6 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     for f in "$out"/bin/*; do
       wrapProgram "$f" \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
-        --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
new file mode 100644
index 000000000000..fa722747e5fb
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.36";
+
+  name = "backintime-common-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz";
+    md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8";
+  };
+
+  # because upstream tarball has no top-level directory.
+  # https://bugs.launchpad.net/backintime/+bug/1359076
+  sourceRoot = ".";
+
+  buildInputs = [ makeWrapper gettext python2 python2Packages.dbus ];
+
+  installFlags = [ "DEST=$(out)" ];
+
+  preConfigure = "cd common";
+
+  dontAddPrefix = true;
+
+  preFixup =
+    ''
+    substituteInPlace "$out/bin/backintime" \
+      --replace "=\"/usr/share" "=\"$prefix/share"
+    wrapProgram "$out/bin/backintime" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "$prefix/bin:$PATH"
+    '';
+
+  meta = {
+    homepage = https://launchpad.net/backintime;
+    description = "Simple backup tool for Linux";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.all;
+    longDescription = ''
+      Back In Time is a simple backup tool (on top of rsync) for Linux
+      inspired from “flyback project” and “TimeVault”. The backup is
+      done by taking snapshots of a specified set of directories.
+    '';
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/sync/backintime/default.nix b/pkgs/applications/networking/sync/backintime/default.nix
deleted file mode 100644
index 9b9e355f8281..000000000000
--- a/pkgs/applications/networking/sync/backintime/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool }:
-
-let
-  version = "1.0.36";
-
-  src = fetchurl {
-    url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz";
-    md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8";
-  };
-
-  # because upstream tarball has no top-level directory.
-  # https://bugs.launchpad.net/backintime/+bug/1359076
-  sourceRoot = ".";
-
-  genericBuildInputs = [ makeWrapper gettext python2 python2Packages.dbus ];
-
-  installFlagsArray = [ "DEST=$(out)" ];
-
-  meta = {
-    homepage = https://launchpad.net/backintime;
-    description = "Simple backup tool for Linux";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
-    platforms = stdenv.lib.platforms.linux;
-    longDescription = ''
-      Back In Time is a simple backup tool (on top of rsync) for Linux
-      inspired from “flyback project” and “TimeVault”. The backup is
-      done by taking snapshots of a specified set of directories.
-    '';
-  };
-
-  common = stdenv.mkDerivation rec {
-    inherit version src sourceRoot installFlagsArray meta;
-
-    name = "backintime-common-${version}";
-
-    buildInputs = genericBuildInputs;
-
-    preConfigure = "cd common";
-
-    dontAddPrefix = true;
-
-    preFixup =
-      ''
-      substituteInPlace "$out/bin/backintime" \
-        --replace "=\"/usr/share" "=\"$prefix/share"
-      wrapProgram "$out/bin/backintime" \
-        --prefix PYTHONPATH : "$PYTHONPATH"
-    '';
-  };
-
-in
-stdenv.mkDerivation rec {
-  inherit version src sourceRoot installFlagsArray meta;
-
-  name = "backintime-gnome-${version}";
-
-  buildInputs = genericBuildInputs ++ [ common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ];
-
-  preConfigure = "cd gnome";
-  configureFlagsArray = [ "--no-check" ];
-
-  preFixup =
-      ''
-      substituteInPlace "$out/share/backintime/gnome/app.py" \
-         --replace "glade_file = os.path.join(self.config.get_app_path()," \
-                   "glade_file = os.path.join('$prefix/share/backintime',"
-      substituteInPlace "$out/share/backintime/gnome/settingsdialog.py" \
-        --replace "glade_file = os.path.join(self.config.get_app_path()," \
-                  "glade_file = os.path.join('$prefix/share/backintime',"
-      substituteInPlace "$out/bin/backintime-gnome" \
-        --replace "=\"/usr/share" "=\"$prefix/share"
-      wrapProgram "$out/bin/backintime-gnome" \
-        --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${common}/share/backintime/common:$PYTHONPATH" \
-        --prefix PATH : "$PATH"
-    '';
-
-}
diff --git a/pkgs/applications/networking/sync/backintime/gnome.nix b/pkgs/applications/networking/sync/backintime/gnome.nix
new file mode 100644
index 000000000000..56d0f6c5481b
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/gnome.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool, backintime-common }:
+
+stdenv.mkDerivation rec {
+  inherit (backintime-common) version src sourceRoot installFlags meta;
+
+  name = "backintime-gnome-${version}";
+
+  buildInputs = [ makeWrapper gettext python2 python2Packages.dbus backintime-common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ];
+
+  preConfigure = "cd gnome";
+  configureFlags = [ "--no-check" ];
+
+  preFixup =
+      ''
+      # Make sure all Python files refer to $prefix/share/backintime
+      # instead of config.get_app_path() which returns the path of the
+      # 'common' module, not the path of the 'gnome' module.
+      filelist=$(mktemp)
+      find "$out/share/backintime/gnome" -name "*.py" -print0 > $filelist
+      while IFS="" read -r -d "" file <&9; do
+      substituteInPlace "$file" \
+         --replace "glade_file = os.path.join(config.get_app_path()," \
+                   "glade_file = os.path.join('$prefix/share/backintime'," \
+         --replace "glade_file = os.path.join(self.config.get_app_path()," \
+                   "glade_file = os.path.join('$prefix/share/backintime',"
+      done 9< "$filelist"
+      rm "$filelist"
+
+      substituteInPlace "$out/bin/backintime-gnome" \
+        --replace "=\"/usr/share" "=\"$prefix/share"
+
+      wrapProgram "$out/bin/backintime-gnome" \
+        --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${backintime-common}/share/backintime/common:$PYTHONPATH" \
+        --prefix PATH : "${backintime-common}/bin:$PATH"
+    '';
+
+}
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 00a00530df44..8d32c1e5d865 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -7,37 +7,33 @@ assert enableACLs -> acl != null;
 
 stdenv.mkDerivation rec {
   name = "rsync-${version}";
-  version = "3.1.0";
+  version = "3.1.1";
 
   mainSrc = fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
     url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz";
-    sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1";
+    sha256 = "0896iah6w72q5izpxgkai75bn40dqkqifi2ivcxjzr2zrx7kdr3x";
   };
 
   patchesSrc = fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
     url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz";
-    sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p";
+    sha256 = "0iij996xbyn20yr4w3kv3rw3cx4jwkg2k85x6w5hb5xlgsis8zjl";
   };
 
   srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
-  patches = [(fetchurl {
-      url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a";
-      sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8";
-      name = "CVE-2014-2855.patch";
-    })]
-    ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
+  patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
 
   buildInputs = stdenv.lib.optional enableACLs acl;
   nativeBuildInputs = [perl];
 
   configureFlags = "--with-nobody-group=nogroup";
 
-  meta = {
-    homepage = http://samba.anu.edu.au/rsync/;
+  meta = with stdenv.lib; {
+    homepage = http://rsync.samba.org/;
     description = "A fast incremental file transfer utility";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons emery ];
   };
 }
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
new file mode 100644
index 000000000000..658f460793f1
--- /dev/null
+++ b/pkgs/applications/office/zim/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, lib, fetchurl, buildPythonPackage, pythonPackages, pygtk, pygobject, python }:
+
+#
+# TODO: Declare configuration options for the following optional dependencies:
+#  -  File stores: hg, git, bzr
+#  -  Included plugins depenencies: dot, ditaa, dia, any other?
+#  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
+#
+
+buildPythonPackage rec {
+  name = "zim-${version}";
+  version = "0.60";
+  namePrefix = "";
+  
+  src = fetchurl {
+    url = "http://zim-wiki.org/downloads/zim-0.61.tar.gz";
+    sha256 = "0jncxkf83bwra3022jbvjfwhk5w8az0jlwr8nsvm7wa1zfrajhsq";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ];
+
+  preBuild = ''
+    mkdir -p /tmp/home
+    export HOME="/tmp/home"
+  '';
+  
+  setupPyInstallFlags = ["--skip-xdg-cmd"];
+  
+  #
+  # Exactly identical to buildPythonPackage's version but for the
+  # `--old-and-unmanagable`, which I removed. This was removed because
+  # this is a setuptools specific flag and as zim is overriding 
+  # the install step, setuptools could not perform its monkey
+  # patching trick for the command. Alternate solutions were to
+  #
+  #  -  Remove the custom install step (tested as working but
+  #	also remove the possibility of performing the xdg-cmd
+  #     stuff).
+  #  -  Explicitly replace distutils import(s) by their setuptools
+  #	equivalent (untested). 
+  #
+  # Both solutions were judged unsatisfactory as altering the code
+  # would be required.
+  #
+  # Note that a improved solution would be to expose the use of 
+  # the `--old-and-unmanagable` flag as an option of passed to the
+  # buildPythonPackage function.
+  #
+  # Also note that I stripped all comments.
+  #
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags}
+
+    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    if [ -e "$eapth" ]; then
+	# move colliding easy_install.pth to specifically named one
+	mv "$eapth" $(dirname "$eapth")/${name}.pth
+    fi
+
+    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+    runHook postInstall
+  '';
+
+  # FIXME: this is quick and dirty hack, because zim expects the
+  # path to the executable in argv[0] therefore the wrapper is
+  # modified accordingly.
+  postFixup = ''
+    wrapPythonPrograms
+
+    sed -i "s#sys\.argv\[0\] = 'zim'#sys.argv[0] = '$out/bin/zim'#g" \
+      $out/bin/.zim-wrapped
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+  '';
+  
+  # Testing fails.
+  doCheck = false;
+
+  meta = {
+      description = "A desktop wiki";
+      homepage = http://zim-wiki.org;
+      license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
+
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 0a5ef9099044..00fda8bf1c45 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -3,7 +3,7 @@
 assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
 
 let
-  version = "4.0.21.2";
+  version = "4.0.22";
   arch = if stdenv.system == "x86_64-linux"
            then "linux-x86_64"
            else "linux-i686";
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
     sha256 = if stdenv.system == "x86_64-linux"
-               then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx"
-               else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30";
+               then "0dq4x1cc0lnhs7g6w85qjdlb7sajr13mr2zcf4yvrciwhwy3r1i1"
+               else "0s4j2karaq85fwnd1niz8hzx5k71cqs493g38pg337i3iwxad9hg";
   };
 
   # Strip the bundled xulrunner
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index c761f6196424..a2f07bfe43df 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.53";
+  name = "gtkwave-3.3.61";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1jmrk2p2azjca250h2bi4c8v0cp1gqd3c027dx18sxy3cgw1fsp1";
+    sha256 = "1f8cw7xfr83mc5j6vq53jzzyw3n6pqdmrj4a7pm53m1wvjgk4w3v";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index ed922b3aedbe..1be95a17eede 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -3,7 +3,7 @@
 {stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let 
-  version = "8.5pre-c70d5b2";
+  version = "8.5pre-fbbb86b";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
   idePath = if buildIde then ''
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc";
-    sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2";
+    rev = "f7c6b864a509a4cca11cac5fbd5d37efc";
+    sha256 = "0v84pjxx361afkipgwkc4d2wmn7v1c5n2y8d264kc26i58cgrrf4";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index edba65146a66..7bdfa2026e15 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.1.0";
+  name = "R-3.1.1";
 
   src = fetchurl {
     url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a";
+    sha256 = "06bs5jk2bgib2wvd76yq9kf1vyim2j344midxkqyhk216ig4sp6f";
   };
 
   buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 6e187843404d..98012934f38d 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
 
     hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.sprock;
+    maintainers = [ stdenv.lib.maintainers.sprock ];
   };
 }
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 576a28b054f4..e59bb9fe666a 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "pari-2.5.5";
+  version = "2.7.1";
+  name = "pari-${version}";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn";
+    sha256 = "1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc";
   };
 
   buildInputs = [gmp readline];
@@ -21,5 +22,9 @@ stdenv.mkDerivation rec {
     license     = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [ertes raskin];
     platforms   = stdenv.lib.platforms.linux;
+
+    inherit version;
+    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 7020de0bca88..0898b458593e 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
 sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "boinc-7.2.42";
+  name = "boinc-7.4.14";
 
   src = fetchgit {
     url = "git://boinc.berkeley.edu/boinc-v2.git";
-    rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9";
-    sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j";
+    rev = "fb31ab18f94f3b5141bea03e8537d76c606cd276";
+    sha256 = "1465zl8l87fm1ps5f2may6mcc3pp40mpd6wphpxnwwk1lmv48x96";
   };
 
   buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
index 92cdddd8dcb0..2bd4b5847241 100644
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, pygtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.7";
+  version = "0.4.8";
   name = "diffuse-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2";
-    sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh";
+    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
   };
 
   buildInputs = [ python pygtk makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index fb7232794c51..383114f1c3cc 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "cgit-${version}";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchurl {
     url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz";
-    sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3";
+    sha256 = "13ac4rqmxc87ymh78ff8kbw1s252nbid71l0ircmj9kmh9jqwncl";
   };
 
   # cgit is tightly coupled with git and needs a git source tree to build.
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 62132271ec99..f00ca9da046d 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
@@ -17,8 +17,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140817";
-  sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc";
+  version = "5.20140831";
+  sha256 = "0s2pc8bm3c79dsbafwp2pc5yghzh6vdzs9sj0mfq6rxiv27wrrwq";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -35,10 +35,7 @@ cabal.mkDerivation (self: {
   ];
   buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
   configureFlags = "-fAssistant -fProduction";
-  preConfigure = ''
-    export HOME="$NIX_BUILD_TOP/tmp"
-    mkdir "$HOME"
-  '';
+  preConfigure = "export HOME=$TEMPDIR";
   installPhase = "./Setup install";
   checkPhase = ''
     cp dist/build/git-annex/git-annex git-annex
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 28484322d351..8d578c2b4660 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "1.12.0";
+  version = "1.12.2";
 
   src = fetchurl {
     url = "https://github.com/github/hub/archive/v${version}.tar.gz";
-    sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv";
+    sha256 = "112yfv9xklsmwv859kypv7hz0a6dj5hkrmjp7z1h40nrljc9mi79";
   };
 
   buildInputs = [ rake makeWrapper ];
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     description = "A GitHub specific wrapper for git";
     homepage = "http://defunkt.io/hub/";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index b0cfcaeb1108..f30a47a78b9a 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, ruby, makeWrapper, git }:
 
 let
-  version = "2.2.5";
+  version = "2.3.2";
 in
 stdenv.mkDerivation {
   name = "svn2git-${version}";
 
   src = fetchurl {
     url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz";
-    sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh";
+    sha256 = "1484mpcabqf9kr6xdpdgb1npkqav1bcah3w5lxj2djjx4bjf2g3y";
   };
 
   buildInputs = [ ruby makeWrapper ];
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 951ea29a7fca..145496cb49cb 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
     description = "Visual diff and merge tool";
     homepage = http://meld.sourceforge.net;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
new file mode 100644
index 000000000000..a3d4783d20d1
--- /dev/null
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, lib, makeWrapper
+, jdk
+, gtk, glib
+, libXtst
+, git, mercurial, subversion
+, which
+}:
+
+let
+  the_version = "6_0_6";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "smartgithg-${the_version}";
+
+  src = fetchurl {
+    url = "http://www.syntevo.com/download/smartgithg/" +
+          "smartgithg-generic-${the_version}.tar.gz";
+    sha256 = "13e41560138ef18395fbe0bf56d4d29e8614eee004d51d7dd03381080d8426e6";
+  };
+
+  buildInputs = [
+    makeWrapper
+    jdk
+  ];
+
+  buildCommand = let
+    pkg_path = "$out/${name}";
+    bin_path = "$out/bin";
+    runtime_paths = lib.makeSearchPath "bin" [
+      jdk
+      git mercurial subversion
+      which
+    ];
+    runtime_lib_paths = lib.makeLibraryPath [
+      gtk glib
+      libXtst
+    ];
+  in ''
+    tar xvzf $src
+    mkdir -pv $out
+    # unpacking should have produced a dir named ${name}
+    cp -a ${name} $out
+    mkdir -pv ${bin_path}
+    makeWrapper ${pkg_path}/bin/smartgithg.sh ${bin_path}/smartgithg \
+      --prefix PATH : ${runtime_paths} \
+      --prefix LD_LIBRARY_PATH : ${runtime_lib_paths} \
+      --prefix JDK_HOME : ${jdk}/lib/openjdk
+    patchShebangs $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for Git, Mercurial, Subversion";
+    homepage = http://www.syntevo.com/smartgithg/;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 7526bb5f0437..283ea7591538 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
 
 stdenv.mkDerivation rec {
 
-  version = "1.8.9";
+  version = "1.8.10";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion/${name}.tar.bz2";
-    sha1 = "424ee12708f39a126efd905886666083dcc4eeaf";
+    sha256 = "1k3xskg2kjfp3zipl46lqx4fq4lhqnswd79qxp1kfhwplz401j8w";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index c06aa0a036cd..a2089e04e70e 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -10,8 +10,7 @@
 , openalSupport ? false, openal ? null
 , alsaSupport ? true, alsaLib ? null
 , pulseaudioSupport ? true, pulseaudio ? null
-, portaudioSupport ? false, portaudio ? null
-}:
+, portaudioSupport ? false, portaudio ? null }:
 
 assert spellChecking -> (hunspell != null);
 assert automationSupport -> (lua != null);
@@ -62,6 +61,5 @@ stdenv.mkDerivation rec {
               # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
-
   };
 }
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index db1ced49166e..a9f9c78d332f 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -22,8 +22,7 @@
 # for Youtube support
 , quviSupport ? false, libquvi ? null
 , cacaSupport ? false, libcaca ? null
-, vaapiSupport ? false, libva ? null
-}:
+, vaapiSupport ? false, libva ? null }:
 
 assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
@@ -114,15 +113,17 @@ stdenv.mkDerivation rec {
     ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
     '';
 
-  meta = {
+  meta = with stdenv.lib;{
     description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
     longDescription = ''
-    mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both.
+      mpv is a free and open-source general-purpose video player,
+      based on the MPlayer and mplayer2 projects, with great
+      improvements above both.
     '';
-    homepage = "http://mpv.io";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = http://mpv.io;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 51baa32f61e8..79fd26204a90 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "14.08";
+  version = "14.09";
 
   src = fetchurl {
     url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
-    sha256 = "0klcvpgp2l6xcdjy1gg7a5s8mx0mm347zdf26q6kk685pldlvkyj";
+    sha256 = "1504ds3ppqmpg84nb2gb74qndqysjwn3xw7n8xv19kd1pppnr10f";
   };
 
   buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index c1c11357ca03..7c42aebf2bcf 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = http://home.gna.org/subtitleeditor;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.plcplc;
+    maintainers = [ stdenv.lib.maintainers.plcplc ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix
new file mode 100644
index 000000000000..561ab1516821
--- /dev/null
+++ b/pkgs/applications/video/wxcam/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl
+, pkgconfig
+, intltool
+, libX11, libXv, libSM
+, gtk, libglade
+, wxGTK
+, perlXMLParser
+, xvidcore
+, mjpegtools
+, alsaLib
+, libv4l
+, cimg }:
+
+stdenv.mkDerivation rec {
+
+  name = "wxcam-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/wxcam/wxcam/${version}/${name}.tar.gz";
+    sha256 = "1765bvc65fpzn9ycnnj5hais9xkx9v0sm6a878d35x54bpanr859";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlXMLParser xvidcore mjpegtools alsaLib libv4l cimg ];
+
+  NIX_CFLAGS_COMPILE="-I ${cimg}/include/cimg";
+
+  postUnpack = ''
+    sed -ie 's|/usr/share/|'"$out/share/"'|g' $sourceRoot/Makefile.in
+  '';
+
+  installPhase = ''
+    make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
+  '';    
+  
+  meta = with stdenv.lib; {
+    description = "An open-source, wxGTK-based webcam app for Linux"; 
+    longDescription = ''
+    wxCam is a webcam application for linux. It supports video recording
+    (avi uncompressed and Xvid formats), snapshot taking, and some special
+    commands for philips webcams, so you can also use it for astronomy purposes.
+    It supports both video4linux 1 and 2 drivers,
+    so it should work on a very large number of devices.
+    '';
+    homepage = http://wxcam.sourceforge.net/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix
index a16f052f622f..15d98dc9be50 100644
--- a/pkgs/applications/virtualization/8086tiny/default.nix
+++ b/pkgs/applications/virtualization/8086tiny/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl
 , localBios ? true, nasm ? null
-, sdlSupport ? true, SDL ? null
-}:
+, sdlSupport ? true, SDL ? null }:
 
 assert sdlSupport -> (SDL != null);
 
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 74ce7bdfcaa6..95db0dd67a1c 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -5,8 +5,7 @@
 , termSupport ? true , ncurses ? null, readline ? null
 , wxSupport ? false, wxGTK ? null
 , wgetSupport ? false, wget ? null
-, curlSupport ? false, curl ? null
-}:
+, curlSupport ? false, curl ? null }:
 
 assert sdlSupport -> (SDL != null);
 assert termSupport -> (ncurses != null&& readline != null);
@@ -52,15 +51,19 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
 	
-  meta = {
+  meta = with stdenv.lib; {
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
-    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.
+    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator,
+    written in C++, that runs on most popular platforms. It includes
+    emulation of the Intel x86 CPU, common I/O devices, and a custom
+    BIOS.
     '';
     homepage = http://bochs.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
+
 # TODO: study config.bochs.* implementation (like config.ffmpeg.* options)
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index f4d329221ff3..dafc093bf05a 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper,
-btrfsProgs, iptables, bash, e2fsprogs}:
+btrfsProgs, iptables, bash, e2fsprogs, xz}:
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker
-    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit
-    wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin"
+    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
+    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
+    makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin"
 
     # systemd
     install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index e451ff79a945..d4d680f05fa2 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -51,7 +51,6 @@ buildPythonPackage rec {
             --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
             --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
             --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \
-            --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \
             --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
     done
 
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index a5d7c7754125..1da4a521da75 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation  {
 
   meta = {
     description = "A viewer for remote virtual machines";
-    maintainers = maintainers.raskin;
+    maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
   };
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
index bee774d10da2..46a19b90b8bb 100644
--- a/pkgs/applications/window-managers/bar/default.nix
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -17,8 +17,8 @@ in
   
     meta = {
       description = "A lightweight xcb based bar";
-      homepage = "https://github.com/LemonBoy/bar";
-      maintainers = stdenv.lib.maintainers.meisternu;
+      homepage = https://github.com/LemonBoy/bar;
+      maintainers = [ stdenv.lib.maintainers.meisternu ];
       license = "Custom";   
       platforms = stdenv.lib.platforms.linux;
     };
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index 24789f37ba7e..0b36d922df4c 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tiling window manager based on binary space partitioning";
-    homepage = "http://github.com/baskerville/bspwm";
-    maintainers = stdenv.lib.maintainers.meisternu;
+    homepage = http://github.com/baskerville/bspwm;
+    maintainers = [ stdenv.lib.maintainers.meisternu ];
     license = "BSD";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix
index af6545b61515..b46864b9c2e4 100644
--- a/pkgs/applications/window-managers/fluxbox/default.nix
+++ b/pkgs/applications/window-managers/fluxbox/default.nix
@@ -2,8 +2,7 @@
 , freetype, fribidi
 , libXext, libXft, libXpm, libXrandr, libXrender, xextproto
 , libXinerama
-, imlib2
-}:
+, imlib2 }:
 
 stdenv.mkDerivation rec {
 
@@ -17,17 +16,19 @@ stdenv.mkDerivation rec {
     sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Full-featured, light-resource X window manager";
     longDescription = ''
-      Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources.
-      It is very light on resources and easy to handle but yet full of features to make an easy,
-      and extremely fast, desktop experience. It is written in C++ and licensed under MIT license.
+      Fluxbox is a X window manager based on Blackbox 0.61.1 window
+      manager sources.  It is very light on resources and easy to
+      handle but yet full of features to make an easy, and extremely
+      fast, desktop experience. It is written in C++ and licensed
+      under MIT license.
     '';
     homepage = http://fluxbox.org/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 # Many thanks Jack Ryan from Nix-dev mailing list!
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 73c5e5df81af..f019ba9751b9 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "jwm-2.2.2";
   
   src = fetchurl {
-     url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz";
+     url = "http://www.joewing.net/projects/jwm/releases/${name}.tar.xz";
      sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
   };
 
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
new file mode 100644
index 000000000000..f8130b423a20
--- /dev/null
+++ b/pkgs/build-support/agda/default.nix
@@ -0,0 +1,95 @@
+# Builder for Agda packages. Mostly inspired by the cabal builder.
+#
+# Contact: stdenv.lib.maintainers.fuuzetsu
+
+{ stdenv, Agda, glibcLocales
+, writeScriptBin
+, extension ? (self: super: {})
+}:
+
+let
+  optionalString = stdenv.lib.optionalString;
+  filter = stdenv.lib.filter;
+  concatMapStringsSep = stdenv.lib.strings.concatMapStringsSep;
+  concatMapStrings = stdenv.lib.strings.concatMapStrings;
+  unwords = stdenv.lib.strings.concatStringsSep " ";
+  mapInside = xs: unwords (map (x: x + "/*") xs);
+in
+{ mkDerivation = args:
+    let
+      postprocess = x: x // {
+        sourceDirectories = filter (y: !(y == null)) x.sourceDirectories;
+        propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
+        propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
+        extraBuildFlags = filter (y : ! (y == null)) x.extraBuildFlags;
+        everythingFile = if x.everythingFile == "" then "Everything.agda" else x.everythingFile;
+      };
+
+      defaults = self : {
+        # There is no Hackage for Agda so we require src.
+        inherit (self) src name;
+
+        buildInputs = [ Agda ] ++ self.buildDepends;
+        buildDepends = [];
+        # Not much choice here ;)
+        LANG = "en_US.UTF-8";
+        LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
+
+        everythingFile = "Everything.agda";
+
+        propagatedBuildInputs = self.buildDepends ++ self.buildTools;
+        propagatedUserEnvPkgs = self.buildDepends;
+
+        # Immediate source directories under which modules can be found.
+        sourceDirectories = [ ];
+
+        # This is used if we have a top-level element that only serves
+        # as the container for the source and we only care about its
+        # contents. The directories put here will have their
+        # *contents* copied over as opposed to sourceDirectories which
+        # would make a direct copy of the whole thing.
+        topSourceDirectories = [ "src" ];
+
+        buildTools = [];
+
+        # Extra stuff to pass to the Agda binary.
+        extraBuildFlags = [ "-i ." ];
+        buildFlags = let r = map (x: "-i " + x + "/share/agda") self.buildDepends;
+                         d = map (x : "-i " + x) (self.sourceDirectories ++ self.topSourceDirectories);
+                     in unwords (r ++ d ++ self.extraBuildFlags);
+
+        # We expose this as a mere convenience for any tools.
+        AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDepends;
+
+        # Makes a wrapper available to the user. Very useful in
+        # nix-shell where all dependencies are -i'd.
+        agdaWrapper = writeScriptBin "agda" ''
+          ${Agda}/bin/agda ${self.buildFlags} "$@"
+        '';
+
+        # configurePhase is idempotent
+        configurePhase = ''
+          eval "$preConfigure"
+          export AGDA_PACKAGE_PATH=${self.AGDA_PACKAGE_PATH};
+          export PATH="${self.agdaWrapper}/bin:$PATH"
+          eval "$postConfigure"
+        '';
+
+        buildPhase = ''
+          eval "$preBuild"
+          ${Agda}/bin/agda ${self.buildFlags} ${self.everythingFile}
+          eval "$postBuild"
+        '';
+
+        installPhase = ''
+          eval "$preInstall"
+          mkdir -p $out/share/agda
+          cp -pR ${unwords self.sourceDirectories} ${mapInside self.topSourceDirectories} $out/share/agda
+          eval "$postInstall"
+        '';
+      };
+    in stdenv.mkDerivation
+         (postprocess (let super = defaults self // args self;
+                           self  = super // extension self super;
+                       in self));
+}
\ No newline at end of file
diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix
index e807a04628a3..89dd2faf3ba4 100644
--- a/pkgs/build-support/build-fhs-chrootenv/default.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/default.nix
@@ -1,16 +1,77 @@
-{stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2, 
-bashInteractive, xz, shadow, gawk, less, buildEnv}:
-{name, pkgs ? [], profile ? ""}:
+{ buildEnv, nixpkgs, nixpkgs_i686, system
+, stdenv, glibc, glibc_multi, glibcLocales
+, bashInteractive, coreutils, less, shadow, su
+, gawk, gcc, gcc_multi, diffutils, findutils, gnused, gnugrep
+, gnutar, gzip, bzip2, xz
+} :
+{ name, pkgs ? [], profile ? ""
+, targetPkgs ? null, multiPkgs ? null
+, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
+}:
+
+assert pkgs       != []   -> targetPkgs == null && multiPkgs == null;
+assert targetPkgs != null -> multiPkgs  != null;
+assert multiPkgs  != null -> targetPkgs != null;
+assert targetPkgs != null -> pkgs       == [];
+
+
+# HOWTO:
+# If pkgs is defined buildFHSChrootEnv will run in legacy mode. This means
+# it will build all pkgs contained in pkgs and basePkgs and then just merge
+# all of their contents together via buildEnv.
+#
+# The new way is to define both targetPkgs and multiPkgs. These two are
+# functions which get a pkgs environment supplied and should then return a list
+# of packages based this environment.
+# For example: targetPkgs = pkgs: [ pkgs.nmap ];
+#
+# All packages (most likeley programs) placed in targetPkgs will only be
+# installed once--matching the hosts architecture (64bit on x86_64 and 32bit on
+# x86). These packages will populate the chroot directory tree.
+#
+# Packages (most likeley libraries) defined in multiPkgs will be installed once
+# on x86 systems and twice on x86_64 systems.
+# On x86 they will just be merge with the packages defined in targetPkgs.
+# On x86_64 they will be added to targetPkgs and in addition their 32bit
+# versions will also be installed. The final directory should look as follows:
+# /lib will include 32bit libraries from multiPkgs
+# /lib32 will link to /lib
+# /lib64 will include 64bit libraries from multiPkgs and targetPkgs
+# /x86 will contain a complete 32bit environment composed by multiPkgs
 
 let
-  basePkgs = [
-    glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar
-    gzip bzip2 bashInteractive xz shadow gawk less
-  ];
+  is64Bit       = system == "x86_64-linux";
+  # enable multi builds on x86_64 hosts if pakgs_target/multi are defined
+  isMultiBuild  = is64Bit && targetPkgs != null;
+  isTargetBuild = !isMultiBuild;
+
+  # list of packages (usually programs) which will only be installed for the
+  # hosts architecture
+  targetPaths = if targetPkgs == null
+                  then pkgs
+                  else targetPkgs nixpkgs ++ multiPkgs nixpkgs;
+
+  # list of pckages which should be build for both x86 and x86_64 on x86_64
+  # systems
+  multiPaths = if isMultiBuild
+                  then multiPkgs nixpkgs_i686
+                  else [];
+
+  # base packages of the chroot
+  # these match the hosts architecture, gcc/glibc_multi will be choosen
+  # on multi builds
+  choosenGcc = if isMultiBuild then gcc_multi else gcc;
+  basePkgs =
+    [ (if isMultiBuild then glibc_multi else glibc)
+      choosenGcc
+      bashInteractive coreutils less shadow su
+      gawk diffutils findutils gnused gnugrep
+      gnutar gzip bzip2 xz
+    ];
 
   # Compose a global profile for the chroot environment
-  profilePkg = stdenv.mkDerivation {
-    name = "${name}-chrootenv-profile";
+  profilePkg = nixpkgs.stdenv.mkDerivation {
+    name         = "${name}-chrootenv-profile";
     buildCommand = ''
       mkdir -p $out/etc
       cat >> $out/etc/profile << "EOF"
@@ -20,67 +81,139 @@ let
     '';
   };
 
-  paths = basePkgs ++ [ profilePkg ] ++ pkgs;
-
   # Composes a /usr like directory structure
-  staticUsrProfile = buildEnv {
-    name = "system-profile";
-    inherit paths;
+  staticUsrProfileTarget = buildEnv {
+    name = "system-profile-target";
+    paths = basePkgs ++ [ profilePkg ] ++ targetPaths;
+  };
+
+  staticUsrProfileMulti = buildEnv {
+    name = "system-profile-multi";
+    paths = multiPaths;
   };
-  
+
   # References to shell scripts that set up or tear down the environment
-  initSh = ./init.sh.in;
-  mountSh = ./mount.sh.in;
-  loadSh = ./load.sh.in;
-  umountSh = ./umount.sh.in;
+  initSh    = ./init.sh.in;
+  mountSh   = ./mount.sh.in;
+  loadSh    = ./load.sh.in;
+  umountSh  = ./umount.sh.in;
   destroySh = ./destroy.sh.in;
-in
-stdenv.mkDerivation {
-  name = "${name}-chrootenv";
-  buildCommand = ''
-    mkdir -p $out/sw
-    cd $out/sw
-    
-    for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var}
-    do
+
+  linkProfile = profile: ''
+    for i in ${profile}/{etc,bin,sbin,share,var}; do
         if [ -x "$i" ]
         then
             ln -s "$i"
         fi
     done
-    
-    ln -s ${staticUsrProfile} usr
-    
+  '';
+
+  # the target profile is the actual profile that will be used for the chroot
+  setupTargetProfile = ''
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
+
+    mkdir -m0755 usr
+    cd usr
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
     cd ..
-    
+  '';
+
+  # this will happen on x86_64 host:
+  # /x86         -> links to the whole profile defined by multiPaths
+  # /lib, /lib32 -> links to 32bit binaries
+  # /lib64       -> links to 64bit binaries
+  # /usr/lib*    -> same as above
+  setupMultiProfile = if isTargetBuild then "" else ''
+    mkdir -m0755 x86
+    cd x86
+    ${linkProfile staticUsrProfileMulti}
+    cd ..
+  '';
+
+  setupLibDirs = if isTargetBuild then setupLibDirs_target
+                                  else setupLibDirs_multi;
+
+  # setup library paths only for the targeted architecture
+  setupLibDirs_target = ''
+    mkdir -m0755 lib
+
+    # copy content of targetPaths
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib/
+  '';
+
+  # setup /lib, /lib32 and /lib64
+  setupLibDirs_multi = ''
+    mkdir -m0755 lib
+    mkdir -m0755 lib64
+    ln -s lib lib32
+
+    # copy glibc stuff
+    cp -rsf ${staticUsrProfileTarget}/lib/32/* lib/
+
+    # copy content of multiPaths (32bit libs)
+    cp -rsf ${staticUsrProfileMulti}/lib/* lib/
+
+    # copy content of targetPaths (64bit libs)
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib64/
+
+    # most 64bit only libs put their stuff into /lib
+    # some pkgs (like gcc_multi) put 32bit libs into and /lib 64bit libs into /lib64
+    # by overwriting these we will hopefully catch all these cases
+    # in the end /lib should only contain 32bit and /lib64 only 64bit libs
+    cp -rsf ${staticUsrProfileTarget}/lib64/* lib64/
+
+    # copy gcc libs (and may overwrite exitsting wrongly placed libs)
+    cp -rsf ${choosenGcc.gcc}/lib/*   lib/
+    cp -rsf ${choosenGcc.gcc}/lib64/* lib64/
+  '';
+
+in stdenv.mkDerivation {
+  name         = "${name}-chrootenv";
+  buildCommand = ''
+    mkdir -p "$out/sw"
+    cd "$out/sw"
+    ${setupTargetProfile}
+    ${setupMultiProfile}
+    cd ..
+
     mkdir -p bin
     cd bin
-    
+
     sed -e "s|@chrootEnv@|$out|g" \
         -e "s|@name@|${name}|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         ${initSh} > init-${name}-chrootenv
     chmod +x init-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${mountSh} > mount-${name}-chrootenv
     chmod +x mount-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${loadSh} > load-${name}-chrootenv
     chmod +x load-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${umountSh} > umount-${name}-chrootenv
     chmod +x umount-${name}-chrootenv
-    
+
     sed -e "s|@chrootEnv@|$out|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${destroySh} > destroy-${name}-chrootenv
     chmod +x destroy-${name}-chrootenv
+
+    cd ..
+
+    cd "$out/sw"
+    ${extraBuildCommands}
+    cd "$out/sw"
+    ${if isMultiBuild then extraBuildCommandsMulti else ""}
+    cd ..
   '';
 }
diff --git a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
index 30b51cb5068f..8ddf350913eb 100644
--- a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
@@ -3,7 +3,7 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Remove bind mount points
-rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run}
+rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run,tmp}
 
 # Remove symlinks to the software that should be part of the chroot system profile
 for i in @chrootEnv@/sw/*
@@ -15,7 +15,8 @@ do
 done
 
 # Remove the remaining folders
-rm -Rf $chrootenvDest/{etc,root,tmp}
+rm -Rf $chrootenvDest/{etc,root}
+rm -Rf /tmp/chrootenv-@name@
 
 # Remove the chroot environment folder
 rmdir $chrootenvDest
diff --git a/pkgs/build-support/build-fhs-chrootenv/init.sh.in b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
index 5b0ab94bc4eb..079ec09d60f7 100644
--- a/pkgs/build-support/build-fhs-chrootenv/init.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
@@ -45,4 +45,5 @@ ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fon
 mkdir $chrootenvDest/root
 
 # Create tmp folder
-mkdir -m1777 $chrootenvDest/tmp
+mkdir -m1777    $chrootenvDest/tmp
+mkdir -m1777 -p /tmp/chrootenv-@name@
diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
index 225d9dbc4f72..c64f9356283b 100644
--- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
@@ -21,3 +21,6 @@ mount --rbind /run $chrootenvDest/run
 
 # Bind mount the host system's /etc
 mount --bind /etc $chrootenvDest/host-etc
+
+# Bind mount /tmp
+mount --bind /tmp/chrootenv-@name@ /run/chrootenv/steam/tmp
diff --git a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
index 5089141c0aa4..b8222a4121ab 100644
--- a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
@@ -3,4 +3,4 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Unmount all (r)bind mounts
-umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
+umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,tmp,run}
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index a17daf9a2c57..c52a26b7165d 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -1,5 +1,7 @@
 {stdenv, git, cacert}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true
+, name ? "git-export"
+}:
 
 /* NOTE:
    fetchgit has one problem: git fetch only works for refs.
@@ -26,7 +28,7 @@
 assert md5 != "" || sha256 != "";
 
 stdenv.mkDerivation {
-  name = "git-export";
+  inherit name;
   builder = ./builder.sh;
   fetcher = ./nix-prefetch-git;
   buildInputs = [git];
diff --git a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
index c53fd44207d0..2ad7783a442c 100644
--- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
@@ -77,7 +77,6 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
         n=$((n + 1))
     done
     params=("${rest[@]}")
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty"
 fi
 
 
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index e66b348d082a..bd6ac84a0f8d 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -32,7 +32,7 @@ let
 
     grKernel = if cfg.stable
                then mkKernel pkgs.linux_3_14 stable-patch
-               else mkKernel pkgs.linux_3_15 test-patch;
+               else mkKernel pkgs.linux_3_16 test-patch;
 
     ## -- grsecurity configuration ---------------------------------------------
 
diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
index 28c28f695875..b66001073f27 100644
--- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
+++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
@@ -8,6 +8,10 @@ SF_version_dir () {
   version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$'
 }
 
+SF_version_tarball () {
+  version_link '[.]tar[.].*/download$'
+}
+
 GH_latest () {
   prefetch_command_rel ../fetchgit/nix-prefetch-git
   revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )"
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index e11eb722e0e4..e60499b60f27 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -280,6 +280,12 @@ do_overwrite_just_version () {
   set_var_value sha256 $CURRENT_HASH
 }
 
+minimize_overwrite() {
+  do_overwrite(){
+    do_overwrite_just_version
+  }
+}
+
 process_config () {
   CONFIG_DIR="$(directory_of "$1")"
   CONFIG_NAME="$(basename "$1")"
@@ -297,9 +303,7 @@ process_config () {
       exit 1;
     }
     [ -z "$(retrieve_meta fullRegenerate)" ] && eval "
-      do_overwrite(){
-        do_overwrite_just_version
-      }
+      minimize_overwrite
     "
   fi
   ensure_attribute_name
diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl
index 94da0a20adc1..411c351f1e44 100644
--- a/pkgs/build-support/vm/rpm/rpm-closure.pl
+++ b/pkgs/build-support/vm/rpm/rpm-closure.pl
@@ -91,7 +91,7 @@ for (my $i = 0; $i < scalar(@packagesFiles); $i++) {
 
 my %provides;
 foreach my $pkgName (keys %pkgs) {
-    print STDERR "looking at $pkgName\n";
+    #print STDERR "looking at $pkgName\n";
     my $pkg = $pkgs{$pkgName};
     
     #print STDERR keys %{$pkg->{format}}, "\n";
diff --git a/pkgs/data/documentation/pthread-man-pages/default.nix b/pkgs/data/documentation/pthread-man-pages/default.nix
index 4cd5a5b8297b..cbd3234b2d44 100644
--- a/pkgs/data/documentation/pthread-man-pages/default.nix
+++ b/pkgs/data/documentation/pthread-man-pages/default.nix
@@ -43,6 +43,6 @@ in
     meta = {
       description = "POSIX threads (pthreads) manual pages from LinuxThreads";
       homepage = http://www.gnu.org/software/libc/;
-      maintainers = stdenv.lib.maintainers.mornfall;
+      maintainers = [ stdenv.lib.maintainers.mornfall ];
     };
   }
diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix
index 7394dce551ba..189c066b13eb 100644
--- a/pkgs/data/fonts/arkpandora/default.nix
+++ b/pkgs/data/fonts/arkpandora/default.nix
@@ -4,6 +4,7 @@ rec {
   src = fetchurl {
     urls = [
       "ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
+      "http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
       "http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
       ];
     sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51";
diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix
new file mode 100644
index 000000000000..acd16478fcf5
--- /dev/null
+++ b/pkgs/data/fonts/baekmuk-ttf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "baekmuk-ttf-2.2";
+
+  src = fetchurl {
+    url = "http://kldp.net/frs/download.php/1429/${name}.tar.gz";
+    sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882";
+  };
+
+  dontBuild = true;
+
+  installPhase = let
+    fonts_dir = "$out/share/fonts";
+    doc_dir = "$out/share/doc/${name}";
+  in ''
+    mkdir -pv ${fonts_dir}
+    mkdir -pv ${doc_dir}
+    cp ttf/*.ttf ${fonts_dir}
+    cp COPYRIGHT* ${doc_dir}
+  '';
+
+  meta = {
+    description = "Korean font";
+    homepage = "http://kldp.net/projects/baekmuk/";
+    license = "BSD-like";
+  };
+}
+
diff --git a/pkgs/data/fonts/proggyfonts/default.nix b/pkgs/data/fonts/proggyfonts/default.nix
new file mode 100644
index 000000000000..1c41a92bf96c
--- /dev/null
+++ b/pkgs/data/fonts/proggyfonts/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+
+# adapted from https://aur.archlinux.org/packages/proggyfonts/
+
+stdenv.mkDerivation rec {
+  name = "proggyfonts-0.1";
+
+  src = fetchurl {
+    url = "http://kaictl.net/software/${name}.tar.gz";
+    sha256 = "1plcm1sjpa3hdqhhin48fq6zmz3ndm4md72916hd8ff0w6596q0n";
+  };
+
+  buildInputs = [ mkfontdir mkfontscale ];
+
+  installPhase =
+    ''
+      mkdir -p $out/share/doc/$name $out/share/fonts/misc $out/share/fonts/truetype
+
+      cp Licence.txt $out/share/doc/$name/LICENSE
+
+      for f in *.pcf; do
+        gzip -c "$f" > $out/share/fonts/misc/"$f".gz
+      done
+      cp *.bdf $out/share/fonts/misc
+      cp *.ttf $out/share/fonts/truetype
+
+      for f in misc truetype; do
+        cd $out/share/fonts/$f
+        mkfontscale
+        mkfontdir
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://upperbounds.net;
+    description = "A set of fixed-width screen fonts that are designed for code listings";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/stix-otf/default.nix b/pkgs/data/fonts/stix-otf/default.nix
new file mode 100644
index 000000000000..f32d865c95c7
--- /dev/null
+++ b/pkgs/data/fonts/stix-otf/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "stix-otf-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/stixfonts/STIXv${version}-word.zip";
+    sha256 = "1q35wbqn3nh78pdban9z37lh090c6p49q3d00zzxm0axxz66xy4q";
+  };
+
+  buildInputs = [unzip];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  sourceRoot = "Fonts/STIX-Word";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp *.otf $out/share/fonts/opentype
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.stixfonts.org/;
+    description = "Fonts for Scientific and Technical Information eXchange";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
index b324e52d0212..70375a22bae5 100644
--- a/pkgs/data/fonts/symbola/default.nix
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "symbola-7.12";
+  name = "symbola-7.17";
 
   src = fetchurl {
     url = "http://users.teilar.gr/~g1951d/Symbola.zip";
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
index 065bb4bc828f..c0665b2f0ccf 100644
--- a/pkgs/data/fonts/wqy-microhei/default.nix
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.asl20;
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index d42665c69cca..92f043c7fc07 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.gpl2; # with font embedding exceptions
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix
index db4d13b890fd..a40856e59106 100644
--- a/pkgs/data/misc/miscfiles/default.nix
+++ b/pkgs/data/misc/miscfiles/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "miscfiles-1.4.2";
+  name = "miscfiles-1.5";
 
   src = fetchurl {
     url = "mirror://gnu/miscfiles/${name}.tar.gz";
-    sha256 = "1rh10y63asyrqyp5mlmxy7y4kdp6svk2inws3y7mfx8lsrhcm6dn";
+    sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/miscfiles/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     description = "Collection of files not of crucial importance for sysadmins";
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 134a6f5307eb..57f5b24a6f87 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -2,11 +2,11 @@
 , libxml2, glib}:
 
 stdenv.mkDerivation rec {
-  name = "shared-mime-info-1.2";
+  name = "shared-mime-info-1.3";
 
   src = fetchurl {
     url = "http://freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5";
+    sha256 = "0fijrc8j2kw6bvdx7fmlfafbcwxvinhr8l44b46b3v59gj69rm2g";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 97dcbf4e0041..3da878dde742 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
 
 stdenv.mkDerivation {
   name = "scrollkeeper-0.3.14";
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
     cp ${automake}/share/automake*/config.{sub,guess} .
   ";
 
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
+  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt gettext];
   configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
 }
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
index 84a77e5a024a..6b9a69c738dc 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gedit" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
       --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
index b393bb439316..a8c84d6a7698 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
@@ -28,17 +28,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ];
-    in
-    ''
+  preFixup = ''
     substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
     wrapProgram "$out/bin/gnome-documents" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libPath}" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
index b8d2bbc79efd..31d521e8c302 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
@@ -24,19 +24,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ glib gtk3 libnotify tracker gnome3.grilo cairo
-          gst_all_1.gstreamer gst_all_1.gst-plugins-base
-          gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
-    in
-    ''
+  preFixup = ''
     wrapProgram "$out/bin/gnome-music" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${libPath}" \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
       --prefix PYTHONPATH : "$PYTHONPATH"
diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
index f9fbbbe56c62..b60363b024cf 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
@@ -1,22 +1,22 @@
 { stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
 , pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3
 , makeWrapper, itstool, shared_mime_info, libical, db, gcr
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
 , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }:
 
 stdenv.mkDerivation rec {
-  name = "evolution-3.12.2";
+  name = "evolution-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz";
-    sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948";
+    sha256 = "08y1qiydbbk4fq8rrql9sgbwsny8bwz6f7m5kbbj5zjqvf1baksj";
   };
 
   doCheck = true;
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
                   gnome3.evolution_data_server libsecret libical gcr
                   webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
index 0909a4239db5..c65a28c34467 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "gedit-3.12.1";
+  name = "gedit-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz";
-    sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f";
+    sha256 = "0lxnswqa0ysr57cqh062wp41sd76p6q7y3mnkl7rligd5c8hnikm";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
index d784544a183d..c5f9bdb27746 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
@@ -4,11 +4,11 @@
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-music-3.12.2";
+  name = "gnome-music-3.12.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz";
-    sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a";
+    sha256 = "1vwzjv5001pg37qc0sh4ph3srqwg3vgibbdlqpim9w2k70l9j34z";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
index 7fb341948be5..c6ac93b10747 100644
--- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
@@ -11,11 +11,11 @@
 # TODO: enable more features
 
 stdenv.mkDerivation rec {
-  name = "empathy-3.12.2";
+  name = "empathy-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz";
-    sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd";
+    sha256 = "0rhgpiv75aafmdh6r7d4ci59lnxqmmwg9hvsa5b3mk7j2d2pma86";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
index b8711f7e563d..2cb1fbe90d45 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
@@ -4,11 +4,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "evolution-data-server-3.12.2";
+  name = "evolution-data-server-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz";
-    sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6";
+    sha256 = "d3a2f832f823cb2a41467926dcaec984a15b2cb51ef89cf41267e337ca750811";
   };
 
   buildInputs = with gnome3;
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
index 47b958002a39..7e3af8405a4b 100644
--- a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
@@ -5,11 +5,11 @@
 # TODO: enable more folks backends
 
 stdenv.mkDerivation rec {
-  name = "folks-0.9.6";
+  name = "folks-0.9.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
-    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
+    sha256 = "09cbs3ihcswpi1wg8xbjmkqjbhnxa1idy1fbzmz0gah7l5mxmlfj";
   };
 
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
index 666032f56a73..19d0c9c10e89 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
@@ -3,11 +3,11 @@
 , itstool, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-calculator-3.12.1";
+  name = "gnome-calculator-3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz";
-    sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740";
+    sha256 = "0bn3agh3g22iradfpzkc19a2b33b1mbf0ciy1hf2sijrczi24410";
   };
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index dbb19f77d21e..6f6816efa5bd 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-shell" \
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
index 7377c839d1c9..2a237b15c21c 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-user-docs-3.12.1";
+  name = "gnome-user-docs-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz";
-    sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418";
+    sha256 = "1cj45lpa74vkbxyila3d6pn5m1gh51nljp9fjirxmzwi1h6wg7jd";
   };
 
   buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
index a8a1c244767c..9076d5c58390 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
@@ -3,11 +3,11 @@
 , gmime, json_glib, avahi, tracker, itstool }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-plugins-0.2.12";
+  name = "grilo-plugins-0.2.13";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
-    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
+    sha256 = "008jwm5ydl0k25p3d2fkcail40fj9y3qknihxb5fg941p8qlhm55";
   };
 
   installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
index 6f1bfbbcfe94..9c0e3f9a0bc9 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
@@ -2,11 +2,11 @@
 , libxml2, gnome3, gobjectIntrospection, libsoup }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-0.2.10";
+  name = "grilo-0.2.11";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
-    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
+    sha256 = "8a52c37521de80d6caf08a519a708489b9e2b097c2758a0acaab6fbd26d30ea6";
   };
 
   configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
index 4564b0d21e17..8a89425a6963 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "3.12.2";
+  version = "3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz";
-    sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad";
+    sha256 = "1xzmw9n9zbkaasl8xi7s5h49wiv5dq4qf8hr2pzjkack3ai5j6gk";
   };
 
   buildInputs = [ pkgconfig atk cairo glib gtk3 pango
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
index 3589299df3ec..490947519832 100644
--- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
@@ -5,11 +5,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "totem-3.12.1";
+  name = "totem-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz";
-    sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3";
+    sha256 = "1law033wxbs8v3l2fk0p1v8lf9m45dm997yhq0cmqgw10jxxiybn";
   };
 
   doCheck = true;
@@ -39,8 +39,6 @@ stdenv.mkDerivation rec {
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
-  patches = [ ./fix_files_loss.patch ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Videos;
     description = "Movie player for the GNOME desktop based on GStreamer";
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
deleted file mode 100644
index b85ad1efd00e..000000000000
--- a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Thu, 15 May 2014 19:28:35 +0200
-Subject: main: Fix potential data loss when removing multiple files
-
-We were using a list of GtkTreePaths and deleting the items one-by-one
-when the user clicked the "Delete" button. But after the first deletion,
-the tree model would have changed, and instead of pointing to the 2nd
-item we wanted to delete, the GtkTreePath would have pointed to another
-item, usually not one that we wanted to delete.
-
-We now use GtkTreeRowReferences, which will always point to the same
-row, as long as it exists.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=729778
-
-diff --git a/src/totem-grilo.c b/src/totem-grilo.c
-index 2133d77..0cff0d6 100644
---- a/src/totem-grilo.c
-+++ b/src/totem-grilo.c
-@@ -2074,7 +2074,8 @@ static void
- delete_foreach (gpointer data,
- 		gpointer user_data)
- {
--	GtkTreePath *path = data;
-+	GtkTreeRowReference *ref = data;
-+	GtkTreePath *path;
- 	GtkTreeModel *view_model = user_data;
- 	GtkTreeIter iter;
- 	GrlSource *source;
-@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data,
- 	GtkTreeModel *model;
- 	GtkTreeIter real_model_iter;
- 
--	if (!gtk_tree_model_get_iter (view_model, &iter, path))
-+	path = gtk_tree_row_reference_get_path (ref);
-+	if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) {
-+		g_warning ("An item that was scheduled for removal isn't available any more");
- 		return;
-+	}
- 
- 	gtk_tree_model_get (view_model, &iter,
- 			    MODEL_RESULTS_CONTENT, &media,
-@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar,
- 	   TotemGrilo            *self)
- {
- 	GtkTreeModel *model;
--	GList *list;
-+	GList *list, *l;
- 
- 	g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self);
- 
- 	model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser));
- 	list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser));
-+
-+	/* GList of GtkTreePaths to a GList of GtkTreeRowReferences */
-+	for (l = list; l != NULL; l = l->next) {
-+		GtkTreeRowReference *ref;
-+
-+		ref = gtk_tree_row_reference_new (model, l->data);
-+		gtk_tree_path_free (l->data);
-+		l->data = ref;
-+	}
- 	g_list_foreach (list, delete_foreach, model);
--	g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
-+	g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free);
- 
- 	g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self);
- 
--- 
-cgit v0.10.1
-
diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
index 79155fe9b567..cf84f511416b 100644
--- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
@@ -8,11 +8,11 @@
 , libpng, libexif, libgsf, libuuid, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "tracker-1.0.1";
+  name = "tracker-1.0.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz";
-    sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889";
+    sha256 = "11pqcldgh07mjn38dlbj6ry5qkfbpf79ln5sqx7q86hhqzh3712h";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index 41597e47fa54..011424820e82 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -3,14 +3,14 @@
 stdenv.mkDerivation rec {
 
   versionMajor = "0.36";
-  versionMinor = "2";
+  versionMinor = "3";
   moduleName   = "vte";
 
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345";
+    sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c";
   };
 
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
index 1eb6c0e3ed29..768e8bdb36ef 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
@@ -5,11 +5,11 @@
 , gnome3, librsvg, gnome_doc_utils, webkitgtk }:
 
 stdenv.mkDerivation rec {
-  name = "geary-0.6.0";
+  name = "geary-0.6.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz";
-    sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715";
+    sha256 = "0ap40mpj89sx82kcxlhl9gipq34ks2b70yhiv9s8zc5wg0nm7rpg";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
index 2eccb9a32cf9..26e9144349f2 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file, libnotify }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-tweak-tool-3.10.1";
+  name = "gnome-tweak-tool-3.12.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
-    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
+    url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz";
+    sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29";
   };
 
   doCheck = true;
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
       --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
index 56a5f18544f7..c303ccdf51e2 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -30,8 +30,7 @@ stdenv.mkDerivation rec {
       for i in $out/libexec/gpaste/*; do
         wrapProgram $i \
           --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-          --prefix LD_LIBRARY_PATH : "${libPath}"
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
       done
     '';
 
diff --git a/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch b/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
new file mode 100644
index 000000000000..c85eccd6beb6
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
@@ -0,0 +1,36 @@
+--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+@@ -144,7 +144,7 @@
+ 
+ Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
+ {
+-    PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
+     PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
+                                                                                               PolkitQt1::Authority::None);
+     switch (r) {
+@@ -160,21 +160,12 @@
+ 
+ QByteArray Polkit1Backend::callerID() const
+ {
+-    QByteArray a;
+-    QDataStream s(&a, QIODevice::WriteOnly);
+-    s << QCoreApplication::applicationPid();
+-
+-    return a;
++    return QDBusConnection::systemBus().baseService().toUtf8();
+ }
+ 
+ bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
+ {
+-    QDataStream s(&callerID, QIODevice::ReadOnly);
+-    qint64 pid;
+-
+-    s >> pid;
+-
+-    PolkitQt1::UnixProcessSubject subject(pid);
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
+     PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
+ 
+     PolkitResultEventLoop e;
+
diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
index 396adf9ba752..5db693e6ea07 100644
--- a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
+++ b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
@@ -28,7 +28,10 @@ kde {
   # There are a few hardcoded paths.
   # Split plugins from libs?
 
-  patches = [ ../files/polkit-install.patch ];
+  patches = [
+    ../files/polkit-install.patch
+    ../files/kdelibs-cve-2014-5033.patch  # Security patch, remove when updating to 4.14.0 or more
+  ];
 
   cmakeFlags = [
     "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index 2b0f729c0a35..f486373ee17d 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base, gtk
-, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique?null }:
+{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
+, glib, gstreamer, gst_plugins_base, gtk
+, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null
+}:
 
 let
   # The usual Gstreamer plugins package has a zillion dependencies
@@ -23,13 +25,13 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
-      libxfce4util libxfce4ui xfce4panel xfconf libunique
+      libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper
     ];
 
   postInstall =
     ''
-      mkdir -p $out/nix-support
-      echo ${gst_plugins_minimal} > $out/nix-support/propagated-user-env-packages
+      wrapProgram "$out/bin/xfce4-mixer" \
+        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
     '';
 
   meta = {
diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix
index db160c652cfb..3a44baa489a7 100644
--- a/pkgs/development/compilers/agda/default.nix
+++ b/pkgs/development/compilers/agda/default.nix
@@ -28,7 +28,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://wiki.portal.chalmers.se/agda/";
     description = "A dependently typed functional programming language and proof assistant";
-    license = "unknown";
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
index d0ae1394f894..7305fbb5397b 100644
--- a/pkgs/development/compilers/agda/stdlib.nix
+++ b/pkgs/development/compilers/agda/stdlib.nix
@@ -1,7 +1,7 @@
-{ cabal, fetchurl, filemanip, Agda }:
+{ stdenv, agda, fetchurl, ghc, filemanip }:
 
-cabal.mkDerivation (self: rec {
-  pname = "Agda-stdlib";
+agda.mkDerivation (self: rec {
+  name = "Agda-stdlib";
   version = "0.8.1";
 
   src = fetchurl {
@@ -9,23 +9,18 @@ cabal.mkDerivation (self: rec {
     sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf";
   };
 
-  buildDepends = [ filemanip Agda ];
-
-  preConfigure = "cd ffi";
-
-  postInstall = ''
-      mkdir -p $out/share
-      cd ..
-      ${self.ghc.ghc}/bin/runhaskell GenerateEverything
-      ${Agda}/bin/agda -i . -i src Everything.agda
-      cp -pR src $out/share/agda
+  buildInputs = [ filemanip ghc ];
+  preConfigure = ''
+    runhaskell GenerateEverything.hs
   '';
 
-  meta = {
+  topSourceDirectories = [ "src" ];
+
+  meta = with stdenv.lib; {
     homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
     description = "A standard library for use with the Agda compiler.";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ jwiegley ];
   };
-})
\ No newline at end of file
+})
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 2fb8f9d73b5e..7166d325b31c 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -13,7 +13,7 @@
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, mpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
 , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@@ -59,14 +59,12 @@ let version = "4.8.3";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = []
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
       ++ optional (cross != null) ./libstdc++-target.patch
+      ++ optional noSysDirs ./no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ./gnat-cflags.patch
@@ -84,8 +82,8 @@ let version = "4.8.3";
     # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
     # binary distribution here to allow the whole chain to be bootstrapped.
     javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-3.1.3.jar;
-      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
+      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
+      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
     };
 
     xlibs = [
@@ -278,7 +276,6 @@ stdenv.mkDerivation ({
     ++ (optional javaAwtGtk pkgconfig);
 
   buildInputs = [ gmp mpfr mpc libelf ]
-    ++ (optional (ppl != null) ppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -295,15 +292,7 @@ stdenv.mkDerivation ({
 
   NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
 
-  preConfigure = ''
-    configureFlagsArray=(
-      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
-        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
-      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
-        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
-         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
-    );
-  '' + stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -331,7 +320,6 @@ stdenv.mkDerivation ({
     ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
     ${if enableShared then "" else "--disable-shared"}
     ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
-    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
     ${optionalString (isl != null) "--with-isl=${isl}"}
     ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
     ${if langJava then
@@ -414,7 +402,6 @@ stdenv.mkDerivation ({
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
       ${if enableShared then "" else "--disable-shared"}
-      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
       ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
       ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
       ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
@@ -523,7 +510,6 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
 
-    # 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 =
diff --git a/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
new file mode 100644
index 000000000000..36df51904acf
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
@@ -0,0 +1,28 @@
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/cppdefault.c gcc-4.8.3/gcc/cppdefault.c
+--- gcc-4.8.3-orig/gcc/cppdefault.c	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.3/gcc/cppdefault.c	2014-08-18 16:20:32.893944536 +0200
+@@ -35,6 +35,8 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++#undef LOCAL_INCLUDE_DIR
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/gcc.c gcc-4.8.3/gcc/gcc.c
+--- gcc-4.8.3-orig/gcc/gcc.c	2014-03-23 12:30:57.000000000 +0100
++++ gcc-4.8.3/gcc/gcc.c	2014-08-18 13:19:32.689201690 +0200
+@@ -1162,10 +1162,10 @@
+ /* Default prefixes to attach to command names.  */
+ 
+ #ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#define STANDARD_STARTFILE_PREFIX_1 ""
+ #endif
+ #ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#define STANDARD_STARTFILE_PREFIX_2 ""
+ #endif
+ 
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 8b185d00bcc0..d38040a48b38 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -11,7 +11,7 @@
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, mpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
 , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@@ -57,10 +57,7 @@ let version = "4.9.1";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = [ ]
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
@@ -276,7 +273,6 @@ stdenv.mkDerivation ({
     ++ (optional javaAwtGtk pkgconfig);
 
   buildInputs = [ gmp mpfr mpc libelf ]
-    ++ (optional (ppl != null) ppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -294,13 +290,6 @@ stdenv.mkDerivation ({
   NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
 
   preConfigure = ''
-    configureFlagsArray=(
-      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
-        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
-      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
-        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
-         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
-    );
     ${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit)
       ''
         export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
@@ -322,7 +311,6 @@ stdenv.mkDerivation ({
     ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
     ${if enableShared then "" else "--disable-shared"}
     ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
-    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
     ${optionalString (isl != null) "--with-isl=${isl}"}
     ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
     ${if langJava then
@@ -403,7 +391,6 @@ stdenv.mkDerivation ({
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
       ${if enableShared then "" else "--disable-shared"}
-      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
       ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
       ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
       ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
@@ -510,7 +497,6 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
 
-    # 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 =
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 0761f189bc82..7ff88017c055 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.14.2";
-  sha256 = "0j64kx357l16z9y9j20i7mvxgqff94bfssbhh1shb13c0pk5lmi6";
+  version = "0.9.14.3";
+  sha256 = "03zppfqjamy4mdwcfx3x1wzxav67ha1zgnynrxhvdqw3zcsrwnlr";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index 55e8ad45085f..cf4990c33b5f 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "65";
+  patchVersion = "67";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0";
-  sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7";
+  sha256_i686 = "0p58pag1x85r911lxhmr4blk687ivjqigflx175vp7rcmmj108xn";
+  sha256_x86_64 = "0db36jg08qy8712qy6lgyifdqlqb468rrnjm3aa6937ixl9ixpal";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 7dfbe218bb7c..ca5eadc8a649 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.19";
+  name = "orc-0.4.21";
 
   src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.gz";
-    sha256 = "17mmgwll2waz44m908lcxc5fd6n44yysh7p4pdw33hr138r507z2";
+    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
+    sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham";
   };
 
-  doCheck = true;
+  doCheck = stdenv.is64bit; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
 
   meta = {
     description = "The Oil Runtime Compiler";
diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix
new file mode 100644
index 000000000000..c9d360f0ec5c
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/1.2.0.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, sbclBootstrap, clisp}:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+  };
+
+  buildInputs = [ ]
+    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
+    ++ (stdenv.lib.optional stdenv.isLinux clisp)
+    ;
+
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+    echo "
+    (lambda (features)
+      (flet ((enable (x)
+               (pushnew x features))
+             (disable (x)
+               (setf features (remove x features))))
+        (enable :sb-thread))) " > customize-target-features.lisp
+
+    pwd
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix the tests
+    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
+
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+  '';
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  buildPhase = if stdenv.isLinux
+    then ''
+      sh make.sh clisp --prefix=$out
+    ''
+    else ''
+      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
+    '';
+
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
+
+  meta = {
+    description = "Lisp compiler";
+    homepage = http://www.sbcl.org;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index e299be9144eb..c556870d519f 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.11.0";
+  name = "scala-2.11.1";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7";
+    sha256 = "1vjsmqjwpxavyj29wrbvvx7799fsa65d4iha5mj63cgs8qp605gk";
   };
 
   buildInputs = [ jre makeWrapper ] ;
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index bd457b227e6f..01dbaee8cde6 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20140531";
+  version = "20140830";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
+    sha256 = "0l4zhvdy2fdvhihyl4gl09v8q4w05b1k0c6h4k8281px96d5ljgr";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
new file mode 100644
index 000000000000..b4a0b77e7054
--- /dev/null
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper }:
+let
+  version = "0.7";
+  name = "chibi-scheme-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  meta = {
+    homepage = "https://code.google.com/p/chibi-scheme/";
+    description = "Small Footprint Scheme for use as a C Extension Language";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ];
+  };
+
+  src = fetchurl {
+    url = "http://abrek.synthcode.com/${name}.tgz";
+    sha256 = "1hhkq0khgi8i24xv66y7r6pgk1issn1i2bf7rv91rbk0wm0kv7qm";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    make install PREFIX="$out"
+  '';
+
+  fixupPhase = ''
+    wrapProgram "$out/bin/chibi-scheme" \
+      --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi"
+
+    for f in chibi-doc chibi-ffi snow-chibi; do
+      substituteInPlace "$out/bin/$f" \
+        --replace "/usr/bin/env chibi-scheme" "$out/bin/chibi-scheme"
+    done
+  '';
+}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 59629eb2f59c..8f0b4a238b3d 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
 
 let
-  version = "0.15.1";
+  version = "1.0.0";
 in
 stdenv.mkDerivation {
   name = "elixir-${version}";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "8e608abf90a6e9a25ef5fb7e45dfd04e2cb7e1fecb4ac260bf6652885a7f0c50";
+    sha256 = "1ci8g6nh89xnn0ax9kazcs47w406nqsj1d4rf8sb1b6abfq78xsj";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
     '';
 
     license = licenses.epl10;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index 5945cdd8299d..23243803e8dc 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
   version = "16B03-1";
 
   src = fetchurl {
@@ -17,7 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,7 +29,7 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
 
   postInstall = let
     manpages = fetchurl {
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 2aba55d36792..83ea79d67f39 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
   version = "17.1";
 
   src = fetchurl {
@@ -17,7 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,7 +29,7 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
 
   postInstall = let
     manpages = fetchurl {
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
new file mode 100644
index 000000000000..a6b8478b5e20
--- /dev/null
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, sqlite }:
+
+stdenv.mkDerivation {
+  name = "jimtcl-0.75-git";
+
+  src = fetchgit {
+    url = https://github.com/msteveb/jimtcl.git;
+    rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
+    sha256 = "0vnl2k5sj250l08bplqd61zj6261v7kp202pss66g01rhp42fj3r";
+  };
+
+  buildInputs = [
+    sqlite
+  ];
+
+  configureFlags = [
+    "--with-ext=oo"
+    "--with-ext=tree"
+    "--with-ext=binary"
+    "--with-ext=sqlite3"
+    "--enable-utf8"
+    "--ipv6"
+  ];
+
+  meta = {
+    description = "An open source small-footprint implementation of the Tcl programming language";
+    homepage = http://jim.tcl.tk/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 1b05cb8f7780..444ecbc787af 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, readline }:
+{ stdenv, fetchurl, fetchpatch, readline }:
 
 let
   dsoPatch = fetchurl {
@@ -18,7 +18,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
-  patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ];
+  patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ])
+    ++ [(fetchpatch {
+      name = "CVE-2014-5461.patch";
+      url = "http://anonscm.debian.org/cgit/pkg-lua/lua5.1.git/plain/debian/patches/"
+        + "0004-Fix-stack-overflow-in-vararg-functions.patch?id=b75a2014db2ad65683521f7bb295bfa37b48b389";
+      sha256 = "05i5vh53d9i6dy11ibg9i9qpwz5hdm0s8bkx1d9cfcvy80cm4c7f";
+    })];
 
   configurePhase =
     if stdenv.isDarwin
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index ea44adb462c1..1812ccbf7d6e 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -9,12 +9,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "lua-${version}";
-  majorVersion = "5.2";
-  version = "${majorVersion}.2";
+  luaversion = "5.2";
+  version = "${luaversion}.3";
 
   src = fetchurl {
     url = "http://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz";
+    sha1 = "926b7907bc8d274e063d42804666b40a3f3c124c";
   };
 
   nativeBuildInputs = [ readline ];
@@ -24,17 +24,17 @@ stdenv.mkDerivation rec {
   configurePhase =
     if stdenv.isDarwin
     then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
   '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${majorVersion} liblua.so.${version}" INSTALL_DATA='cp -d' )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
+    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
   '';
 
   postInstall = ''
     mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
-    rmdir $out/{share,lib}/lua/${majorVersion} $out/{share,lib}/lua
+    rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/lua.pc" <<EOF
     prefix=$out
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
         CC=${stdenv.cross.config}-gcc
         STRIP=:
         RANLIB=${stdenv.cross.config}-ranlib
-        V=${majorVersion}
+        V=${luaversion}
         R=${version}
         ${if isMingw then "mingw" else stdenv.lib.optionalString isDarwin ''
         AR="${stdenv.cross.config}-ar rcu"
diff --git a/pkgs/development/interpreters/lua-5/sec.nix b/pkgs/development/interpreters/lua-5/sec.nix
index 33def9c51fd4..08eb1c89308c 100644
--- a/pkgs/development/interpreters/lua-5/sec.nix
+++ b/pkgs/development/interpreters/lua-5/sec.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lua5, lua5_sockets, openssl }:
+{ stdenv, fetchurl, lua5, openssl }:
 
 stdenv.mkDerivation rec {
   version = "0.5";
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
index 9c6cea38170e..018fb201bcda 100644
--- a/pkgs/development/interpreters/lua-5/sockets.nix
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, lua5}:
+{ stdenv, fetchurl, lua5 }:
 
 stdenv.mkDerivation rec {
   name    = "lua-sockets-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
       sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
   };
 
-  luaver = "5.1"; # TODO
+  luaver = lua5.luaversion;
   patchPhase = ''
       sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \
           -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index eac067da2828..d302a2a6e183 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
 , libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk
 , fftw, fftwSinglePrec, zlib, curl, qrupdate
-, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
+, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
 , suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null
 }:
 
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
     fftw fftwSinglePrec qrupdate ]
     ++ (stdenv.lib.optional (qt != null) qt)
+    ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
     ++ (stdenv.lib.optional (llvm != null) llvm)
     ++ (stdenv.lib.optional (hdf5 != null) hdf5)
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index 600884db5e67..c1a5374c92ea 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+
+      ${optionalString stdenv.isCygwin ''
+        cp cygwin/cygwin.c{,.bak}
+        echo "#define PERLIO_NOT_STDIO 0" > tmp
+        cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
+      ''}
     '';
 
   preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index e39661b224ad..4f378ddff4f7 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.31";
+  version = "5.4.32";
 
   name = "php-${version}";
 
@@ -249,7 +249,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
 
   src = fetchurl {
     url = "http://www.php.net/distributions/php-${version}.tar.bz2";
-    sha256 = "0kci0yir923fc7dv7j9qrc10pj05v82jnxjxjbgrj7gx64a4k3jy";
+    sha256 = "09n8lxnc5p2xfwk0ql2lh183h78hha1axhrdsa6g3650d5v73l16";
   };
 
   meta = {
diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix
index d8b3558be4f5..992f7281554c 100644
--- a/pkgs/development/interpreters/regina/default.nix
+++ b/pkgs/development/interpreters/regina/default.nix
@@ -12,16 +12,15 @@ let
   sourceInfo = rec {
     baseName="Regina-REXX";
     pname="regina-rexx";
-    version="3.5";
+    version = "3.8.2";
     name="${baseName}-${version}";
     url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
-    hash="0gh0k6lbhfixs44adha7lxirl3a08jabdylzr6m7mh5q5fhzv5f8";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "06vr6p9pqr5zzsxm1l9iwb2w9z8qkm971c2knh0vf5bbm6znjz35";
   };
 
   inherit (sourceInfo) name version;
@@ -43,11 +42,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.lgpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
-    };
+    downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream
new file mode 100644
index 000000000000..7b3c6905a1ca
--- /dev/null
+++ b/pkgs/development/interpreters/regina/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/regina-rexx/files/regina-rexx/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 6ec0f4f73e5d..b652321a9fc3 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -4,22 +4,23 @@ g: # Get dependencies from patched gems
 {
   aliases = {
     ZenTest = g.ZenTest_4_10_1;
-    actionmailer = g.actionmailer_4_1_5;
-    actionpack = g.actionpack_4_1_5;
-    actionview = g.actionview_4_1_5;
-    activemodel = g.activemodel_4_1_5;
-    activerecord = g.activerecord_4_1_5;
-    activesupport = g.activesupport_4_1_5;
+    actionmailer = g.actionmailer_4_1_6;
+    actionpack = g.actionpack_4_1_6;
+    actionview = g.actionview_4_1_6;
+    activemodel = g.activemodel_4_1_6;
+    activerecord = g.activerecord_4_1_6;
+    activesupport = g.activesupport_4_1_6;
     addressable = g.addressable_2_3_6;
     arel = g.arel_5_0_1_20140414130214;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_2_1;
-    aws_sdk = g.aws_sdk_1_51_0;
+    aws_sdk = g.aws_sdk_1_53_0;
+    aws_sdk_v1 = g.aws_sdk_v1_1_53_0;
     backports = g.backports_3_6_0;
     bitbucket_backup = g.bitbucket_backup_0_3_1;
     builder = g.builder_3_2_2;
-    buildr = g.buildr_1_4_19;
-    bundler = g.bundler_1_7_1;
+    buildr = g.buildr_1_4_20;
+    bundler = g.bundler_1_7_2;
     childprocess = g.childprocess_0_5_3;
     chronic = g.chronic_0_10_2;
     coderay = g.coderay_1_1_0;
@@ -27,7 +28,7 @@ g: # Get dependencies from patched gems
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_2_5;
     dimensions = g.dimensions_1_2_0;
-    domain_name = g.domain_name_0_5_20;
+    domain_name = g.domain_name_0_5_21;
     dotenv = g.dotenv_0_11_1;
     dotenv_deployment = g.dotenv_deployment_0_0_2;
     em_resolv_replace = g.em_resolv_replace_1_1_3;
@@ -35,13 +36,14 @@ g: # Get dependencies from patched gems
     ethon = g.ethon_0_7_1;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
+    execjs = g.execjs_2_2_1;
     fakes3 = g.fakes3_0_1_5_2;
     faraday = g.faraday_0_9_0;
     faraday_middleware = g.faraday_middleware_0_9_1;
     ffi = g.ffi_1_9_3;
     file_tail = g.file_tail_1_0_12;
-    foreman = g.foreman_0_74_0;
-    gettext = g.gettext_3_1_3;
+    foreman = g.foreman_0_75_0;
+    gettext = g.gettext_3_1_4;
     gh = g.gh_0_13_2;
     gherkin = g.gherkin_2_12_2;
     highline = g.highline_1_6_21;
@@ -63,7 +65,7 @@ g: # Get dependencies from patched gems
     mime_types = g.mime_types_2_3;
     mini_portile = g.mini_portile_0_6_0;
     minitar = g.minitar_0_5_4;
-    minitest = g.minitest_5_4_0;
+    minitest = g.minitest_5_4_1;
     multi_json = g.multi_json_1_10_1;
     multi_test = g.multi_test_0_1_1;
     multipart_post = g.multipart_post_2_0_0;
@@ -79,17 +81,17 @@ g: # Get dependencies from patched gems
     papertrail = g.papertrail_0_9_10;
     papertrail_cli = g.papertrail_cli_0_9_3;
     parallel = g.parallel_0_7_1;
-    polyglot = g.polyglot_0_3_5;
     pry = g.pry_0_9_12_6;
     pusher_client = g.pusher_client_0_6_0;
     rack = g.rack_1_5_2;
     rack_protection = g.rack_protection_1_5_3;
     rack_test = g.rack_test_0_6_2;
-    rails = g.rails_4_1_5;
-    railties = g.railties_4_1_5;
+    rails = g.rails_4_1_6;
+    railties = g.railties_4_1_6;
     rake = g.rake_10_3_2;
     rb_fsevent = g.rb_fsevent_0_9_4;
     rdiscount = g.rdiscount_2_1_7_1;
+    rdoc = g.rdoc_4_1_2;
     remote_syslog = g.remote_syslog_1_6_14;
     riemann_dash = g.riemann_dash_0_2_9;
     right_aws = g.right_aws_3_1_0;
@@ -102,13 +104,13 @@ g: # Get dependencies from patched gems
     rspec_expectations = g.rspec_expectations_2_14_5;
     rspec_mocks = g.rspec_mocks_2_14_6;
     rubyzip = g.rubyzip_1_1_6;
-    sass = g.sass_3_4_1;
-    selenium_webdriver = g.selenium_webdriver_2_42_0;
+    sass = g.sass_3_4_3;
+    selenium_webdriver = g.selenium_webdriver_2_43_0;
     servolux = g.servolux_0_10_0;
     sinatra = g.sinatra_1_4_5;
     slop = g.slop_3_6_0;
-    sprockets = g.sprockets_2_12_1;
-    sprockets_rails = g.sprockets_rails_2_1_3;
+    sprockets = g.sprockets_2_12_2;
+    sprockets_rails = g.sprockets_rails_2_1_4;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_6_4;
     taskjuggler = g.taskjuggler_3_5_0;
@@ -121,21 +123,22 @@ g: # Get dependencies from patched gems
     tilt = g.tilt_1_4_1;
     tins = g.tins_1_3_2;
     travis = g.travis_1_7_1;
-    treetop = g.treetop_1_4_15;
     trollop = g.trollop_2_0;
     typhoeus = g.typhoeus_0_6_9;
     tzinfo = g.tzinfo_1_2_2;
+    uglifier = g.uglifier_2_5_3;
     unf = g.unf_0_1_4;
     unf_ext = g.unf_ext_0_0_6;
     uuid = g.uuid_2_3_7;
     webrick = g.webrick_1_3_1;
     webrobots = g.webrobots_0_1_1;
-    websocket = g.websocket_1_2_0;
+    websocket = g.websocket_1_2_1;
     xapian_full = g.xapian_full_1_2_3;
     xapian_ruby = g.xapian_ruby_1_2_17;
     xml_simple = g.xml_simple_1_1_2;
+    yajl_ruby = g.yajl_ruby_1_2_1;
   };
-  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ];
+  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''rdoc'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uglifier'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ''yajl-ruby'' ];
   gems = {
     ZenTest_4_10_1 = {
       basename = ''ZenTest'';
@@ -168,71 +171,71 @@ installed versions.'';
       requiredGems = [  ];
       sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
     };
-    actionmailer_4_1_5 = {
+    actionmailer_4_1_6 = {
       basename = ''actionmailer'';
       meta = {
         description = ''Email composition, delivery, and receiving framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
       };
-      name = ''actionmailer-4.1.5'';
-      requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ];
-      sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c'';
+      name = ''actionmailer-4.1.6'';
+      requiredGems = [ g.actionpack_4_1_6 g.actionview_4_1_6 g.mail_2_6_1 ];
+      sha256 = ''1lsw9h0wm7pwdzm9jdq3y5b8b1cf56fd4dcgx4s91qf0lc0dw0wv'';
     };
-    actionpack_4_1_5 = {
+    actionpack_4_1_6 = {
       basename = ''actionpack'';
       meta = {
         description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
       };
-      name = ''actionpack-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ];
-      sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6'';
+      name = ''actionpack-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_6 ];
+      sha256 = ''07a95iahv04gikk4qbgpi9is709ynkpcd4g00kqm629jaffrsyj2'';
     };
-    actionview_4_1_5 = {
+    actionview_4_1_6 = {
       basename = ''actionview'';
       meta = {
         description = ''Rendering framework putting the V in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
       };
-      name = ''actionview-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ];
-      sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8'';
+      name = ''actionview-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 g.erubis_2_7_0 ];
+      sha256 = ''1r06r4zsaqsq1wyqy2g29nnycw50v37ab7zmnvzjhy24y53rv9w7'';
     };
-    activemodel_4_1_5 = {
+    activemodel_4_1_6 = {
       basename = ''activemodel'';
       meta = {
         description = ''A toolkit for building modeling frameworks (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.'';
       };
-      name = ''activemodel-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ];
-      sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl'';
+      name = ''activemodel-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 ];
+      sha256 = ''14mw7d0jax7sky4nc2a7rspcf2inb3m6mxhx653i00v0xjrxa3x6'';
     };
-    activerecord_4_1_5 = {
+    activerecord_4_1_6 = {
       basename = ''activerecord'';
       meta = {
         description = ''Object-relational mapper framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
       };
-      name = ''activerecord-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ];
-      sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc'';
+      name = ''activerecord-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.activemodel_4_1_6 g.arel_5_0_1_20140414130214 ];
+      sha256 = ''15s72gawgvd7msa2i7hmjw81znif8zh1v57pmans8vmphfg2n9l7'';
     };
-    activesupport_4_1_5 = {
+    activesupport_4_1_6 = {
       basename = ''activesupport'';
       meta = {
         description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
       };
-      name = ''activesupport-4.1.5'';
-      requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_0 g.thread_safe_0_3_4 ];
-      sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k'';
+      name = ''activesupport-4.1.6'';
+      requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_1 g.thread_safe_0_3_4 ];
+      sha256 = ''0crwl6rlxpv5fvvnvcbrjc7iygj8nklj83v1734h5lrhjzirxc22'';
     };
     addressable_2_3_6 = {
       basename = ''addressable'';
@@ -300,16 +303,31 @@ rails support and extra plugins for migrations and fixtures.'';
       requiredGems = [ g.ZenTest_4_10_1 ];
       sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
     };
-    aws_sdk_1_51_0 = {
+    aws_sdk_1_53_0 = {
       basename = ''aws_sdk'';
       meta = {
-        description = ''AWS SDK for Ruby'';
+        description = ''AWS SDK for Ruby V1'';
         homepage = ''http://aws.amazon.com/sdkforruby'';
-        longDescription = ''AWS SDK for Ruby'';
+        longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
+Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
+application.'';
       };
-      name = ''aws-sdk-1.51.0'';
+      name = ''aws-sdk-1.53.0'';
+      requiredGems = [ g.aws_sdk_v1_1_53_0 ];
+      sha256 = ''1jwvzlpyh5hpa3qn972wmn2pmhqpzw5vjal2n5i14qplvafmj7p2'';
+    };
+    aws_sdk_v1_1_53_0 = {
+      basename = ''aws_sdk_v1'';
+      meta = {
+        description = ''AWS SDK for Ruby V1'';
+        homepage = ''http://aws.amazon.com/sdkforruby'';
+        longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
+Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
+application.'';
+      };
+      name = ''aws-sdk-v1-1.53.0'';
       requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
-      sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai'';
+      sha256 = ''00yagrm2d5agwkfgkv4rqbxymwmgjmv5n8hah3xhrc90q1ywr7hw'';
     };
     backports_3_6_0 = {
       basename = ''backports'';
@@ -349,7 +367,7 @@ simple to do.  Currently the following builder objects are supported:
       requiredGems = [  ];
       sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
     };
-    buildr_1_4_19 = {
+    buildr_1_4_20 = {
       basename = ''buildr'';
       meta = {
         description = ''Build like you code'';
@@ -361,20 +379,20 @@ to do, and it takes care of the rest.  But also something we can easily extend
 for those one-off tasks, with a language that's a joy to use.
 '';
       };
-      name = ''buildr-1.4.19'';
-      requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_8 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_1 g.orderedhash_0_0_6 ];
-      sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0'';
+      name = ''buildr-1.4.20'';
+      requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_9 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_2 g.orderedhash_0_0_6 ];
+      sha256 = ''0x4ffblw7jg0z49ywfm5abfxgg23di3d661czndwi904cvmghrkv'';
     };
-    bundler_1_7_1 = {
+    bundler_1_7_2 = {
       basename = ''bundler'';
       meta = {
         description = ''The best way to manage your application's dependencies'';
         homepage = ''http://bundler.io'';
         longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
       };
-      name = ''bundler-1.7.1'';
+      name = ''bundler-1.7.2'';
       requiredGems = [  ];
-      sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2'';
+      sha256 = ''1xfacbivyi40ig9jzpsv2z42vwghf77n4r65ls0pcnbqn4ypqyhc'';
     };
     childprocess_0_5_3 = {
       basename = ''childprocess'';
@@ -486,7 +504,7 @@ We are happy to report that this issue has been resolved.'';
       requiredGems = [  ];
       sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
     };
-    domain_name_0_5_20 = {
+    domain_name_0_5_21 = {
       basename = ''domain_name'';
       meta = {
         description = ''Domain Name manipulation library for Ruby'';
@@ -497,9 +515,9 @@ It can also be used for cookie domain validation based on the Public
 Suffix List.
 '';
       };
-      name = ''domain_name-0.5.20'';
+      name = ''domain_name-0.5.21'';
       requiredGems = [ g.unf_0_1_4 ];
-      sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s'';
+      sha256 = ''1ryb2gmryzcrqm9gl19658m1kcjkjz5m0r24mzq4j0zfrs95nfnq'';
     };
     dotenv_0_11_1 = {
       basename = ''dotenv'';
@@ -597,6 +615,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
+    execjs_2_2_1 = {
+      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.2.1'';
+      requiredGems = [  ];
+      sha256 = ''1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b'';
+    };
     fakes3_0_1_5_2 = {
       basename = ''fakes3'';
       meta = {
@@ -650,18 +679,18 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.tins_0_13_2 ];
       sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
     };
-    foreman_0_74_0 = {
+    foreman_0_75_0 = {
       basename = ''foreman'';
       meta = {
         description = ''Process manager for applications with multiple components'';
         homepage = ''http://github.com/ddollar/foreman'';
         longDescription = ''Process manager for applications with multiple components'';
       };
-      name = ''foreman-0.74.0'';
+      name = ''foreman-0.75.0'';
       requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ];
-      sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m'';
+      sha256 = ''0iicqdjwwms86nchk80ia7x4wjcd3p5c8s53bc0z0h063i0ks9ha'';
     };
-    gettext_3_1_3 = {
+    gettext_3_1_4 = {
       basename = ''gettext'';
       meta = {
         description = ''Gettext is a pure Ruby libary and tools to localize messages.'';
@@ -671,9 +700,9 @@ The catalog file(po-file) is same format with GNU gettext.
 So you can use GNU gettext tools for maintaining.
 '';
       };
-      name = ''gettext-3.1.3'';
+      name = ''gettext-3.1.4'';
       requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ];
-      sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q'';
+      sha256 = ''0gfnbkj2knpq8jxplkdr18by64kcadqxjhrxr3ncldz2ghm5zhvb'';
     };
     gh_0_13_2 = {
       basename = ''gh'';
@@ -751,7 +780,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
         longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265.  It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers.  It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
       };
       name = ''http-cookie-1.0.2'';
-      requiredGems = [ g.domain_name_0_5_20 ];
+      requiredGems = [ g.domain_name_0_5_21 ];
       sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
     };
     i18n_0_6_11 = {
@@ -854,17 +883,6 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.systemu_2_6_4 ];
       sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b'';
     };
-    mail_2_5_4 = {
-      basename = ''mail'';
-      meta = {
-        description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
-        homepage = ''http://github.com/mikel/mail'';
-        longDescription = ''A really Ruby Mail handler.'';
-      };
-      name = ''mail-2.5.4'';
-      requiredGems = [ g.mime_types_1_25_1 g.treetop_1_4_15 ];
-      sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
-    };
     mail_2_6_1 = {
       basename = ''mail'';
       meta = {
@@ -888,7 +906,7 @@ submitted.  Mechanize also keeps track of the sites that you have visited as
 a history.'';
       };
       name = ''mechanize-2.7.3'';
-      requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_20 ];
+      requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_21 ];
       sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx'';
     };
     method_source_0_8_2 = {
@@ -902,64 +920,6 @@ a history.'';
       requiredGems = [  ];
       sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2'';
     };
-    mime_types_1_25_1 = {
-      basename = ''mime_types'';
-      meta = {
-        description = ''This library allows for the identification of a file's likely MIME content type'';
-        homepage = ''http://mime-types.rubyforge.org/'';
-        longDescription = ''This library allows for the identification of a file's likely MIME content
-type. This is release 1.25.1, fixing an issue with priority comparison for
-mime-types 1.x. The current release is 2.0, which only supports Ruby 1.9 or
-later.
-
-Release 1.25.1 contains all features of 1.25, including the experimental
-caching and lazy loading functionality. The caching and lazy loading features
-were initially implemented by Greg Brockman (gdb). As these features are
-experimental, they are disabled by default and must be enabled through the use
-of environment variables. The cache is invalidated on a per-version basis; the
-cache for version 1.25 will not be reused for any later version.
-
-To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+
-to any value other than 'false'. When using lazy loading, the initial startup
-of MIME::Types is around 12–25× faster than normal startup (on my system,
-normal startup is about 90 ms; lazy startup is about 4 ms). This isn't
-generally useful, however, as the MIME::Types database has not been loaded.
-Lazy startup and load is just *slightly* faster—around 1 ms. The real advantage
-comes from using the cache.
-
-To enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a
-filename where MIME::Types will have read-write access. The first time a new
-version of MIME::Types is run using this file, it will be created, taking a
-little longer than normal. Subsequent loads using the same cache file will be
-approximately 3½× faster (25 ms) than normal loads. This can be combined with
-+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded
-or multiprocess environment where all threads or processes will be using the
-same cache file.
-
-As the caching interface is still experimental, the only values cached are the
-default MIME::Types database, not any custom MIME::Types added by users.
-
-MIME types are used in MIME-compliant communications, as in e-mail or HTTP
-traffic, to indicate the type of content which is transmitted. MIME::Types
-provides the ability for detailed information about MIME entities (provided as
-a set of MIME::Type objects) to be determined and used programmatically. There
-are many types defined by RFCs and vendors, so the list is long but not
-complete; don't hesitate to ask to add additional information. This library
-follows the IANA collection of MIME types (see below for reference).
-
-MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark
-Overmeer, copyright 2001 - 2009.
-
-MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
-tracks the {IANA registry}[http://www.iana.org/assignments/media-types/]
-({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
-added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
-and added by the users of MIME::Types.'';
-      };
-      name = ''mime-types-1.25.1'';
-      requiredGems = [  ];
-      sha256 = ''0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8'';
-    };
     mime_types_2_3 = {
       basename = ''mime_types'';
       meta = {
@@ -1023,7 +983,7 @@ with some types added by the users of mime-types.'';
       requiredGems = [  ];
       sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
     };
-    minitest_5_4_0 = {
+    minitest_5_4_1 = {
       basename = ''minitest'';
       meta = {
         description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
@@ -1082,9 +1042,9 @@ classes, modules, inheritance, methods. This means you only have to
 learn ruby to use minitest and all of your regular OO practices like
 extract-method refactorings still apply.'';
       };
-      name = ''minitest-5.4.0'';
+      name = ''minitest-5.4.1'';
       requiredGems = [  ];
-      sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl'';
+      sha256 = ''04iqz25v8vngw4z5pzhwnsf72fb8gf2vzhidrfcbphwsqqik5s4r'';
     };
     multi_json_1_10_1 = {
       basename = ''multi_json'';
@@ -1292,20 +1252,6 @@ enough of it.'';
       requiredGems = [  ];
       sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq'';
     };
-    polyglot_0_3_5 = {
-      basename = ''polyglot'';
-      meta = {
-        description = ''Augment 'require' to load non-Ruby file types'';
-        homepage = ''http://github.com/cjheath/polyglot'';
-        longDescription = ''
-The Polyglot library allows a Ruby module to register a loader
-for the file type associated with a filename extension, and it
-augments 'require' to find and load matching files.'';
-      };
-      name = ''polyglot-0.3.5'';
-      requiredGems = [  ];
-      sha256 = ''1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr'';
-    };
     pry_0_9_12_6 = {
       basename = ''pry'';
       meta = {
@@ -1325,7 +1271,7 @@ augments 'require' to find and load matching files.'';
         longDescription = ''Client for consuming WebSockets from http://pusher.com'';
       };
       name = ''pusher-client-0.6.0'';
-      requiredGems = [ g.websocket_1_2_0 g.json_1_8_1 ];
+      requiredGems = [ g.websocket_1_2_1 g.json_1_8_1 ];
       sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy'';
     };
     rack_1_5_2 = {
@@ -1371,27 +1317,27 @@ request helpers feature.'';
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
     };
-    rails_4_1_5 = {
+    rails_4_1_6 = {
       basename = ''rails'';
       meta = {
         description = ''Full-stack web application framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
       };
-      name = ''rails-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.actionview_4_1_5 g.activemodel_4_1_5 g.activerecord_4_1_5 g.actionmailer_4_1_5 g.railties_4_1_5 g.bundler_1_7_1 g.sprockets_rails_2_1_3 ];
-      sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7'';
+      name = ''rails-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.actionview_4_1_6 g.activemodel_4_1_6 g.activerecord_4_1_6 g.actionmailer_4_1_6 g.railties_4_1_6 g.bundler_1_7_2 g.sprockets_rails_2_1_4 ];
+      sha256 = ''187g903gmni3prd5i768yfgszc4ak5kmrazavr93d0ybfdbcjlgk'';
     };
-    railties_4_1_5 = {
+    railties_4_1_6 = {
       basename = ''railties'';
       meta = {
         description = ''Tools for creating, working with, and running Rails applications.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
       };
-      name = ''railties-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ];
-      sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha'';
+      name = ''railties-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.rake_10_3_2 g.thor_0_19_1 ];
+      sha256 = ''11valflllkrrz06bsflz78h5nmxhrhm7hdpm1lwmgm8hwd4ybl0c'';
     };
     rake_0_9_2_2 = {
       basename = ''rake'';
@@ -1457,6 +1403,19 @@ Rake has the following features:
       requiredGems = [  ];
       sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii'';
     };
+    rdoc_4_1_2 = {
+      basename = ''rdoc'';
+      meta = {
+        description = ''RDoc produces HTML and command-line documentation for Ruby projects'';
+        homepage = ''http://docs.seattlerb.org/rdoc'';
+        longDescription = ''RDoc produces HTML and command-line documentation for Ruby projects.  RDoc
+includes the +rdoc+ and +ri+ tools for generating and displaying documentation
+from the command-line.'';
+      };
+      name = ''rdoc-4.1.2'';
+      requiredGems = [ g.json_1_8_1 ];
+      sha256 = ''0cqhjidw657d8irkypxsrv6dr4y9r8csg9inaq40c3iz110cc8w6'';
+    };
     remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
@@ -1476,7 +1435,7 @@ Rake has the following features:
         longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
       };
       name = ''riemann-dash-0.2.9'';
-      requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_1 g.webrick_1_3_1 g.multi_json_1_3_6 ];
+      requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_3 g.webrick_1_3_1 g.multi_json_1_3_6 ];
       sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3'';
     };
     right_aws_3_1_0 = {
@@ -1546,18 +1505,6 @@ algorithm for low-level network errors.
       requiredGems = [  ];
       sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf'';
     };
-    rjb_1_4_8 = {
-      basename = ''rjb'';
-      meta = {
-        description = ''Ruby Java bridge'';
-        homepage = ''http://rjb.rubyforge.org/'';
-        longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
-'';
-      };
-      name = ''rjb-1.4.8'';
-      requiredGems = [  ];
-      sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw'';
-    };
     rjb_1_4_9 = {
       basename = ''rjb'';
       meta = {
@@ -1690,7 +1637,7 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       requiredGems = [  ];
       sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
     };
-    sass_3_4_1 = {
+    sass_3_4_3 = {
       basename = ''sass'';
       meta = {
         description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -1701,20 +1648,20 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       command line tool or a web-framework plugin.
 '';
       };
-      name = ''sass-3.4.1'';
+      name = ''sass-3.4.3'';
       requiredGems = [  ];
-      sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4'';
+      sha256 = ''0k9qv35wf28qjlv8a1nmvv8n71wxnqim1kwf95igvngys6kih7ds'';
     };
-    selenium_webdriver_2_42_0 = {
+    selenium_webdriver_2_43_0 = {
       basename = ''selenium_webdriver'';
       meta = {
         description = ''The next generation developer focused tool for automated testing of webapps'';
         homepage = ''http://selenium.googlecode.com'';
         longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
       };
-      name = ''selenium-webdriver-2.42.0'';
-      requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ];
-      sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q'';
+      name = ''selenium-webdriver-2.43.0'';
+      requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_2_1 ];
+      sha256 = ''06jjkb4hcyh8mwsqc8c5p6pz6ac1v313h4md0dab872ls5s47zh9'';
     };
     servolux_0_10_0 = {
       basename = ''servolux'';
@@ -1763,26 +1710,26 @@ interpreters.'';
       requiredGems = [  ];
       sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
     };
-    sprockets_2_12_1 = {
+    sprockets_2_12_2 = {
       basename = ''sprockets'';
       meta = {
         description = ''Rack-based asset packaging system'';
         homepage = ''http://getsprockets.org/'';
         longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
       };
-      name = ''sprockets-2.12.1'';
+      name = ''sprockets-2.12.2'';
       requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ];
-      sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y'';
+      sha256 = ''0sclb5nqs5hhr7qfp42rgpasy0f9k4c3jcr3hz89amf2bg5v7slx'';
     };
-    sprockets_rails_2_1_3 = {
+    sprockets_rails_2_1_4 = {
       basename = ''sprockets_rails'';
       meta = {
         description = ''Sprockets Rails integration'';
         homepage = ''https://github.com/rails/sprockets-rails'';
       };
-      name = ''sprockets-rails-2.1.3'';
-      requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ];
-      sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy'';
+      name = ''sprockets-rails-2.1.4'';
+      requiredGems = [ g.sprockets_2_12_2 g.actionpack_4_1_6 g.activesupport_4_1_6 ];
+      sha256 = ''1difqidflj71qh8a84lcfdfg9vy4rw5hkgf2j0jis8bcczcq54l3'';
     };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
@@ -1935,16 +1882,6 @@ management.
       requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
       sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf'';
     };
-    treetop_1_4_15 = {
-      basename = ''treetop'';
-      meta = {
-        description = ''A Ruby-based text parsing and interpretation DSL'';
-        homepage = ''https://github.com/cjheath/treetop'';
-      };
-      name = ''treetop-1.4.15'';
-      requiredGems = [ g.polyglot_0_3_5 g.polyglot_0_3_5 ];
-      sha256 = ''1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz'';
-    };
     trollop_2_0 = {
       basename = ''trollop'';
       meta = {
@@ -1982,6 +1919,17 @@ specify.'';
       requiredGems = [ g.thread_safe_0_3_4 ];
       sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx'';
     };
+    uglifier_2_5_3 = {
+      basename = ''uglifier'';
+      meta = {
+        description = ''Ruby wrapper for UglifyJS JavaScript compressor'';
+        homepage = ''http://github.com/lautis/uglifier'';
+        longDescription = ''Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby'';
+      };
+      name = ''uglifier-2.5.3'';
+      requiredGems = [ g.execjs_2_2_1 g.json_1_8_1 ];
+      sha256 = ''0rlx9nrcavpfffyacsrh7xyvz3adv7jvylz0sv0jnix1mj5rkpd9'';
+    };
     unf_0_1_4 = {
       basename = ''unf'';
       meta = {
@@ -2041,27 +1989,16 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
     };
-    websocket_1_0_7 = {
+    websocket_1_2_1 = {
       basename = ''websocket'';
       meta = {
         description = ''Universal Ruby library to handle WebSocket protocol'';
         homepage = ''http://github.com/imanel/websocket-ruby'';
         longDescription = ''Universal Ruby library to handle WebSocket protocol'';
       };
-      name = ''websocket-1.0.7'';
+      name = ''websocket-1.2.1'';
       requiredGems = [  ];
-      sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0'';
-    };
-    websocket_1_2_0 = {
-      basename = ''websocket'';
-      meta = {
-        description = ''Universal Ruby library to handle WebSocket protocol'';
-        homepage = ''http://github.com/imanel/websocket-ruby'';
-        longDescription = ''Universal Ruby library to handle WebSocket protocol'';
-      };
-      name = ''websocket-1.2.0'';
-      requiredGems = [  ];
-      sha256 = ''17q3fsqwa44cali3x852jzjpzgcvvly0n8gszmkaqx520lb9r5l4'';
+      sha256 = ''17mf28xp6h4gglbn1606jjrhdz9r6kyb2pr603ckadsrx31wh9p6'';
     };
     xapian_full_1_2_3 = {
       basename = ''xapian_full'';
@@ -2093,5 +2030,15 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb'';
     };
+    yajl_ruby_1_2_1 = {
+      basename = ''yajl_ruby'';
+      meta = {
+        description = ''Ruby C bindings to the excellent Yajl JSON stream-based parser library.'';
+        homepage = ''http://github.com/brianmario/yajl-ruby'';
+      };
+      name = ''yajl-ruby-1.2.1'';
+      requiredGems = [  ];
+      sha256 = ''0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf'';
+    };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index 13829c3f9f6a..3b66464ce223 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -29,13 +29,7 @@ rec {
     longDescription = ''
       Nix can create nix packages from gems.
 
-      To use it do the following:
-      1. Install rubygems and rubyLibs.nix.
-      2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
-      3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems.
-      4. Run `gem nix --[no-]user-install gem1 gem2 ...` to generate Nix
-      expression from gem repository.
-      5. Install rubyLibs.gem1 etc.
+      To use it by installing gem-nix package.
     '';
   };
 
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
index 390567175978..4630828fe87d 100644
--- a/pkgs/development/interpreters/scheme48/default.nix
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "scheme48-1.9";
+  name = "scheme48-1.9.2";
 
   meta = {
     homepage = http://s48.org/;
     description = "Scheme 48";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 
   src = fetchurl {
-    url = http://s48.org/1.9/scheme48-1.9.tgz;
-    md5 = "b4c20057f92191d05a61fac1372878ad";
+    url = http://s48.org/1.9.2/scheme48-1.9.2.tgz;
+    sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw";
   };
 }
diff --git a/pkgs/development/libraries/agda/AgdaSheaves/default.nix b/pkgs/development/libraries/agda/AgdaSheaves/default.nix
new file mode 100644
index 000000000000..83066f5da632
--- /dev/null
+++ b/pkgs/development/libraries/agda/AgdaSheaves/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit }:
+
+agda.mkDerivation (self: rec {
+  version = "8a06162a8f0f7df308458db91d720cf8f7345d69";
+  name = "Agda-Sheaves-${version}";
+  src = fetchgit {
+    url = "https://github.com/jonsterling/Agda-Sheaves.git";
+    rev = version;
+    sha256 = "39e0e4a1f05e359c099cf50a5ec7dd2db7b55f98dcc019f1e4667dca8b37f001";
+  };
+
+  everythingFile = "sheaves.agda";
+  topSourceDirectories = [ "../$sourceRoot" ];
+  sourceDirectories = [];
+
+  meta = {
+    homepage = "https://github.com/jonsterling/Agda-Sheaves";
+    description = "Sheaves in Agda";
+    license = stdenv.lib.licenses.cc-by-40;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/agda/bitvector/default.nix b/pkgs/development/libraries/agda/bitvector/default.nix
new file mode 100644
index 000000000000..290a2f1206d1
--- /dev/null
+++ b/pkgs/development/libraries/agda/bitvector/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "f1c173313f2a41d95a8dc6053f9365a24690e18d";
+  name = "bitvector-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/copumpkin/bitvector.git";
+    rev = version;
+    sha256 = "c39f55b709366f2c627d1a3a68d4b013c415b0e0f68ca6b69e387d07e2ce6d9a";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  sourceDirectories = [ "Data" ];
+
+  meta = {
+    homepage = "https://github.com/copumpkin/bitvector";
+    description = "Sequences of bits and common operations on them";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index df509943ba27..10a22e00f650 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
     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;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index a153443a54eb..3aa0e95305a9 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     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;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     broken = true;
   };
 }
diff --git a/pkgs/development/libraries/cimg/builder.sh b/pkgs/development/libraries/cimg/builder.sh
new file mode 100644
index 000000000000..bbd5f7125517
--- /dev/null
+++ b/pkgs/development/libraries/cimg/builder.sh
@@ -0,0 +1,12 @@
+
+source $stdenv/setup
+
+unpackPhase
+cd $sourceRoot
+
+install -dm 755 $out/include/cimg $out/share/doc/cimg/html $out/share/cimg/examples $out/share/cimg/plugins
+
+install -m 644 CImg.h $out/include/cimg
+cp -dr --no-preserve=ownership html/* $out/share/doc/cimg/html/
+cp -dr --no-preserve=ownership examples/* $out/share/cimg/examples/
+cp -dr --no-preserve=ownership plugins/* $out/share/cimg/plugins/
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
new file mode 100644
index 000000000000..049938e1f459
--- /dev/null
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, unzip }:
+
+stdenv.mkDerivation rec {
+
+  name = "cimg-${version}";
+  version = "1.5.9";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/cimg/CImg-${version}.zip";
+    sha256 = "1xn20643gcbl76kvy9ajhwbyjjb73mg65q32ma8mdkwn1qhn7f7c";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ unzip ];
+
+  builder = ./builder.sh;
+  
+  meta = with stdenv.lib; {
+    description = "A small, open source, C++ toolkit for image processing";
+    homepage = http://cimg.sourceforge.net/;
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index 7ea7e597d409..926da22b2802 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-isl=system" ];
 
+  enableParallelBuilding = true;
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index c73aac074e7f..7cef673dbc69 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gst-2.0.10";
+  name = "clutter-gst-2.0.12";
 
   src = fetchurl {
     url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz";
-    sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00";
+    sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2";
   };
 
   propagatedBuildInputs = [ clutter gtk3 glib cogl ];
diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix
index be583e08b6bc..ed03b758b756 100644
--- a/pkgs/development/libraries/directfb/src-for-default.nix
+++ b/pkgs/development/libraries/directfb/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.6.3";
-   name="directfb-1.6.3";
-   hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks";
-   url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz";
-   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz";
+   version="1.7.6";
+   name="directfb-${version}";
+   hash="1qf94vgsbcwfa00x2aqd6795n6z43x4ghclmb4sa4bl4zfn2pws4";
+   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
+   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.6.tar.gz";
   
   
 }
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
index a0dcf52dcce0..e9488530b5c3 100644
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ b/pkgs/development/libraries/ffmpeg/1.x.nix
@@ -31,11 +31,11 @@ assert playSupport -> SDL != null;
 assert freetypeSupport -> freetype != null;
 
 stdenv.mkDerivation rec {
-  name = "ffmpeg-1.2.7";
+  name = "ffmpeg-1.2.8";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "13nj5q5ad0kcrid8r5x6x8lqfhk8kms14pmncf6vbdbk6x45k6v6";
+    sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2";
   };
 
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@@ -100,5 +100,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 85896cdb5e30..5b1dc6fc0a41 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "flite-1.4";
+  name = "flite-1.9.0";
 
   src = fetchurl {
-    url = "http://www.speech.cs.cmu.edu/flite/packed/${name}/${name}-release.tar.bz2";
-    sha256 = "036dagsydi0qh71ayi6jshfi3ik2md1az3gpi42md9pc18b65ij5";
+    url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
+    sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
   };
 
   buildInputs = [ pkgconfig ];
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A small, fast run-time speech synthesis engine";
-    homepage = http://www.speech.cs.cmu.edu/flite/index.html; 
+    homepage = http://www.festvox.org/flite/;
     license = "free-non-copyleft";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
new file mode 100644
index 000000000000..c897609ee595
--- /dev/null
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "gecode-${version}";
+  version = "4.3.0";
+
+  src = fetchurl {
+    url = "http://www.gecode.org/download/${name}.tar.gz";
+    sha256 = "18a1nd6sxqqh05hd9zwcgq9qhqrr6hi0nbzpwpay1flkv5gvg2d7";
+  };
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = http://www.gecode.org;
+    description = "Toolkit for developing constraint-based systems";
+    platforms = platforms.all;
+    maintainers = [ maintainers.manveru ];
+  };
+}
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 9ec88799d0dd..5127311e7c91 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "glew-1.10.0";
+  name = "glew-1.11.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/glew/${name}.tgz";
-    sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
+    sha256 = "1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9";
   };
 
   nativeBuildInputs = [ x11 libXmu libXi ];
@@ -42,9 +42,11 @@ stdenv.mkDerivation rec {
   ] ++ optional (stdenv.cross.libc == "msvcrt") "SYSTEM=mingw"
     ++ optional (stdenv.cross.libc == "libSystem") "SYSTEM=darwin";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OpenGL extension loading library for C(++)";
     homepage = http://glew.sourceforge.net/;
-    license = ["BSD" "GLX" "SGI-B" "GPL2"]; # License description copied from gentoo-1.4.0 
+    license = licenses.free; # different files under different licenses
+      #["BSD" "GLX" "SGI-B" "GPL2"]
+    platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix
index cd1ba747d7c6..a828148c3d5f 100644
--- a/pkgs/development/libraries/glibc/2.19/common.nix
+++ b/pkgs/development/libraries/glibc/2.19/common.nix
@@ -60,6 +60,7 @@ stdenv.mkDerivation ({
       ./fix-math.patch
 
       ./cve-2014-0475.patch
+      ./cve-2014-5119.patch
     ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
new file mode 100644
index 000000000000..cbae03425eb9
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
@@ -0,0 +1,206 @@
+http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co
+
+commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
+Author: Florian Weimer <fweimer@redhat.com>
+Date:   Tue Aug 26 19:38:59 2014 +0200
+
+    __gconv_translit_find: Disable function [BZ #17187]
+    
+    This functionality has never worked correctly, and the implementation
+    contained a security vulnerability (CVE-2014-5119).
+
+2014-08-26  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #17187]
+	* iconv/gconv_trans.c (struct known_trans, search_tree, lock,
+	trans_compare, open_translit, __gconv_translit_find):
+	Remove module loading code.
+
+--- a/iconv/gconv_trans.c
++++ b/iconv/gconv_trans.c
+@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step,
+   return __GCONV_ILLEGAL_INPUT;
+ }
+ 
+-
+-/* Structure to represent results of found (or not) transliteration
+-   modules.  */
+-struct known_trans
+-{
+-  /* This structure must remain the first member.  */
+-  struct trans_struct info;
+-
+-  char *fname;
+-  void *handle;
+-  int open_count;
+-};
+-
+-
+-/* Tree with results of previous calls to __gconv_translit_find.  */
+-static void *search_tree;
+-
+-/* We modify global data.   */
+-__libc_lock_define_initialized (static, lock);
+-
+-
+-/* Compare two transliteration entries.  */
+-static int
+-trans_compare (const void *p1, const void *p2)
+-{
+-  const struct known_trans *s1 = (const struct known_trans *) p1;
+-  const struct known_trans *s2 = (const struct known_trans *) p2;
+-
+-  return strcmp (s1->info.name, s2->info.name);
+-}
+-
+-
+-/* Open (maybe reopen) the module named in the struct.  Get the function
+-   and data structure pointers we need.  */
+-static int
+-open_translit (struct known_trans *trans)
+-{
+-  __gconv_trans_query_fct queryfct;
+-
+-  trans->handle = __libc_dlopen (trans->fname);
+-  if (trans->handle == NULL)
+-    /* Not available.  */
+-    return 1;
+-
+-  /* Find the required symbol.  */
+-  queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
+-  if (queryfct == NULL)
+-    {
+-      /* We cannot live with that.  */
+-    close_and_out:
+-      __libc_dlclose (trans->handle);
+-      trans->handle = NULL;
+-      return 1;
+-    }
+-
+-  /* Get the context.  */
+-  if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
+-      != 0)
+-    goto close_and_out;
+-
+-  /* Of course we also have to have the actual function.  */
+-  trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
+-  if (trans->info.trans_fct == NULL)
+-    goto close_and_out;
+-
+-  /* Now the optional functions.  */
+-  trans->info.trans_init_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_init");
+-  trans->info.trans_context_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_context");
+-  trans->info.trans_end_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_end");
+-
+-  trans->open_count = 1;
+-
+-  return 0;
+-}
+-
+-
+ int
+ internal_function
+ __gconv_translit_find (struct trans_struct *trans)
+ {
+-  struct known_trans **found;
+-  const struct path_elem *runp;
+-  int res = 1;
+-
+-  /* We have to have a name.  */
+-  assert (trans->name != NULL);
+-
+-  /* Acquire the lock.  */
+-  __libc_lock_lock (lock);
+-
+-  /* See whether we know this module already.  */
+-  found = __tfind (trans, &search_tree, trans_compare);
+-  if (found != NULL)
+-    {
+-      /* Is this module available?  */
+-      if ((*found)->handle != NULL)
+-	{
+-	  /* Maybe we have to reopen the file.  */
+-	  if ((*found)->handle != (void *) -1)
+-	    /* The object is not unloaded.  */
+-	    res = 0;
+-	  else if (open_translit (*found) == 0)
+-	    {
+-	      /* Copy the data.  */
+-	      *trans = (*found)->info;
+-	      (*found)->open_count++;
+-	      res = 0;
+-	    }
+-	}
+-    }
+-  else
+-    {
+-      size_t name_len = strlen (trans->name) + 1;
+-      int need_so = 0;
+-      struct known_trans *newp;
+-
+-      /* We have to continue looking for the module.  */
+-      if (__gconv_path_elem == NULL)
+-	__gconv_get_path ();
+-
+-      /* See whether we have to append .so.  */
+-      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
+-	need_so = 1;
+-
+-      /* Create a new entry.  */
+-      newp = (struct known_trans *) malloc (sizeof (struct known_trans)
+-					    + (__gconv_max_path_elem_len
+-					       + name_len + 3)
+-					    + name_len);
+-      if (newp != NULL)
+-	{
+-	  char *cp;
+-
+-	  /* Clear the struct.  */
+-	  memset (newp, '\0', sizeof (struct known_trans));
+-
+-	  /* Store a copy of the module name.  */
+-	  newp->info.name = cp = (char *) (newp + 1);
+-	  cp = __mempcpy (cp, trans->name, name_len);
+-
+-	  newp->fname = cp;
+-
+-	  /* Search in all the directories.  */
+-	  for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
+-	    {
+-	      cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
+-			      trans->name, name_len);
+-	      if (need_so)
+-		memcpy (cp, ".so", sizeof (".so"));
+-
+-	      if (open_translit (newp) == 0)
+-		{
+-		  /* We found a module.  */
+-		  res = 0;
+-		  break;
+-		}
+-	    }
+-
+-	  if (res)
+-	    newp->fname = NULL;
+-
+-	  /* In any case we'll add the entry to our search tree.  */
+-	  if (__tsearch (newp, &search_tree, trans_compare) == NULL)
+-	    {
+-	      /* Yickes, this should not happen.  Unload the object.  */
+-	      res = 1;
+-	      /* XXX unload here.  */
+-	    }
+-	}
+-    }
+-
+-  __libc_lock_unlock (lock);
+-
+-  return res;
++  /* Transliteration module loading has been removed because it never
++     worked as intended and suffered from a security vulnerability.
++     Consequently, this function always fails.  */
++  return 1;
+ }
diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix
new file mode 100644
index 000000000000..71ac281195b6
--- /dev/null
+++ b/pkgs/development/libraries/gmock/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gmock-${version}";
+
+  src = fetchurl {
+    url = "https://googlemock.googlecode.com/files/${name}.zip";
+    sha256="26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  buildPhase = ''
+    # avoid building gtest
+    make gmock gmock_main
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgmock.a libgmock_main.a $out/lib
+    cp -v -r ../include $out
+    cp -v -r ../src $out
+  '';
+
+  meta = {
+    description = "Google mock: Google's framework for writing C++ mock classes";
+    homepage = https://code.google.com/p/googlemock/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
new file mode 100644
index 000000000000..04bcc42a032f
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -0,0 +1,25 @@
+--- ./giscanner/utils.py.orig	2014-08-14 22:05:05.055334080 +0200
++++ ./giscanner/utils.py	2014-08-14 22:05:24.687497334 +0200
+@@ -110,17 +110,11 @@
+     if dlname is None:
+         return None
+ 
+-    # Darwin uses absolute paths where possible; since the libtool files never
+-    # contain absolute paths, use the libdir field
+-    if platform.system() == 'Darwin':
+-        dlbasename = os.path.basename(dlname)
+-        libdir = _extract_libdir_field(la_file)
+-        if libdir is None:
+-            return dlbasename
+-        return libdir + '/' + dlbasename
+-    # From the comments in extract_libtool(), older libtools had
+-    # a path rather than the raw dlname
+-    return os.path.basename(dlname)
++    dlbasename = os.path.basename(dlname)
++    libdir = _extract_libdir_field(la_file)
++    if libdir is None:
++        return dlbasename
++    return libdir + '/' + dlbasename
+ 
+ 
+ def extract_libtool(la_file):
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 7686fb308383..4b7ec1f41163 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./absolute_shlib_path.patch ];
+
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
     homepage    = http://live.gnome.org/GObjectIntrospection;
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index d86e450477dc..a02af7f0cd75 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc
 , faacSupport ? false, faac ? null
 , faad2, libass, libkate, libmms
-, libmodplug, mpeg2dec, mpg123 
+, libmodplug, mpeg2dec, mpg123
 , openjpeg, libopus, librsvg
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls
@@ -10,7 +10,7 @@
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.4.0";
+  name = "gst-plugins-bad-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z";
+    sha256 = "0268db2faaf0bb22e5b709a11633abbca4f3d289b1f513bb262d0bf3f53e19ae";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 9ae5f194fa22..3b9e94f4c658 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.4.0";
+  name = "gst-plugins-base-1.4.1";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx";
+    sha256 = "aea9e25be6691bd3cc0785d005b2b5d70ce313a2c897901680a3f7e7cab5a499";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index a99c0f14ecc3..8e9a2b87a017 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
-, glib 
+, glib
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.4.0";
+  name = "gstreamer-1.4.1";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3";
+    sha256 = "5638f75003282135815c0077d491da11e9a884ad91d4ba6ab3cc78bae0fb452e";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 69ffa81cb25b..176814c5ecd1 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.4.0";
+  name = "gst-plugins-good-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8";
+    sha256 = "8559d4270065b30ed5c49b826e1b7a3a2bd5ee9a340ae745a2ae3f9718e4c637";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index ee4b3c392ddb..e25492c1d13b 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -6,7 +6,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.4.0";
+  name = "gst-libav-1.4.1";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68";
+    sha256 = "fc125521187fa84f3210269a0eecc51f8a856802f1ca4bb251f118dab90c5a9d";
   };
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index da37280af99e..6a80514e8a1c 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.4.0";
+  name = "gst-plugins-ugly-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k";
+    sha256 = "25440435ac4ed795d213f2420a0e7355e4a2e2e76d1f9d020b2073f815e8b071";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
new file mode 100644
index 000000000000..d24ec46d9053
--- /dev/null
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl
+, pkgconfig
+, gtk3, glib, glibmm, gtkmm3, gtkspell3
+}:
+
+let
+  version = "3.0.3";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "gtkspellmm-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gtkspell/gtkspellmm/" +
+          "${name}.tar.gz";
+    sha256 = "f9dcc0991621c08e7a972f33487afd6b37491468f0b654f50c741a7e6d810624";
+  };
+
+  propagatedBuildInputs = [
+    gtkspell3
+  ];
+
+  buildInputs = [
+    pkgconfig
+    gtk3 glib glibmm gtkmm3
+  ];
+
+  meta = with stdenv.lib; {
+    description = "C++ binding for the gtkspell library";
+    homepage = http://gtkspell.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 8340660e3923..45cdc5be02b1 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,11 +8,11 @@
 # (icu is a ~30 MB dependency, the rest is very small in comparison)
 
 stdenv.mkDerivation rec {
-  name = "harfbuzz-0.9.33";
+  name = "harfbuzz-0.9.35";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
-    sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk";
+    sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index d2dea8158197..28480a4d27d3 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.2.4";
-  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
+  version = "1.3";
+  sha256 = "1d8v4imbb2g30gbxj3xlm1vqc17cnqbiysxp78n3vrxnalr8s98l";
   buildDepends = [
     cairo Chart colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
index 002b762fbac2..ff4898eb1e7d 100644
--- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-diagrams";
-  version = "1.2.4";
-  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
+  version = "1.3";
+  sha256 = "1lfdv2bn942w4b0bjd6aw59wdc2jfk305ym5vm88liy9127b65bp";
   buildDepends = [
     blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
     diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Diagrams backend for Charts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index 9dbb3c8ae9a9..0ce13bd87378 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.2.4";
-  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
+  version = "1.3";
+  sha256 = "1bi7gim31w3xf6jsd2hkwhkhw1i9c4dmxnm3f46336k9rsxn59ph";
   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 d5696a562da4..557721007ed5 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.2.4";
-  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
+  version = "1.3";
+  sha256 = "1xvr90x1kmnjfmbap47ffzi3xbawcwz7q6b76v2gbqp4gjlhiyx7";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
index f5e088a4238b..aaf84a841873 100644
--- a/pkgs/development/libraries/haskell/MFlow/default.nix
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MFlow";
-  version = "0.4.5.8";
-  sha256 = "1gfv5ky68dyn8gjjg60c5s9x3dl9xn6j9q43w7vaj9sd1q12wk3c";
+  version = "0.4.5.9";
+  sha256 = "0mqsyx7wkfgvpppqgpjpvzwx79vj7lh4c8afzzj1hgh8z0ilb4ik";
   buildDepends = [
     blazeHtml blazeMarkup caseInsensitive clientsession conduit
     conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix
index e047e938dae2..85f15b500ed1 100644
--- a/pkgs/development/libraries/haskell/auto-update/default.nix
+++ b/pkgs/development/libraries/haskell/auto-update/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.1.1.2";
   sha256 = "0901zqky70wyxl17vwz6smhnpsfjnsk0f2xqiyz902vl7apx66c6";
   testDepends = [ hspec ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Efficiently run periodic, on-demand actions";
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
index 95ead17f01f5..eaa91c51a239 100644
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -1,18 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, HUnit, languageC, shelly, testFramework
-, testFrameworkHunit, text, yaml
+{ cabal, dlist, filepath, HUnit, languageC, shelly, testFramework
+, testFrameworkHunit, text, transformers, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "c2hs";
-  version = "0.17.2";
-  sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk";
+  version = "0.18.1";
+  sha256 = "17miqihfidzd1nqdswnd7j0580jlv2pj19wxlx8vb3dc5wga58xd";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ filepath languageC ];
+  buildDepends = [ dlist filepath languageC shelly text yaml ];
   testDepends = [
-    filepath HUnit shelly testFramework testFrameworkHunit text yaml
+    filepath HUnit shelly testFramework testFrameworkHunit text
+    transformers
   ];
   jailbreak = true;
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/crypto-random/default.nix b/pkgs/development/libraries/haskell/crypto-random/default.nix
index 878eb3d2c71f..c7053cbf1e39 100644
--- a/pkgs/development/libraries/haskell/crypto-random/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-random/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-random";
-  version = "0.0.7";
-  sha256 = "1dj63y85l3f1x7fw8j7hykz56ajd38iikl3f8ygaz8r95pd1zjxw";
+  version = "0.0.8";
+  sha256 = "058ilm05ni5ribggx25cfrhsv1z0abvgxzf3wd3d6qqq58p5wbkv";
   buildDepends = [ securemem vector ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-random";
diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
index aae120d56818..4c1ca9cd9aeb 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-heist";
-  version = "0.8.5.0";
-  sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87";
+  version = "0.8.6.0";
+  sha256 = "0n73hw8xl70x7c3hn4hz1qqijvvhv0qk30q0c22lnbjaf4n8dki2";
   buildDepends = [
     blazeBuilder digestiveFunctors heist mtl text xmlhtml
   ];
diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix
index 610b1a5ec63e..2cc9682dccb1 100644
--- a/pkgs/development/libraries/haskell/directory-layout/default.nix
+++ b/pkgs/development/libraries/haskell/directory-layout/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     commandQq doctest filepath free hspec lens semigroups temporary
     text transformers unorderedContainers
   ];
+  doCheck = false;
   meta = {
     description = "Directory layout DSL";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
index 018fac066702..af3f9e2d5255 100644
--- a/pkgs/development/libraries/haskell/doctest/default.nix
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "doctest";
-  version = "0.9.11";
-  sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr";
+  version = "0.9.11.1";
+  sha256 = "1gzzzwr7f7281mlbfbk74nxr28l70lwfaws4xjfx2v06xazl99db";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ deepseq filepath ghcPaths syb transformers ];
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   doCheck = false;
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4";
   meta = {
-    homepage = "https://github.com/sol/doctest-haskell#readme";
+    homepage = "https://github.com/sol/doctest#readme";
     description = "Test interactive Haskell examples";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 881a9cd9a0af..207cc0ea5dac 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.3.2";
-  sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
+  version = "0.3.3";
+  sha256 = "0px97mims7pbxyh8jqckc14ahdjj7r3hhckzpjqnxpkcisb2c738";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/functor-infix/default.nix b/pkgs/development/libraries/haskell/functor-infix/default.nix
new file mode 100644
index 000000000000..d3e6322a7cbe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/functor-infix/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "functor-infix";
+  version = "0.0.1";
+  sha256 = "1f8m4nxlr2il9j0ilgw91fhp6mmz5xqlhylavncqwvbcq82362dc";
+  meta = {
+    homepage = "https://github.com/fmap/functor-infix";
+    description = "Compositions of functors";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix
index 3eefe056218d..1a4ada4d3dc5 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "5.0.1.1";
-  sha256 = "0qyl1653dj14ap3035kjj7xl8rsmgpwh32bj2lnwrmdm2223m8a3";
+  version = "5.0.1.2";
+  sha256 = "0hs2d6h3g077prm2mdr40k7m1cdc0h01agbcvs4h6y27nls3kyjx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/ghc-server/default.nix b/pkgs/development/libraries/haskell/ghc-server/default.nix
new file mode 100644
index 000000000000..ac9cb852704d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-server/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, attoLisp, attoparsec, conduit, conduitExtra
+, ghcPaths, mtl, network, syb, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-server";
+  version = "1.1";
+  sha256 = "1rgrgx9xakq6vy6nanvwzwfvzbfg287pmm8pdm9lbd7kf7ls5ml4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async attoLisp attoparsec conduit conduitExtra ghcPaths mtl network
+    syb text
+  ];
+  meta = {
+    description = "A server interface to GHC";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haddock-api/default.nix b/pkgs/development/libraries/haskell/haddock-api/default.nix
new file mode 100644
index 000000000000..2f3afa32196a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haddock-api/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, filepath, ghcPaths, haddockLibrary, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock-api";
+  version = "2.15.0";
+  sha256 = "17h5h40ddn0kiqnz6rmz9p0jqvng11lq3xm6lnizwix9kcwl843b";
+  buildDepends = [
+    Cabal deepseq filepath ghcPaths haddockLibrary xhtml
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haddock-library/default.nix b/pkgs/development/libraries/haskell/haddock-library/default.nix
index aece9e35873e..a7041b3ba28e 100644
--- a/pkgs/development/libraries/haskell/haddock-library/default.nix
+++ b/pkgs/development/libraries/haskell/haddock-library/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haddock-library";
-  version = "1.1.0";
-  sha256 = "0apqm9nxgxbpvcphaim93q4z67c1cd0vdjz0i1cbr67ymffl69nd";
+  version = "1.1.1";
+  sha256 = "0sjnmbmq1pss9ikcqnhvpf57rv78lzi1r99ywpmmvj1gyva2s31m";
   buildDepends = [ deepseq ];
   testDepends = [ baseCompat deepseq hspec QuickCheck ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix
index 962bf758a1e6..dfedd812a20a 100644
--- a/pkgs/development/libraries/haskell/haste-compiler/default.nix
+++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haste-compiler";
-  version = "0.4.1";
-  sha256 = "15v4c6rxz4n0wmiys6mam8xprcdq8kxnhpwcqnljshr8wlyihn8b";
+  version = "0.4.2";
+  sha256 = "0agbd21c7mgzxyg6lwjl3n8w2r7xcrv3811y0x86rg7q1m7z730m";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hindent/default.nix b/pkgs/development/libraries/haskell/hindent/default.nix
new file mode 100644
index 000000000000..cef49d0b2fac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hindent/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, haskellSrcExts, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hindent";
+  version = "2.1";
+  sha256 = "0gvrh26d1d6d1fy4qfpwrghdrlvk82mkya8vaz0xnrs89p9gr9rz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ dataDefault haskellSrcExts mtl text ];
+  meta = {
+    description = "Extensible Haskell pretty printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
new file mode 100644
index 000000000000..c7b15b8f99de
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
@@ -0,0 +1,6 @@
+#! @shell@
+
+COMMAND=$1
+shift
+HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \
+    $COMMAND -d @out@/share/hoogle $@
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
deleted file mode 100644
index df507c5a4705..000000000000
--- a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
-index 94b1d48..f41f270 100644
---- a/src/CmdLine/All.hs
-+++ b/src/CmdLine/All.hs
-@@ -86,8 +86,10 @@ guessLocal = do
-     ghc <- findExecutable "ghc"
-     home <- getHomeDirectory
-     lib <- getLibDir
-+    path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
-     let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -}  ] ++
-              [takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
-+             maybeToList path ++
-              [home </> ".cabal/share/doc" {- Linux -} ]
-     filterM doesDirectoryExist xs
- 
-diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
-index b037f11..f2ac047 100644
---- a/src/Hoogle/Language/Haskell.hs
-+++ b/src/Hoogle/Language/Haskell.hs
-@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
- 
- setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
-     where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
--                 then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
-+                 then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
-                  else takeDirectory (itemURL pkg) ++ "/" ++ file
-               where file = reps '.' '-' xs ++ ".html"
- setModuleURL _ _ x = x
diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix
index 490898a75b20..ba907948b14a 100644
--- a/pkgs/development/libraries/haskell/hoogle/local.nix
+++ b/pkgs/development/libraries/haskell/hoogle/local.nix
@@ -9,12 +9,12 @@
 #   haskellPackages =
 #     let callPackage = pkgs.lib.callPackageWith haskellPackages;
 #     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
-#         extraPrefs = self: {
+#         extension = self: super: {
 #           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
 #             packages = with pkgs.haskellPackages; [
 #               mmorph
 #               monadControl
-#             ]
+#             ];
 #           };
 #         };
 #       });
@@ -23,43 +23,22 @@
 # This will build mmorph and monadControl, and have the hoogle installation
 # refer to their documentation via symlink so they are not garbage collected.
 
-{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
-, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
-, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
-, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
-, fetchurl
-
-, parallel, perl, wget, rehoo, haskellPlatform
-, packages ? haskellPlatform.propagatedUserEnvPkgs
+{ stdenv, hoogle, rehoo
+, haskellPlatform, ghc, packages ? [ haskellPlatform ghc.ghc ]
 }:
 
-cabal.mkDerivation (self: rec {
-  pname = "hoogle";
-  version = "4.2.32";
-  sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc";
-  isLibrary = true;
-  isExecutable = true;
-  buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs
-    ++ [ parallel perl wget rehoo ] ++ packages;
-  buildDepends = [
-      aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-      deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
-      resourcet safe shake tagsoup text time transformers uniplate vector
-      vectorAlgorithms wai warp
-    ];
-  testDepends = [ filepath ];
-  testTarget = "--test-option=--no-net";
+let
+  inherit (stdenv.lib) optional;
+  wrapper = ./hoogle-local-wrapper.sh;
+in
+stdenv.mkDerivation {
+  name = "hoogle-local-0.1";
+  buildInputs = [hoogle rehoo];
 
-  # The tests will fail because of the added documentation.
-  doCheck = false;
-  patches = [ ./hoogle-local.diff
-              (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
-                          sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
-            ];
+  phases = [ "installPhase" ];
 
   docPackages = packages;
-
-  postInstall = ''
+  installPhase = ''
     if [ -z "$docPackages" ]; then
         echo "ERROR: The packages attribute has not been set"
         exit 1
@@ -71,27 +50,38 @@ cabal.mkDerivation (self: rec {
     cd $out/share/hoogle
 
     function import_dbs() {
-        find $1 -name '*.txt' \
-            | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}'
+        find $1 -name '*.txt' | while read f; do
+          newname=$(basename "$f" | tr '[:upper:]' '[:lower:]')
+          if [[ -f $f && ! -f ./$newname ]]; then
+            cp -p $f ./$newname
+            hoogle convert -d "$(dirname $f)" "./$newname"
+          fi
+        done
     }
 
     for i in $docPackages; do
-        import_dbs $i/share/doc
-        ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
-            || ln -sf $i/share/doc/* $out/share/hoogle/doc
+        findInputs $i docPackages propagated-native-build-inputs
+        findInputs $i docPackages propagated-build-inputs
     done
 
-    import_dbs ${self.ghc}/share/doc/ghc*/html/libraries
-    ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
+    for i in $docPackages; do
+      if [[ ! $i == $out ]]; then
+        for docdir in $i/share/doc/*-ghc-*/* $i/share/doc/*; do
+          if [[ -d $docdir ]]; then
+            import_dbs $docdir
+            ln -sf $docdir $out/share/hoogle/doc
+          fi
+        done
+      fi
+    done
 
-    unset http_proxy
-    unset ftp_proxy
+    import_dbs ${ghc}/share/doc/ghc*/html/libraries
+    ln -sf ${ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
 
     chmod 644 *.hoo *.txt
-    $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g')
-    PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
+    rehoo -j4 -c64 .
 
-    rm -fr downloads *.txt *.dep
+    rm -fr downloads *.dep *.txt
     mv default.hoo x || exit 0
     rm -f *.hoo
     mv x default.hoo || exit 1
@@ -101,23 +91,17 @@ cabal.mkDerivation (self: rec {
         exit 1
     fi
 
-    mv $out/bin/hoogle $out/bin/.hoogle-wrapped
-    cat - > $out/bin/hoogle <<EOF
-    #! ${self.stdenv.shell}
-    COMMAND=\$1
-    shift
-    HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
-    EOF
+    mkdir -p $out/bin
+    substitute ${wrapper} $out/bin/hoogle \
+        --subst-var out --subst-var-by shell ${stdenv.shell} \
+        --subst-var-by hoogle ${hoogle}
     chmod +x $out/bin/hoogle
   '';
 
   meta = {
-    homepage = "http://www.haskell.org/hoogle/";
-    description = "Haskell API Search";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    description = "A local Hoogle database";
+    platforms = ghc.meta.platforms;
+    hydraPlatforms = with stdenv.lib.platforms; none;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
-})
+}
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
index db38dbc23991..4f71d28010a8 100644
--- a/pkgs/development/libraries/haskell/hplayground/default.nix
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hplayground";
-  version = "0.1.0.3";
-  sha256 = "1k46b94n9wkbh7374mjyg5jnwxxrhj8ai53q3r4lysx1rzgw7ak6";
+  version = "0.1.0.4";
+  sha256 = "12xqj7f9vqj2zsv3ipfmpkdnqagh2g0x4i4jsj98q91ynwhzg1am";
   buildDepends = [
     dataDefault hasteCompiler hastePerch monadsTf transformers
   ];
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index 7015c9446e85..6e41fb85e681 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.3.8";
-  sha256 = "0v5j6fcigjpksj1m0n15g3j680k7qkms3cqd0b1w0ma7k63kcibc";
+  version = "0.3.8.1";
+  sha256 = "1iy3wg88z1w0l5dzxkynlw0xd7np5xbxcrcdj3f2kzyfr39mw5v0";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/managed/default.nix b/pkgs/development/libraries/haskell/managed/default.nix
new file mode 100644
index 000000000000..5827038627c7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/managed/default.nix
@@ -0,0 +1,13 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "managed";
+  version = "1.0.0";
+  sha256 = "06nb71pd68m5l6a48sz5kkrdif74phbg3y6bn9ydd00y515b9gn5";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "A monad for managed values";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix
index 5cbfed976d14..f7c48f691ed2 100644
--- a/pkgs/development/libraries/haskell/monad-journal/default.nix
+++ b/pkgs/development/libraries/haskell/monad-journal/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-journal";
-  version = "0.2.3.1";
-  sha256 = "11p7qdga26wz82x6a1fl57iij4swsr1d1aly76sjrlvl8maqlf7d";
+  version = "0.2.3.2";
+  sha256 = "02356yapx5g6lam72kdyhndq5lcyhd2zsjvvcndiyhqik6csi457";
   buildDepends = [
     either monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix
index 7e9ac0ddd95e..f964af3c8b72 100644
--- a/pkgs/development/libraries/haskell/ncurses/default.nix
+++ b/pkgs/development/libraries/haskell/ncurses/default.nix
@@ -15,5 +15,7 @@ cabal.mkDerivation (self: {
     description = "Modernised bindings to GNU ncurses";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix
index e6259b09c244..6cfd4dca161d 100644
--- a/pkgs/development/libraries/haskell/network-uri/default.nix
+++ b/pkgs/development/libraries/haskell/network-uri/default.nix
@@ -6,13 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "network-uri";
-  version = "2.6.0.0";
-  sha256 = "0dnprscb5nxidg56i7j6q783nwsrn3dabfsij3vjlvjn4f0sg11l";
+  version = "2.6.0.1";
+  sha256 = "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37";
   buildDepends = [ parsec ];
   testDepends = [
     HUnit network testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/haskell/network-uri";
     description = "URI manipulation";
diff --git a/pkgs/development/libraries/haskell/network/2.6.0.1.nix b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
index d5d302fbd8e6..37540ad323eb 100644
--- a/pkgs/development/libraries/haskell/network/2.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.6.0.1";
-  sha256 = "0qfffsdbvrf9gs8wr9ps7iv5h6drz4vb2ja9rprmc7ypswsacxsq";
+  version = "2.6.0.2";
+  sha256 = "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4";
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
     homepage = "https://github.com/haskell/network";
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
new file mode 100644
index 000000000000..ff546c76eae5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, transformers, transformersCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "optparse-applicative";
+  version = "0.10.0";
+  sha256 = "04hr6rzgc8h0c8fy748as3q7sc8vm94gvk0rw4gdj605z8hvaxcb";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/pcapriotti/optparse-applicative";
+    description = "Utilities and combinators for parsing command line options";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
index 82bc0fa8a9ee..82bc0fa8a9ee 100644
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index c5087a692f9a..f8bb4d4a6dbc 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.4.1";
-  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
+  version = "0.5.5";
+  sha256 = "19a2ra37cxh56gd1k43y9fg2cdp848yimybsx8728in39m8cjbxw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index dd92b7e79deb..00fe58be4b12 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HTTP, network, xhtml }:
+{ cabal, HTTP, network, networkUri, xhtml }:
 
 cabal.mkDerivation (self: {
   pname = "recaptcha";
-  version = "0.1.0.2";
-  sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih";
-  buildDepends = [ HTTP network xhtml ];
+  version = "0.1.0.3";
+  sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19";
+  buildDepends = [ HTTP network networkUri xhtml ];
   meta = {
     homepage = "http://github.com/jgm/recaptcha/tree/master";
     description = "Functions for using the reCAPTCHA service in web applications";
diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
new file mode 100644
index 000000000000..f5ddf2a63889
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, regexBase }:
+
+cabal.mkDerivation (self: {
+  pname = "regex-pcre-builtin";
+  version = "0.94.4.8.8.35";
+  sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b";
+  buildDepends = [ regexBase ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/regex-pcre";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index 012f6db8bf24..148e8f1cc1ff 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-gen";
-  version = "0.14.2.1";
-  sha256 = "1dvcs25ndmzwdann5yq4567zjirirzskf9v31gkrki0im8mi9x14";
+  version = "0.15";
+  sha256 = "004rcxaw4xjsa1grz84wgik6nabd9c3nyp8s6ylfgwgcrvcc8li2";
   buildDepends = [
     aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
     haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
index 4c79bc58c065..93397e823633 100644
--- a/pkgs/development/libraries/haskell/rest-happstack/default.nix
+++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-happstack";
-  version = "0.2.10.1";
-  sha256 = "0p4km3l8n50flj9cnxvjl34pp3msxz2yq4d91r318di8pacrgnxc";
+  version = "0.2.10.2";
+  sha256 = "18i2q3kvsyrh41gdclrzpnsjy1p9cgl3d9jsvcqqnzrv519vzdig";
   buildDepends = [ happstackServer mtl restCore restGen utf8String ];
   meta = {
     description = "Rest driver for Happstack";
diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix
index 9a0a994cf77e..0df453d10bbd 100644
--- a/pkgs/development/libraries/haskell/retry/default.nix
+++ b/pkgs/development/libraries/haskell/retry/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "retry";
-  version = "0.5";
-  sha256 = "1qp949w8pisgki06j5qgaxw1761q3gfccc7bqnhqpchazl4p6p6n";
+  version = "0.5.1";
+  sha256 = "1k5qv7c960dayhddvra1gpy1zv90rdjcrzpg8nzar9bpcxapczvj";
   buildDepends = [ dataDefaultClass exceptions transformers ];
   testDepends = [
     dataDefaultClass exceptions hspec HUnit QuickCheck time
diff --git a/pkgs/development/libraries/haskell/rope/default.nix b/pkgs/development/libraries/haskell/rope/default.nix
new file mode 100644
index 000000000000..3c751d5eddd7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rope/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fingertree, mtl, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "rope";
+  version = "0.6.4";
+  sha256 = "1g77bv2mmfhy2mkb08k92m3f2jab6p2la2s7rfib2r1jy6lq5vhb";
+  buildDepends = [ fingertree mtl utf8String ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ekmett/rope";
+    description = "Tools for manipulating fingertrees of bytestrings with optional annotations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix
index fcfd2d34d586..05696176d903 100644
--- a/pkgs/development/libraries/haskell/setlocale/default.nix
+++ b/pkgs/development/libraries/haskell/setlocale/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "setlocale";
-  version = "0.0.3";
-  sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl";
+  version = "1.0.0";
+  sha256 = "1bnxh09jjac8gyjl87w6v86dqc1xr398l28ili8283im141anpzi";
+  jailbreak = true;
   meta = {
-    description = "A Haskell interface to setlocale()";
-    license = self.stdenv.lib.licenses.publicDomain;
+    description = "Haskell bindings to setlocale";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index 9f8e59322b04..2dbd8a17b941 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-ant-xml";
-  version = "1.0.0.8";
-  sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm";
+  version = "1.0.0.9";
+  sha256 = "0zl1gdm5cm3vpi551ysvcis17grb83q18y3c329bxynnizrm8q9f";
   buildDepends = [
     genericDeriving mtl reducers stm tagged tasty transformers xml
   ];
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
deleted file mode 100644
index 0d5c97433b2a..000000000000
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, certificate, cipherAes, cipherRc4, cryptohash
-, cryptoPubkey, cryptoRandom, mtl, network, pem, time, tls, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls-extra";
-  version = "0.6.6";
-  sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    certificate cipherAes cipherRc4 cryptohash cryptoPubkey
-    cryptoRandom mtl network pem time tls vector
-  ];
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS extra default values and helpers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.1.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix
deleted file mode 100644
index ddb1651fd100..000000000000
--- a/pkgs/development/libraries/haskell/tls/1.1.5.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey
-, cryptoRandom, mtl, network, QuickCheck, testFramework
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls";
-  version = "1.1.5";
-  sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c";
-  buildDepends = [
-    cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network
-  ];
-  testDepends = [
-    cereal certificate cprngAes cryptoPubkey cryptoRandom mtl
-    QuickCheck testFramework testFrameworkQuickcheck2 time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS/SSL protocol native implementation (Server and Client)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/default.nix
index 22eb615a6571..45cb3c693944 100644
--- a/pkgs/development/libraries/haskell/tls/1.2.8.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "1.2.8";
-  sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha";
+  version = "1.2.9";
+  sha256 = "1cwhwxpsxx9x5hv2c66d3yvbs84lrgaxmaz18skidmhqhs4i0sjy";
   buildDepends = [
     asn1Encoding asn1Types byteable cereal cipherAes cipherDes
     cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
index 0d5766800442..63a490202a89 100644
--- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "twitter-conduit";
-  version = "0.0.5.6";
-  sha256 = "1l6gk4538nqknrj082hkdy2jp4gzyq3y473p8gg4mm2n67417r9m";
+  version = "0.0.5.8";
+  sha256 = "0cpakiajrwgpg2f04nbfryajln281kgsi0ly9xnx370y5pn98r86";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -31,7 +31,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix
index 4c8eb53c9956..71601c9306dd 100644
--- a/pkgs/development/libraries/haskell/x509/default.nix
+++ b/pkgs/development/libraries/haskell/x509/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "x509";
-  version = "1.4.11";
-  sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga";
+  version = "1.4.12";
+  sha256 = "0bfsmmngpvghbfljxa2gymf6hvsw04snw6fr2r6hpaw40njxfxxj";
   buildDepends = [
     asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes
     filepath mtl pem time
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
index dd8ad8b35615..6fd204c236f7 100644
--- a/pkgs/development/libraries/ilixi/default.nix
+++ b/pkgs/development/libraries/ilixi/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    broken = true; # broken by the directfb 1.6.3 -> 1.7.6 update
   };
 }
diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
index f1da2c064092..67620881bca6 100644
--- a/pkgs/development/libraries/isl/0.12.2.nix
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix
index 7e08c8afe6f6..931ee831b734 100644
--- a/pkgs/development/libraries/isl/default.nix
+++ b/pkgs/development/libraries/isl/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ gmp ];
   patches = [ ./fix-gcc-build.diff ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix
index 9a485906e536..fd7f5367c8e0 100644
--- a/pkgs/development/libraries/javascript/jquery-ui/default.nix
+++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix
@@ -1,29 +1,19 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "jquery-ui-1.10.4";
+  name = "jquery-ui-1.11.1";
 
   src = fetchurl {
-    url = "http://jqueryui.com/resources/download/${name}.custom.zip";
-    sha256 = "04kp27ln74j4k2jacs54264x2bsdjx1dxlw5zlpd889jqv2m6dfc";
+    url = "http://jqueryui.com/resources/download/${name}.zip";
+    sha256 = "05dlcfwklymx94fb4n88l5syf80l6zrs862zzmla477vd8ndk537";
   };
 
   buildInputs = [ unzip ];
 
   installPhase =
     ''
-      mkdir -p $out
-      cp -prvd css js $out/
-
-      # For convenience, provide symlinks "jquery.min.js" etc. (i.e.,
-      # without the version number).
-      pushd $out/js
-      ln -s jquery-ui-*.custom.js jquery-ui.js
-      ln -s jquery-ui-*.custom.min.js jquery-ui.min.js
-      ln -s jquery-1.*.js jquery.js
-      popd
-      pushd $out/css/smoothness
-      ln -s jquery-ui-*.custom.css jquery-ui.css
+      mkdir -p "$out/js"
+      cp -rv . "$out/js"
     '';
 
   meta = {
diff --git a/pkgs/development/libraries/javascript/jquery/default.nix b/pkgs/development/libraries/javascript/jquery/default.nix
new file mode 100644
index 000000000000..7dd2b6284fa3
--- /dev/null
+++ b/pkgs/development/libraries/javascript/jquery/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, compressed ? true }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "jquery-1.11.1";
+
+  src = if compressed then
+    fetchurl {
+      url = "http://code.jquery.com/${name}.min.js";
+      sha256 = "0hgly37jhg0n5cqlx3ylmwcxkxmbkvv07f9z9pm94jyxq7gcc2sl";
+    }
+    else
+    fetchurl {
+      url = "http://code.jquery.com/${name}.js";
+      sha256 = "1g7nhy8dwzzai7h7m800fsig4gzw34kjxxbpqdac2y8ch9586a9h";
+    };
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p "$out/js"
+      cp -v "$src" "$out/js/jquery.js"
+      ${optionalString compressed ''
+        (cd "$out/js" && ln -s jquery.js jquery.min.js)
+      ''}
+    '';
+
+  meta = with stdenv.lib; {
+    description = "JavaScript library designed to simplify the client-side scripting of HTML";
+    homepage = http://jquery.com/;
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 7a45ca0f2272..a50163c601d4 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -7,9 +7,9 @@ stdenv.mkDerivation rec {
     project = "json-glib";
     major = "1";
     minor = "0";
-    patchlevel = "0";
+    patchlevel = "2";
     extension = "xz";
-    sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde";
+    sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a";
   };
 
   configureflags= "--with-introspection" ; 
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 2f9e1786473e..264868e4a973 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -28,7 +28,7 @@ let
   result = {
     libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685";
     libav_9   = libavFun   "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a";
-    libav_10  = libavFun  "10.3"  "1fq83rc5534fjqjlhkw5i9k54dmyqn2pgvyillm6pws8rkn9yb5r";
+    libav_10  = libavFun  "10.4"  "1zzvjfdlv9swhq7dzvli1pk8cn02q1076ax9m3cx9ipilbg21639";
   };
 
   libavFun = version : sha256 : stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index 32035709d8f9..21a07d6f7d4b 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
     homepage = http://libcxx.llvm.org/;
     description = "A new implementation of the C++ standard library, targeting C++11";
     license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
index 8218cbb966f0..dd1f46a9ab38 100644
--- a/pkgs/development/libraries/libc++abi/default.nix
+++ b/pkgs/development/libraries/libc++abi/default.nix
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
     homepage = http://libcxxabi.llvm.org/;
     description = "A new implementation of low level support for a standard C++ library";
     license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index 7c948aa98247..fad0170ade78 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,10 +1,11 @@
-{ fetchurl, stdenv, zlib, openssl, libuuid, file }:
+{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "libewf-20100226";
+  version = "20140608";
+  name = "libewf-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/libewf/${name}.tar.gz";
-    sha256 = "aedd2a6b3df6525ff535ab95cd569ebb361a4022eb4163390f26257913c2941a";
+    url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz";
+    sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i";
   };
 
   preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure'';
@@ -14,6 +15,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library for support of the Expert Witness Compression Format";
     homepage = http://sourceforge.net/projects/libewf/;
-    license = "free";
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = [ stdenv.lib.maintainers.raskin ] ;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream
new file mode 100644
index 000000000000..a071132463f8
--- /dev/null
+++ b/pkgs/development/libraries/libewf/default.upstream
@@ -0,0 +1,7 @@
+url https://code.google.com/p/libewf/
+version_link 'googledrive[.]com'
+version_link '[.]tar[.]'
+do_overwrite () {
+  do_overwrite_just_version
+  set_var_value url "$CURRENT_URL"
+}
diff --git a/pkgs/development/libraries/libfreefare/default.nix b/pkgs/development/libraries/libfreefare/default.nix
new file mode 100644
index 000000000000..17afa9423b0e
--- /dev/null
+++ b/pkgs/development/libraries/libfreefare/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libnfc, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libfreefare-${version}";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "https://libfreefare.googlecode.com/files/libfreefare-0.4.0.tar.bz2";
+    sha256 = "0r5wfvwgf35lb1v65wavnwz2wlfyfdims6a9xpslf4lsm4a1v8xz";
+  };
+
+  buildInputs = [ pkgconfig libnfc openssl ];
+
+  meta = with stdenv.lib; {
+    description = "The libfreefare project aims to provide a convenient API for MIFARE card manipulations";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/libfreefare/;
+    maintainers = with maintainers; [bobvanderlinden];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 663bd944fb92..7a595dbbe46e 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation (rec {
     sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a";
   };
 
-  # If architecture-dependant MO files aren't available, they're generated
+  # If architecture-dependent MO files aren't available, they're generated
   # during build, so we need gettext for cross-builds.
   crossAttrs.buildInputs = [ gettext ];
 
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 39795267a2c5..dc197fc64099 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.35";
+  name = "libmicrohttpd-0.9.37";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw";
+    sha256 = "1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357";
   };
 
   buildInputs = [ curl libgcrypt ];
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index b3eee8ed4342..3cb9629e3e1b 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -2,11 +2,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "liboauth-1.0.2";
+  name = "liboauth-1.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/liboauth/${name}.tar.gz";
-    sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv";
+    sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd";
   };
 
   buildInputs = [ nss openssl ];
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 3782dabc67bd..7b8f40d1886a 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,23 +1,22 @@
-{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}:
+{ stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-20130821-git-f0f8a2";
-  src = fetchgit {
-    url = "http://git.code.sf.net/p/otr/libotr";
-    rev = "f0f8a2";
-    sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm";
-  };
-
-  NIX_LDFLAGS = "-lssp";
+  name = "libotr-4.0.0";
 
-  propagatedBuildInputs = [ libgcrypt autoconf automake libtool ];
+  src = fetchurl {
+    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    sha256 = "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z";
+  };
 
-  preConfigure = "autoreconf -vfi";
+  buildInputs = [ autoreconfHook ];
+  propagatedBuildInputs = [ libgcrypt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.cypherpunks.ca/otr/";
     repositories.git = git://git.code.sf.net/p/otr/libotr;
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
     description = "Library for Off-The-Record Messaging";
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 1f04ae8fca54..3f8622535dbf 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.12";
-  sha256 = "0pkcirbfzhqqsm3hr2alxprw5n22a836qk4df1jnns6jk79gcby3";
+  version = "1.6.13";
+  sha256 = "09g631h1f1xvrdiy36mh1034r9w46damp9jcg7nm507wlmacxj6r";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-    sha256 = "0r2vmsc4cvxisjr7jqw2vjf66isb2fhs4nnssz3l3jgdangj8wz0";
+    sha256 = "017pnxp3zhhlh6mg2yqn5xrb6dcxc5p3dp1kr46p8xx052i0hzqb";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix
index 9ef1ada0a424..e8d4f98028f5 100644
--- a/pkgs/development/libraries/libresample/default.nix
+++ b/pkgs/development/libraries/libresample/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     description = "A real-time library for sampling rate conversion library";
     license = stdenv.lib.licenses.lgpl2Plus;
     homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html;
-    maintainers = stdenv.lib.maintainers.sander;
+    maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index e2ff06fcd430..a4c8c167b39a 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = ''
+    sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh
     substituteInPlace $out/libexec/libvirt-guests.sh \
       --replace "$out/bin" "${gettext}/bin"
     wrapProgram $out/sbin/libvirtd \
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 994c013c6319..a4dc7b5e93d1 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
     [
       qknight
     ];
-    platforms = with stdenv.lib.platforms;
-      linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
     license = stdenv.lib.licenses.bsd2;
     homepage = https://google.github.io/liquidfun/;
   };
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index bbad10898bf4..54fd8d3810e3 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -24,7 +24,7 @@ else
 */
 
 let
-  version = "10.2.5";
+  version = "10.2.6";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
 
   src =  fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "039is15p8pkhf8m0yiyb72zybl63xb9ckqzcg3xwi8zlyw5ryidl";
+    sha256 = "01n8ib190s12m8hiiyi4wfm9jhkbqjd769npjwvf965smp918cqr";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
index 9d9a524e86d0..b68f04f642fb 100644
--- a/pkgs/development/libraries/muparser/default.nix
+++ b/pkgs/development/libraries/muparser/default.nix
@@ -1,11 +1,14 @@
 {stdenv, fetchurl, unzip}:
 
-stdenv.mkDerivation {
-	name = "muparser-2.2.2";
-	src = fetchurl {
-		url = mirror://sourceforge/muparser/muparser_v2_2_2.zip;
-		sha256 = "0pncvjzzbwcadgpwnq5r7sl9v5r2y9gjgfnlw0mrs9wj206dbhx9";
-	};
+stdenv.mkDerivation rec {
+  name = "muparser-${version}";
+  version = "2.2.3";
+  url-version = stdenv.lib.replaceChars ["."] ["_"] version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip";
+    sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
+  };
 
   buildInputs = [ unzip ];
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 0355ce25c62c..01967718c403 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.6"; in
+let version = "4.10.7"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
+    sha256 = "389af5cfa863ea9bc6de7b30c15f8a4f9bddd8002f8c6fdc8b33caef43893938";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 447030f5fccf..38eb4a93f245 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,11 +11,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.16.3";
+  version = "3.16.4";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/${name}.tar.gz";
-    sha256 = "657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_4_RTM/src/${name}.tar.gz";
+    sha256 = "adcd1e655fd9508e7f13847452fd5887a835eff882e3f0d3c42dfcd651650b77";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index cfbbce2f5591..01a4e2e21daf 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = 1; # !!!
 
-  meta = {
-    homepage = "http://www.openldap.org/";
+  meta = with stdenv.lib; {
+    homepage    = http://www.openldap.org/;
     description = "An open source implementation of the Lightweight Directory Access Protocol";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = with maintainers; [ lovek323 mornfall ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 15160d3afc49..14d88e381b3d 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homePage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
     longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 8c88df984f05..c972635c9c72 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -60,7 +60,12 @@ stdenv.mkDerivation {
     else "./config";
 
   configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
+    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" +
+    stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm";
+
+  preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") ''
+    sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
+  '';
 
   makeFlags = "MANDIR=$(out)/share/man";
 
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index cfa838f5a370..4db1cb5b5246 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "4.0.0";
+  version = "4.1.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "05dhj4s5k4qmhn2amca070xgh1gkcl42n040fhwsn3vm86524bdv";
+    sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr";
   };
   name = "libosip2-${version}";
 
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
     description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.linux;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream
new file mode 100644
index 000000000000..ba0ed2a9b299
--- /dev/null
+++ b/pkgs/development/libraries/osip/default.upstream
@@ -0,0 +1,3 @@
+url http://ftp.u-tx.net/gnu/osip/
+attribute_name libosip
+minimize_overwrite
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 4cf6bd44dd3b..930d7b86f063 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "pcre-8.34";
+  name = "pcre-8.35";
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
+    sha256 = "0nw66r92dr24vy9k4lw17bkv8x5nlzn6wx9hq4y2dvzgig3w2qd9";
   };
 
   # The compiler on Darwin crashes with an internal error while building the
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
new file mode 100644
index 000000000000..52736ba5d344
--- /dev/null
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, qt }:
+
+stdenv.mkDerivation rec {
+  pname = "qscintilla";
+  version = "2.8.3";
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla-gpl-${version}.tar.gz";
+    sha256 = "fb94e6d61c3ccd4bf167d5f092629e619f7069d42207469458998b761a7cf505";
+  };
+
+  buildInputs = [ qt ];
+
+  preConfigure = ''
+    cd Qt4Qt5
+    sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/libs," \
+           -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
+           -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \
+           -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \
+           qscintilla.pro
+    qmake qscintilla.pro
+  '';
+
+  # TODO PyQt Support.
+
+  meta = {
+    description = "A Qt port of the Scintilla text editing library";
+    longDescription = ''
+      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
+      control.
+
+      As well as features found in standard text editing components,
+      QScintilla includes features especially useful when editing and
+      debugging source code. These include support for syntax styling,
+      error indicators, code completion and call tips. The selection
+      margin can contain markers like those used in debuggers to
+      indicate breakpoints and the current line. Styling choices are
+      more open than with many editors, allowing the use of
+      proportional fonts, bold and italics, multiple foreground and
+      background colours and multiple fonts.
+    '';
+    homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
+    license = stdenv.lib.licenses.gpl2; # and gpl3 and commercial
+  };
+}
diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/5.x.nix
index c208d5b9fe6b..ad9860d855ef 100644
--- a/pkgs/development/libraries/readline/readline5.nix
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -2,13 +2,14 @@
 
 stdenv.mkDerivation {
   name = "readline-5.2";
-  
+
   src = fetchurl {
     url = mirror://gnu/readline/readline-5.2.tar.gz;
     sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
   };
-  
+
   propagatedBuildInputs = [ncurses];
-  
+
   patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch;
 }
+
diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/6.2.nix
index d72d6566bbc9..d72d6566bbc9 100644
--- a/pkgs/development/libraries/readline/readline6.nix
+++ b/pkgs/development/libraries/readline/6.2.nix
diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/6.3.nix
index 17299e5f10d8..38ecc034d892 100644
--- a/pkgs/development/libraries/readline/readline6.3.nix
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, ncurses }:
 
-stdenv.mkDerivation (rec {
-  name = "readline-6.3";
+stdenv.mkDerivation rec {
+  name = "readline-6.3p08";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/${name}.tar.gz";
+    url = "mirror://gnu/readline/readline-6.3.tar.gz";
     sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
   };
 
@@ -15,9 +15,21 @@ stdenv.mkDerivation (rec {
   patches =
     [ ./link-against-ncurses.patch
       ./no-arch_only-6.3.patch
-    ];
-
-  meta = {
+    ]
+    ++
+    (let
+       patch = nr: sha256:
+         fetchurl {
+           url = "mirror://gnu/readline/readline-6.3-patches/readline63-${nr}";
+           inherit sha256;
+         };
+     in
+       import ./readline-6.3-patches.nix patch);
+
+  # Don't run the native `strip' when cross-compiling.
+  dontStrip = stdenv ? cross;
+
+  meta = with stdenv.lib; {
     description = "Library for interactive line editing";
 
     longDescription = ''
@@ -37,15 +49,10 @@ stdenv.mkDerivation (rec {
 
     homepage = http://savannah.gnu.org/projects/readline/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+
+    maintainers = [ maintainers.ludo ];
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = platforms.unix;
   };
 }
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/readline/readline-6.3-patches.nix b/pkgs/development/libraries/readline/readline-6.3-patches.nix
new file mode 100644
index 000000000000..d0aaaf38f706
--- /dev/null
+++ b/pkgs/development/libraries/readline/readline-6.3-patches.nix
@@ -0,0 +1,12 @@
+# Automatically generated by `update-patch-set.sh'; do not edit.
+
+patch: [
+(patch "001" "0vqlj22mkbn3x42qx2iqir7capx462dhagbzdw6hwxgfxavbny8s")
+(patch "002" "19g0l6vlfcqzwfwjj1slkmxzndjp4543hwrf26g8z216lp3h9qrr")
+(patch "003" "0bx53k876w8vwf4h2s6brr1i46ym87gi71bh8zl89n0gn3cbshgc")
+(patch "004" "1k2m8dg1awmjhmivdbx1c25866gfbpg0fy4845n8cw15zc3bjis5")
+(patch "005" "0jr7c28bzn882as5i54l53bhi723s1nkvzmwlh3rj6ld4bwqhxw7")
+(patch "006" "0mp5zgx50792gigkmjap3d0zpdv5qanii8djab7j6z69qsrpl8sw")
+(patch "007" "1sjv9w0mglh395i6hlq3ck7wdxvi2wyddlyb2j0jwg7cmnibayad")
+(patch "008" "11rpqhsxd132gc8455v51ma3a5zshznb0mh2p0zc5skcab7r7h1v")
+]
diff --git a/pkgs/development/libraries/readline/readline4.nix b/pkgs/development/libraries/readline/readline4.nix
deleted file mode 100644
index d9dcdc9f048f..000000000000
--- a/pkgs/development/libraries/readline/readline4.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation {
-  name = "readline-4.3";
-  src = fetchurl {
-    url = mirror://gnu/readline/readline-4.3.tar.gz;
-    md5 = "f86f7cb717ab321fe15f1bbcb058c11e";
-  };
-  propagatedBuildInputs = [ncurses];
-}
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index 873f59dba3ab..1e8eec6ae452 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.7";
-  name = "serf-${version}";
+  name = "serf-1.3.7";
 
   src = fetchurl {
     url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2";
@@ -28,11 +27,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "HTTP client library based on APR";
-    license = stdenv.lib.licenses.asl20 ;
+    license = stdenv.lib.licenses.asl20;
     maintainers = [stdenv.lib.maintainers.raskin];
     hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    inherit version;
-    downloadPage = "http://serf.googlecode.com/svn/src_releases/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index f88ab48e027e..24dc443ca705 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, audiofile, libtiff}:
 stdenv.mkDerivation rec {
-  version = "0.0.5";
+  version = "0.0.6";
   name = "spandsp-${version}";
   src=fetchurl {
-    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz";
-    sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf";
+    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
+    sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
   buildInputs = [];
   propagatedBuildInputs = [audiofile libtiff];
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; gpl2;
+    downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
+    inherit version;
+    updateWalker = true;
   };
 }
 
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 162a832c93af..79fe47ff476b 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.6";
+  name = "spice-protocol-0.12.7";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "16r5x2sppiaa6pzawkrvk5q4hmw7ynmlp2xr38f1vaxj5rh4aiwx";
+    sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Protocol headers for the SPICE protocol";
     homepage = http://www.spice-space.org;
-    license = stdenv.lib.licenses.bsd3;
-
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bluescreen303 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 2af9565e0b4f..2353eec73485 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.12.4";
+  name = "spice-0.12.5";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng";
+    sha256 = "10gmqaanfg929aamf11n4si4r3d1g7z9qjdclsl9kjv7iw6s42a2";
   };
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index 28afdf85dfbc..6faf2224b0cf 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}:
+{ stdenv, fetchurl, pkgconfig, icu, clucene_core, curl }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.2";
+  version = "1.7.3";
 
   name = "sword-${version}";
 
   src = fetchurl {
     url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
-    sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871";
+    sha256 = "1sm9ivypsx3mraqnziic7qkxjx1b7crvlln0zq6cnpjx2pzqfgas";
   };
 
   buildInputs = [ pkgconfig icu clucene_core curl ];
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A software framework that allows research manipulation of Biblical texts";
     homepage = http://www.crosswire.org/sword/;
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.piotr maintainers.AndersonTorres ];
   };
 
 }
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index 9b28d0016ddb..02a4155947f2 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,5 +1,10 @@
 { stdenv, fetchurl, libvdpau, mesa, libva, pkgconfig }:
-
+let
+  libvdpau08patch = (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch?revision=1.1";
+                                name = "libva-vdpau-driver-0.7.4-libvdpau-0.8.patch";
+                                sha256 = "1n2cys59wyv8ylx9i5m3s6856mgx24hzcp45w1ahdfbzdv9wrfbl";
+                              });
+in
 stdenv.mkDerivation rec {
   name = "libva-vdpau-driver-0.7.4";
   
@@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libvdpau mesa libva pkgconfig ];
 
   preConfigure = ''
+    patch -p0 < ${libvdpau08patch}  # use -p0 instead of -p1
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index aee3c847e93e..274ae734b6ee 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -14,222 +14,196 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
 -->
-<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
 
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
 
 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
+2. Accepting the License Agreement
 
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
 
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
 
 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
 
 3. SDK License from Google
 
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
 
 3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
 
 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
 
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
 
-
 4. Use of the SDK by You
 
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
 5. Your Developer Credentials
 
-
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
-
 6. Privacy and Information
 
-
 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
 7. Third Party Applications
 
-
 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
+8. Using Google APIs
 
-8.1 Google Data APIs
+8.1 Google APIs
 
 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
+9. Terminating the License Agreement
 
-9. Terminating this License Agreement
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
 
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
 
-10. DISCLAIMER OF WARRANTIES
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
+10. DISCLAIMERS
 
 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
-
 11. LIMITATION OF LIABILITY
 
-
 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
-
 12. Indemnification
 
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-
 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
 
-
 14. General Legal Terms
 
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 13, 2012
+June 2014.
     </sdk:license>
 
-    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Google TV Add-on for the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
 
-1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
-2. Accepting this License Agreement
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
-2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
+2. Accepting the License Agreement
 
-2.2 You can accept this License Agreement by:
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
 
-(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
 
-(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
 
-2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
+3. Preview License from Google
 
-3. Google TV Add-on License from Google
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
 
-3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
 
-3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
-3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
 
-4. Use of the Google TV Add-on by You
+4. Use of the Preview by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
 
 5. Your Developer Credentials
 
@@ -237,233 +211,221 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag
 
 6. Privacy and Information
 
-6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
-7. Third Party Applications for the Google TV Platform
+7. Third Party Applications
 
-7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-8. Using Google TV APIs
-
-8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
-
-8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
-
-(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
-(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+8. Using Google APIs
 
-(c)  not create any commercial audience measurement tool or service using the Google TV API Content
+8.1 Google APIs
 
-9. Terminating this License Agreement
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
+9. Terminating the License Agreement
 
-9.3 Google may at any time, terminate this License Agreement with you if:
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-(A) you have breached any provision of this License Agreement; or
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
 
-(B) Google is required to do so by law; or
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
-(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
 
-(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+10. DISCLAIMERS
 
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-August 15, 2011
+June 2014.
     </sdk:license>
 
-    <sdk:license id="google-gdk-license" type="text">This is an early Sneak Peek of the GDK that is subject to change. Please stay tuned for the full Developer Preview coming soon.
-
-Terms and Conditions
+    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Glass Development Kit License Agreement.
+This is the Google TV Add-on for the Android Software Development Kit License Agreement.
 
 1. Introduction
 
-1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK.
-
-1.2 &quot;Glass&quot; means Glass devices and the Glass software stack for use on Glass devices.
-
-
-1.3 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
 
-1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
 2. Accepting this License Agreement
 
-2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
 
-2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK.
+2.2 You can accept this License Agreement by:
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity.
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
 
-3. GDK License from Google
+(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices.
+2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
 
-3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK.
+3. Google TV Add-on License from Google
 
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK.
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
 
-3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
 
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK.
+3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
 
+3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
 
-4. Use of the GDK by You
+4. Use of the Google TV Add-on by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
 
-4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google.
+4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
-
-4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release.
-
 5. Your Developer Credentials
 
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
 6. Privacy and Information
 
+6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
 
-7. Third Party Applications
+7. Third Party Applications for the Google TV Platform
 
-7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
 
-8. Using Google APIs
+8. Using Google TV APIs
 
-8.1 Google APIs
+8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
 
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
+
+(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+
+(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+
+(c)  not create any commercial audience measurement tool or service using the Google TV API Content
 
 9. Terminating this License Agreement
 
 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials.
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
 
 9.3 Google may at any time, terminate this License Agreement with you if:
+
 (A) you have breached any provision of this License Agreement; or
+
 (B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or
-(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+
+(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
 
 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
 
 10. DISCLAIMER OF WARRANTIES
 
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK.
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
 
 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
 
 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 19, 2013
+
+August 15, 2011
     </sdk:license>
 
     <!-- ADD-ONS ....................... -->
@@ -479,7 +441,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>34908058</sdk:size>
                 <sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum>
                 <sdk:url>google_apis-3-r03.zip</sdk:url>
@@ -506,7 +468,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>42435735</sdk:size>
                 <sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum>
                 <sdk:url>google_apis-4_r02.zip</sdk:url>
@@ -534,7 +496,7 @@ November 19, 2013
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:obsolete/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>49123776</sdk:size>
                 <sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum>
                 <sdk:url>google_apis-5_r01.zip</sdk:url>
@@ -562,7 +524,7 @@ November 19, 2013
         <sdk:obsolete/>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53382941</sdk:size>
                 <sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum>
                 <sdk:url>google_apis-6_r01.zip</sdk:url>
@@ -589,7 +551,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53691339</sdk:size>
                 <sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum>
                 <sdk:url>google_apis-7_r01.zip</sdk:url>
@@ -616,7 +578,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>59505020</sdk:size>
                 <sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum>
                 <sdk:url>google_apis-8_r02.zip</sdk:url>
@@ -643,7 +605,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>63401546</sdk:size>
                 <sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum>
                 <sdk:url>google_apis-9_r02.zip</sdk:url>
@@ -671,7 +633,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>65781578</sdk:size>
                 <sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum>
                 <sdk:url>google_apis-10_r02.zip</sdk:url>
@@ -698,7 +660,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>83477179</sdk:size>
                 <sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum>
                 <sdk:url>google_apis-11_r01.zip</sdk:url>
@@ -725,7 +687,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>86099835</sdk:size>
                 <sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum>
                 <sdk:url>google_apis-12_r01.zip</sdk:url>
@@ -752,7 +714,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>88615525</sdk:size>
                 <sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum>
                 <sdk:url>google_apis-13_r01.zip</sdk:url>
@@ -785,7 +747,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106533714</sdk:size>
                 <sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum>
                 <sdk:url>google_apis-14_r02.zip</sdk:url>
@@ -814,7 +776,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106612472</sdk:size>
                 <sdk:checksum type="sha1">6757c12788da0ea00c2ab58e54cb438b9f2bcf66</sdk:checksum>
                 <sdk:url>google_apis-15_r02.zip</sdk:url>
@@ -844,7 +806,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>127278413</sdk:size>
                 <sdk:checksum type="sha1">63467dd32f471e3e81e33e9772c22f33235aa3b3</sdk:checksum>
                 <sdk:url>google_apis-16_r03.zip</sdk:url>
@@ -874,7 +836,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>137156978</sdk:size>
                 <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
                 <sdk:url>google_apis-17_r03.zip</sdk:url>
@@ -904,7 +866,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>143149689</sdk:size>
                 <sdk:checksum type="sha1">147bce09c1163edc17194f3db496ec1086fcf965</sdk:checksum>
                 <sdk:url>google_apis-18_r03.zip</sdk:url>
@@ -914,14 +876,14 @@ November 19, 2013
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Mon Oct 28 22:29:49 2013 from git_klp-release @ 892118 -->
+        <!-- Generated at Wed Jul 30 22:26:20 2014 from git_klp-sdk-release @ 1314097 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-id>google_apis</sdk:name-id>
-        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:name-display>Google APIs (ARM System Image)</sdk:name-display>
         <sdk:description>Android + Google APIs</sdk:description>
         <sdk:api-level>19</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
+        <sdk:revision>7</sdk:revision>
         <sdk:libs>
             <sdk:lib>
                 <sdk:name>com.google.android.maps</sdk:name>
@@ -934,16 +896,15 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>150689239</sdk:size>
-                <sdk:checksum type="sha1">6c530a8318446e4da1e3ab7d2abd154bc493bc5a</sdk:checksum>
-                <sdk:url>google_apis-19_r01.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>160661775</sdk:size>
+                <sdk:checksum type="sha1">150f5a3fec4f03313ca770b90126605619bd713c</sdk:checksum>
+                <sdk:url>google_apis-19_r07.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
-
     <!-- GOOGLE TV ADDONS ............. -->
 
     <sdk:add-on>
@@ -957,10 +918,11 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="linux">
+            <sdk:archive>
                 <sdk:size>78266751</sdk:size>
                 <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
                 <sdk:url>google_tv-12_r02.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
         <sdk:libs/>
@@ -977,7 +939,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>87721879</sdk:size>
                 <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
                 <sdk:url>google_tv-13_r01.zip</sdk:url>
@@ -986,71 +948,48 @@ November 19, 2013
         <sdk:libs/>
     </sdk:add-on>
 
-
-    <!-- GLASS ADDONS ............. -->
-
-    <sdk:add-on>
-        <sdk:vendor-id>google</sdk:vendor-id>
-        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_gdk</sdk:name-id>
-        <sdk:name-display>Glass Development Kit Sneak Peek</sdk:name-display>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Sneak peek of the Glass Development Kit</sdk:description>
-        <sdk:desc-url>https://developers.google.com/glass/gdk/</sdk:desc-url>
-        <sdk:uses-license ref="google-gdk-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>281839</sdk:size>
-                <sdk:checksum type="sha1">a3c7317fb2fe8a0dfc06828a5aabc457372b82a7</sdk:checksum>
-                <sdk:url>https://dl-ssl.google.com/glass/xe11/google-gdk.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:libs>
-            <sdk:lib>
-                <sdk:name>com.google.android.glass</sdk:name>
-                <sdk:description>APIs for Google Glass Development Kit Sneak Peek.</sdk:description>
-            </sdk:lib>
-        </sdk:libs>
-    </sdk:add-on>
-
-
     <!-- EXTRAS VENDOR=ANDROID ........................ -->
 
     <sdk:extra>
-        <!-- Generated at Wed Oct 30 14:52:38 2013 from git_klp-dev @ 894928 -->
-        <sdk:revision>19</sdk:revision>
+        <!-- Generated at Mon Jun 23 19:18:59 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Library</sdk:name-display>
         <sdk:path>support</sdk:path>
         <sdk:old-paths>compatibility</sdk:old-paths>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>4905998</sdk:size>
-                <sdk:checksum type="sha1">54b8661595856a08f032d41bb139f375a7609308</sdk:checksum>
-                <sdk:url>support_r19.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>5508097</sdk:size>
+                <sdk:checksum type="sha1">719c260dc3eb950712988f987daaf91afa9e36af</sdk:checksum>
+                <sdk:url>support_r20.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated from git_klp-dev @ 894928  -->
-        <sdk:revision>3</sdk:revision>
+        <!-- Generated from git_lmp-preview-release @ 1242878  -->
+        <sdk:revision>
+            <sdk:major>6</sdk:major>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Repository</sdk:name-display>
         <sdk:description>Local Maven repository for Support Libraries</sdk:description>
         <sdk:path>m2repository</sdk:path>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>6282146</sdk:size>
-                <sdk:checksum type="sha1">db4650f817f1507211ec6186d2d9e72074e6df12</sdk:checksum>
-                <sdk:url>android_m2repository_r03.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>22271942</sdk:size>
+                <sdk:checksum type="sha1">d4874fd330f41a7c16de392ce917c2a3562dd620</sdk:checksum>
+                <sdk:url>android_m2repository_r06.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
     </sdk:extra>
 
     <!-- EXTRAS VENDOR=GOOGLE ....................... -->
@@ -1060,14 +999,16 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Repository</sdk:name-display>
         <sdk:path>m2repository</sdk:path>
-        <sdk:revision>4</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>Local Maven repository for Google Libraries</sdk:description>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>3891592</sdk:size>
-                <sdk:checksum type="sha1">c418daafd203a8cb4899d49bd321da83b927586e</sdk:checksum>
-                <sdk:url>google_m2repository_r04.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>18832133</sdk:size>
+                <sdk:checksum type="sha1">08b5114037d187cf3d4b44a25570149ef4f8ab3d</sdk:checksum>
+                <sdk:url>google_m2repository_r11.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1078,11 +1019,13 @@ November 19, 2013
         <sdk:name-display>Google Play Licensing Library</sdk:name-display>
         <sdk:path>play_licensing</sdk:path>
         <sdk:old-paths>market_licensing</sdk:old-paths>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Licensing client library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/publishing/licensing.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>75109</sdk:size>
                 <sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum>
                 <sdk:url>market_licensing-r02.zip</sdk:url>
@@ -1097,11 +1040,13 @@ November 19, 2013
         <sdk:name-display>Google Play APK Expansion Library</sdk:name-display>
         <sdk:path>play_apk_expansion</sdk:path>
         <sdk:old-paths>market_apk_expansion</sdk:old-paths>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play APK Expansion library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/market/expansion-files.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>110201</sdk:size>
                 <sdk:checksum type="sha1">5305399dc1a56814e86b8459ce24871916f78b8c</sdk:checksum>
                 <sdk:url>market_apk_expansion-r03.zip</sdk:url>
@@ -1115,12 +1060,14 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services for Froyo</sdk:name-display>
         <sdk:path>google_play_services_froyo</sdk:path>
-        <sdk:revision>12</sdk:revision>
+        <sdk:revision>
+            <sdk:major>12</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5265389</sdk:size>
                 <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
                 <sdk:url>google_play_services_3265130_r12.zip</sdk:url>
@@ -1133,34 +1080,59 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services</sdk:name-display>
         <sdk:path>google_play_services</sdk:path>
-        <sdk:revision>13</sdk:revision>
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>7958511</sdk:size>
-                <sdk:checksum type="sha1">1be94e8f767616e862f0088ab673e1980a6022c4</sdk:checksum>
-                <sdk:url>google_play_services_4030530_r13.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>13982276</sdk:size>
+                <sdk:checksum type="sha1">847a8806dd3c43effc2afdd7b49fc6ba27f72d5d</sdk:checksum>
+                <sdk:url>google_play_services_5089000_r19.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated at Thu Jul 18 16:46:04 PDT 2013 from git_master @ 745409 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>Google USB Driver</sdk:name-display>
-        <sdk:path>usb_driver</sdk:path>
-        <sdk:revision>8</sdk:revision>
-        <sdk:description>USB Driver for Windows, revision 8</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:name-display>Google Play services for Fit Preview</sdk:name-display>
+        <sdk:path>google_play_services_fit_preview</sdk:path>
+        <sdk:revision>
+            <sdk:major>1</sdk:major>
+        </sdk:revision>
+        <sdk:description>Google Play services client library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15224769</sdk:size>
+                <sdk:checksum type="sha1">34369ca796268ec7274bc49d659d9e8f042b55ae</sdk:checksum>
+                <sdk:url>google_play_services_fit_preview_5208000_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <!-- Generated at Tue Jun 10 11:38:56 2014 from git_master-release @ 1216520 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:path>usb_driver</sdk:path>
+        <sdk:description>USB Driver for Windows, revision 10</sdk:description>
+        <sdk:name-display>Google USB Driver</sdk:name-display>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:revision>
+            <sdk:major>10</sdk:major>
+        </sdk:revision>
         <sdk:archives>
-            <sdk:archive os="windows">
-                <sdk:size>8682230</sdk:size>
-                <sdk:checksum type="sha1">2b2f91098a984a865a70f0bd841a843fb54462fc</sdk:checksum>
-                <sdk:url>usb_driver_r08-windows.zip</sdk:url>
+            <sdk:archive>
+                <sdk:url>usb_driver_r10-windows.zip</sdk:url>
+                <sdk:checksum type="sha1">a5f8280829f07bb3144a8d657ec7aa0128443a2c</sdk:checksum>
+                <sdk:size>8682752</sdk:size>
+                <sdk:host-os>windows</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1171,11 +1143,13 @@ November 19, 2013
         <sdk:name-display>Google Play Billing Library</sdk:name-display>
         <sdk:path>play_billing</sdk:path>
         <sdk:old-paths>market_billing</sdk:old-paths>
-        <sdk:revision>5</sdk:revision>
+        <sdk:revision>
+            <sdk:major>5</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Billing files and sample code</sdk:description>
         <sdk:desc-url>http://developer.android.com/google/play/billing/index.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>436654</sdk:size>
                 <sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
                 <sdk:url>play_billing_r05.zip</sdk:url>
@@ -1189,29 +1163,35 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google AdMob Ads SDK</sdk:name-display>
         <sdk:path>admob_ads_sdk</sdk:path>
-        <sdk:revision>11</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>AdMob Ads SDK</sdk:description>
         <sdk:desc-url>https://developers.google.com/mobile-ads-sdk/docs/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>704512</sdk:size>
                 <sdk:checksum type="sha1">0102859d9575baa0bf4fd5eb422af2ad0fe6cb82</sdk:checksum>
                 <sdk:url>https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 
     <sdk:extra>
+        <sdk:obsolete/>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Analytics App Tracking SDK</sdk:name-display>
         <sdk:path>analytics_sdk_v2</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Analytics App Tracking SDK</sdk:description>
         <sdk:desc-url>http://developers.google.com/analytics/devguides/collection/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>211432</sdk:size>
                 <sdk:checksum type="sha1">dc14026bf0ce78315cb5dd00552607de0894de83</sdk:checksum>
                 <sdk:url>https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip</sdk:url>
@@ -1225,11 +1205,13 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Web Driver</sdk:name-display>
         <sdk:path>webdriver</sdk:path>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>WebDriver</sdk:description>
         <sdk:desc-url>http://selenium.googlecode.com</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>4055193</sdk:size>
                 <sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum>
                 <sdk:url>webdriver_r02.zip</sdk:url>
@@ -1241,18 +1223,21 @@ November 19, 2013
     <sdk:extra>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>[Deprecated] Google Cloud Messaging for Android Library</sdk:name-display>
+        <sdk:name-display>Google Cloud Messaging for Android Library</sdk:name-display>
         <sdk:path>gcm</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/gcm/index</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5901400</sdk:size>
                 <sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum>
                 <sdk:url>gcm_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 </sdk:sdk-addon>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 8aacde4eee7b..4f7ed6e9e8e4 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -209,8 +209,8 @@ in
   google_apis_19 = buildGoogleApis {
     name = "google_apis-19";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/google_apis-19_r01.zip;
-        sha1 = "6c530a8318446e4da1e3ab7d2abd154bc493bc5a";
+        url = https://dl-ssl.google.com/android/repository/google_apis-19_r07.zip;
+        sha1 = "150f5a3fec4f03313ca770b90126605619bd713c";
       };
       meta = {
         description = "Android + Google APIs";
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 3c9327f1c594..560753eecfc5 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -1,5 +1,5 @@
 { stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
-, platformTools, buildTools, support, platforms, sysimages, addons
+, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons
 , zlib_32bit
 , libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit, mesa_32bit, alsaLib_32bit
 , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
@@ -9,36 +9,35 @@
 
 stdenv.mkDerivation rec {
   name = "android-sdk-${version}";
-  version = "22.6.2";
+  version = "23.0.2";
   
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz";
-      md5 = "ff1541418a44d894bedc5cef10622220";
+      md5 = "94a8c62086a7398cc0e73e1c8e65f71e";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip";
-      md5 = "2a319c862dd1dcf450bfe2a6b3d9c608";
+      md5 = "322787b0e6c629d926c28690c79ac0d8";
     }
     else throw "platform not ${stdenv.system} supported!";
   
   buildCommand = ''
     mkdir -p $out/libexec
     cd $out/libexec
-    unpackFile $src;
-    
+    unpackFile $src
     cd android-sdk-*/tools
     
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     ''
       # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++
-    
-      for i in dmtracedump emulator emulator-arm emulator-mips emulator-x86 hprof-conv mksdcard sqlite3
+      
+      for i in emulator emulator-arm emulator-mips emulator-x86 mksdcard
       do
           patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
           patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
       done
-    
+      
       ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
         # We must also patch the 64-bit emulator instances, if needed
         
@@ -49,17 +48,6 @@ stdenv.mkDerivation rec {
         done
       ''}
       
-      # These tools also need zlib in addition to libstdc++
-    
-      for i in etc1tool zipalign
-      do
-          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
-          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
-      done
-    
-      # The android script has a hardcoded reference to /bin/ls that must be patched
-      sed -i -e "s|/bin/ls|ls|" android
-      
       # The android script used SWT and wants to dynamically load some GTK+ stuff.
       # The following wrapper ensures that they can be found:
       wrapProgram `pwd`/android \
@@ -139,6 +127,15 @@ stdenv.mkDerivation rec {
       
     cd ..
 
+    # Symlink required extras
+
+    mkdir -p extras/android
+    cd extras/android
+
+    ln -s ${supportRepository}/m2repository
+
+    cd ../..
+
     # Symlink required platforms
    
     mkdir -p platforms
diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix
index 58bf35493618..11beb29f3cea 100644
--- a/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/pkgs/development/mobile/androidenv/build-tools.nix
@@ -1,15 +1,15 @@
 {stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit}:
 
 stdenv.mkDerivation {
-  name = "android-build-tools-r18.1.0";
+  name = "android-build-tools-r20";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip;
-      sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r20-linux.zip;
+      sha1 = "b688905526a5584d1327a662d871a635ff502758";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip;
-      sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r20-macosx.zip;
+      sha1 = "1240f629411c108a714c4ddd756937c7fab93f83";
     }
     else throw "System ${stdenv.system} not supported!";
   
@@ -39,6 +39,13 @@ stdenv.mkDerivation {
         do
             patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:`pwd` $i
         done
+
+        # These binaries also need zlib in addition to libstdc++
+        for i in zipalign
+        do
+            patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
+        done
         
         # These binaries need to find libstdc++, libgcc_s, and zlib
         for i in aapt dexdump
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 422c1516f2d0..796f0f862bdd 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -16,6 +16,10 @@ rec {
     inherit (pkgs) stdenv fetchurl unzip;
   };
   
+  supportRepository = import ./support-repository.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+
   platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
     then import ./platforms-linux.nix {
       inherit (pkgs) stdenv fetchurl unzip;
@@ -39,7 +43,7 @@ rec {
     inherit (pkgs) freetype fontconfig glib gtk atk mesa file alsaLib jdk;
     inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst;
     
-    inherit platformTools buildTools support platforms sysimages addons;
+    inherit platformTools buildTools support supportRepository platforms sysimages addons;
     
     stdenv_32bit = pkgs_i686.stdenv;
     zlib_32bit = pkgs_i686.zlib;
@@ -63,8 +67,38 @@ rec {
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
   };
+
+  androidsdk_2_3_3 = androidsdk {
+    platformVersions = [ "10" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_0 = androidsdk {
+    platformVersions = [ "11" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_1 = androidsdk {
+    platformVersions = [ "12" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_2 = androidsdk {
+    platformVersions = [ "13" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
   
   androidsdk_4_0 = androidsdk {
+    platformVersions = [ "14" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_4_0_3 = androidsdk {
     platformVersions = [ "15" ];
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
diff --git a/pkgs/development/mobile/androidenv/fetch b/pkgs/development/mobile/androidenv/fetch.sh
index 30aabc9e0863..92abb18f25f3 100755
--- a/pkgs/development/mobile/androidenv/fetch
+++ b/pkgs/development/mobile/androidenv/fetch.sh
@@ -5,10 +5,9 @@ android list sdk | grep 'Parse XML:' | cut -f8- -d\  # | xargs -n 1 curl -O
 
 # we skip the intel addons, as they are Windows+osX only
 # we skip the default sys-img (arm?) because it is empty
-curl -o repository-8.xml https://dl-ssl.google.com/android/repository/repository-8.xml
+curl -o repository-10.xml https://dl-ssl.google.com/android/repository/repository-10.xml
 curl -o addon.xml        https://dl-ssl.google.com/android/repository/addon.xml
-curl -o sys-img-mips.xml https://dl-ssl.google.com/android/repository/sys-img/mips/sys-img.xml
-curl -o sys-img-x86.xml  https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
+curl -o sys-img.xml https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
 
 ./generate-addons.sh
 ./generate-platforms.sh
diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl
index 0100b980a4ef..51d0c07c9346 100644
--- a/pkgs/development/mobile/androidenv/generate-addons.xsl
+++ b/pkgs/development/mobile/androidenv/generate-addons.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/addon/5">
+  xmlns:sdk="http://schemas.android.com/sdk/android/addon/7">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
   <xsl:template match="/sdk:sdk-addon">
@@ -23,8 +23,8 @@ in
   google_apis_<xsl:value-of select="sdk:api-level" /> = buildGoogleApis {
     name = "<xsl:value-of select="sdk:name-id" />-<xsl:value-of select="sdk:api-level" />";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
       };
       meta = {
         description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh
index 8ac4ad328f44..58d3ba58d379 100755
--- a/pkgs/development/mobile/androidenv/generate-platforms.sh
+++ b/pkgs/development/mobile/androidenv/generate-platforms.sh
@@ -1,4 +1,4 @@
 #!/bin/sh -e
 
-xsltproc --stringparam os linux generate-platforms.xsl repository-8.xml > platforms-linux.nix
-xsltproc --stringparam os macosx generate-platforms.xsl repository-8.xml > platforms-macosx.nix
+xsltproc --stringparam os linux generate-platforms.xsl repository-10.xml > platforms-linux.nix
+xsltproc --stringparam os macosx generate-platforms.xsl repository-10.xml > platforms-macosx.nix
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl
index 249f044550b1..ba556f2baac9 100644
--- a/pkgs/development/mobile/androidenv/generate-platforms.xsl
+++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/repository/10">
 
   <xsl:param name="os" />
   <xsl:output omit-xml-declaration="yes" indent="no" />
@@ -10,7 +10,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -20,12 +20,12 @@ let
   });
 in
 {
-    <xsl:for-each select="sdk:platform">
+    <xsl:for-each select="sdk:platform[sdk:api-level &lt; 20]">
   platform_<xsl:value-of select="sdk:api-level" /> = buildPlatform {
     name = "android-platform-<xsl:value-of select="sdk:version" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />";
     };
     meta = {
       description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl b/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
deleted file mode 100644
index 31ab72add364..000000000000
--- a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-  <xsl:param name="abi" />
-  <xsl:output omit-xml-declaration="yes" indent="no" />
-
-  <xsl:template match="/sdk:sdk-sys-img">
-    <xsl:for-each select="sdk:system-image">
-  sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
-    src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/<xsl:value-of select="$abi" />/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
-    };
-  };
-    </xsl:for-each>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh
index 90b1e04c2297..ef2f825642b7 100755
--- a/pkgs/development/mobile/androidenv/generate-sysimages.sh
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh
@@ -17,9 +17,7 @@ in
 {
 EOF
 
-xsltproc generate-sysimages.xsl repository-8.xml >> sysimages.nix
-xsltproc --stringparam abi x86 generate-sysimages-others.xsl sys-img-x86.xml >> sysimages.nix
-xsltproc --stringparam abi mips generate-sysimages-others.xsl sys-img-mips.xml >> sysimages.nix
+xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix
 
 cat >> sysimages.nix << "EOF"
 }
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
index be9947d536a9..6de690622b5d 100644
--- a/pkgs/development/mobile/androidenv/generate-sysimages.xsl
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
@@ -2,17 +2,17 @@
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
 
-  <xsl:template match="/sdk:sdk-repository">
+  <xsl:template match="/sdk:sdk-sys-img">
     <xsl:for-each select="sdk:system-image">
   sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
+    name = "sysimg-<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:if test="not(starts-with(sdk:archives/sdk:archive/sdk:url, 'https://'))">https://dl-ssl.google.com/android/repository/sys-img/android/</xsl:if><xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
     };
   };
     </xsl:for-each>
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index f9f5a2d50f4f..feb967d01082 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,13 +219,13 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index a95561d3e856..0e93ed9412be 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,13 +219,13 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
diff --git a/pkgs/development/mobile/androidenv/repository-10.xml b/pkgs/development/mobile/androidenv/repository-10.xml
new file mode 100644
index 000000000000..81023cae2eea
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/repository-10.xml
@@ -0,0 +1,1562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <!-- PLATFORMS ........................ -->
+
+    <sdk:platform>
+        <sdk:version>1.1</sdk:version>
+        <sdk:api-level>2</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>46828615</sdk:size>
+                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45584305</sdk:size>
+                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45476658</sdk:size>
+                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated manually from earlier versions -->
+
+    <sdk:platform>
+        <sdk:version>1.5</sdk:version>
+        <sdk:api-level>3</sdk:api-level>
+        <sdk:revision>04</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>54624370</sdk:size>
+                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>52440607</sdk:size>
+                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>53348669</sdk:size>
+                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <sdk:version>1.6</sdk:version>
+        <sdk:api-level>4</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63454485</sdk:size>
+                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>62418496</sdk:size>
+                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>64654625</sdk:size>
+                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
+
+    <sdk:platform>
+        <sdk:version>2.0</sdk:version>
+        <sdk:api-level>5</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>3</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>75095268</sdk:size>
+                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>74956356</sdk:size>
+                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>76288040</sdk:size>
+                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.0.1</sdk:version>
+        <sdk:api-level>6</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>4</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>79192618</sdk:size>
+                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>79035527</sdk:size>
+                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>80385601</sdk:size>
+                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.1</sdk:version>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>70142829</sdk:size>
+                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.2</sdk:version>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>74652366</sdk:size>
+                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.1</sdk:version>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>78732563</sdk:size>
+                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.3</sdk:version>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>85470907</sdk:size>
+                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.0</sdk:version>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>10</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>104513908</sdk:size>
+                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
+         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
+    -->
+
+    <sdk:platform>
+        <sdk:version>3.1</sdk:version>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>11</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>106472351</sdk:size>
+                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.2</sdk:version>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>12</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>108426536</sdk:size>
+                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:version>4.0</sdk:version>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>45919570</sdk:size>
+                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-14_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:version>4.0.3</sdk:version>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>15</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>44414679</sdk:size>
+                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-15_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
+        <sdk:revision>4</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
+        <sdk:version>4.1.2</sdk:version>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48005140</sdk:size>
+                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:version>4.2.2</sdk:version>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48057484</sdk:size>
+                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:version>4.3</sdk:version>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>57319855</sdk:size>
+                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Feb 28 18:03:43 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:version>4.4.2</sdk:version>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63798840</sdk:size>
+                <sdk:checksum type="sha1">5f33d8fd36a384fe2b170035e04a29c274a9ef95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-19_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Mon Jun 23 19:17:42 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4W</sdk:description>
+        <sdk:version>4.4W</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63548914</sdk:size>
+                <sdk:checksum type="sha1">928b1d181101a5bc06f739eb40501e1249dd4895</sdk:checksum>
+                <sdk:url>android-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Jul 11 18:20:46 2014 from git_lmp-preview-dev @ 1272903 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:version>L</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>11</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>69421660</sdk:size>
+                <sdk:checksum type="sha1">76b6da426db06b2e2901dbc5e02d210ba83753c4</sdk:checksum>
+                <sdk:url>android-L_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:platform>
+
+    <!-- SAMPLES ........................ -->
+
+    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7677831</sdk:size>
+                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7969716</sdk:size>
+                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8516326</sdk:size>
+                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8539583</sdk:size>
+                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11976920</sdk:size>
+                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.0_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12150514</sdk:size>
+                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12193502</sdk:size>
+                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16253619</sdk:size>
+                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16366656</sdk:size>
+                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14729945</sdk:size>
+                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14840030</sdk:size>
+                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19897793</sdk:size>
+                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:42:00 2014 from git_klp-docs @ 1377789 -->
+        <sdk:revision>6</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>31900752</sdk:size>
+                <sdk:checksum type="sha1">19593662771934b0b1e3be56ed18d13e6489bcd4</sdk:checksum>
+                <sdk:url>samples-19_r06.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Jul 23 12:59:18 2014 from git_klp-modular-mr0-release @ 1298572 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>49718791</sdk:size>
+                <sdk:checksum type="sha1">4b906c46057ee8f502b4f27c23670fd87a49d6ff</sdk:checksum>
+                <sdk:url>samples-20_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:44:44 2014 from git_lmp-preview-dev @ 1378586 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>41182182</sdk:size>
+                <sdk:checksum type="sha1">4afc36cf3f53051881729f733fe9bb571104c48f</sdk:checksum>
+                <sdk:url>samples-L_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:sample>
+
+    <!-- PLATFORM-TOOLS ........................ -->
+
+    <sdk:platform-tool>
+        <!-- Generated at Mon Jun 23 19:20:39 2014 from git_lmp-preview-dev @ 1244090 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>1741113</sdk:size>
+                <sdk:checksum type="sha1">72c34cc6a991f53e2588f9d5487559f013bc30f9</sdk:checksum>
+                <sdk:url>platform-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1753061</sdk:size>
+                <sdk:checksum type="sha1">fb120ce85b6698b801cb4788b204693c1d682b87</sdk:checksum>
+                <sdk:url>platform-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1666257</sdk:size>
+                <sdk:checksum type="sha1">f2c65c58caf76169d9bebf25eef5c69ff99670b5</sdk:checksum>
+                <sdk:url>platform-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform-tool>
+
+    <!-- BUILD-TOOLS ........................ -->
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
+        <sdk:revision>
+            <sdk:major>17</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11004914</sdk:size>
+                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>11696007</sdk:size>
+                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>12208114</sdk:size>
+                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15413527</sdk:size>
+                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16627330</sdk:size>
+                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16633121</sdk:size>
+                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19659547</sdk:size>
+                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229298</sdk:size>
+                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20451524</sdk:size>
+                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19660000</sdk:size>
+                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229760</sdk:size>
+                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20452157</sdk:size>
+                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20611447</sdk:size>
+                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21339943</sdk:size>
+                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21441270</sdk:size>
+                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Dec  5 14:01:45 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20500648</sdk:size>
+                <sdk:checksum type="sha1">5ef422bac5b28f4ced108319ed4a6bc7050a6234</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21229048</sdk:size>
+                <sdk:checksum type="sha1">18d2312dc4368858914213087f4e61445aca4517</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21450597</sdk:size>
+                <sdk:checksum type="sha1">efaf50fb19a3edb8d03efbff76f89a249ad2920b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Feb 12 12:38:29 2014 from git_klp-sdk-release @ 1009316 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20621117</sdk:size>
+                <sdk:checksum type="sha1">af664672d0d709c9ae30937b1062317d3ade7f95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21352552</sdk:size>
+                <sdk:checksum type="sha1">a03a6bdea0091aea32e1b35b90a7294c9f04e3dd</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21453726</sdk:size>
+                <sdk:checksum type="sha1">145bc43065d45f756d99d87329d899052b9a9288</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Fri Feb 28 17:11:02 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>3</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20730715</sdk:size>
+                <sdk:checksum type="sha1">cb46b433b67a0a6910ff00db84be8b527ea3102f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21462150</sdk:size>
+                <sdk:checksum type="sha1">c2d6055478e9d2d4fba476ee85f99181ddd1160c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21563992</sdk:size>
+                <sdk:checksum type="sha1">651cf8754373b2d52e7f6aab2c52eabffe4e9ea4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May  6 14:19:40 2014 from git_klp-sdk-release @ 1153987 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20812533</sdk:size>
+                <sdk:checksum type="sha1">13b367fbdbff8132cb4356f716e8dc8a8df745c5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21490972</sdk:size>
+                <sdk:checksum type="sha1">1ff20ac15fa47a75d00346ec12f180d531b3ca89</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21590160</sdk:size>
+                <sdk:checksum type="sha1">0d11aae3417de1efb4b9a0e0a7855904a61bcec1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jun 23 19:17:29 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20828006</sdk:size>
+                <sdk:checksum type="sha1">cf20720e452b642d5eb59dabe05c0c729b36ec75</sdk:checksum>
+                <sdk:url>build-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21445463</sdk:size>
+                <sdk:checksum type="sha1">b688905526a5584d1327a662d871a635ff502758</sdk:checksum>
+                <sdk:url>build-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21650508</sdk:size>
+                <sdk:checksum type="sha1">1240f629411c108a714c4ddd756937c7fab93f83</sdk:checksum>
+                <sdk:url>build-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- TOOLS ........................ -->
+
+    <sdk:tool>
+        <!-- Generated at Wed Jul  2 12:10:55 2014 from git_ub-tools-idea133-milestone @ 1259578 -->
+        <sdk:revision>
+            <sdk:major>23</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:min-platform-tools-rev>
+            <sdk:major>20</sdk:major>
+        </sdk:min-platform-tools-rev>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>141154615</sdk:size>
+                <sdk:checksum type="sha1">0a64ec9b7777bb00ff299c94c359163ef5e443ae</sdk:checksum>
+                <sdk:url>tools_r23.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>141930870</sdk:size>
+                <sdk:checksum type="sha1">e8a2d55d750adeaded60a3daad48e62b09aa472a</sdk:checksum>
+                <sdk:url>tools_r23.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>90920343</sdk:size>
+                <sdk:checksum type="sha1">c46b1e173188ba82a56d6b9e349fdae4e8922bab</sdk:checksum>
+                <sdk:url>tools_r23.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:tool>
+
+    <!-- DOCS ........................ -->
+
+    <sdk:doc>
+        <!-- Generated at Mon Jun 23 19:19:47 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>207889084</sdk:size>
+                <sdk:checksum type="sha1">58a94248c7c960829db3d779c84534e5e783210f</sdk:checksum>
+                <sdk:url>docs-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:doc>
+
+    <!-- SOURCES ........................ -->
+
+    <sdk:source>
+        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16152383</sdk:size>
+                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-14_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16468746</sdk:size>
+                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>17876720</sdk:size>
+                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-16_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>18976816</sdk:size>
+                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20226735</sdk:size>
+                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Dec  5 14:04:22 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>21819439</sdk:size>
+                <sdk:checksum type="sha1">433a1d043ef77561571250e94cb7a0ef24a202e7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Jun 23 19:18:43 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>23367603</sdk:size>
+                <sdk:checksum type="sha1">8da3e40f2625f9f7ef38b7e403f49f67226c0d76</sdk:checksum>
+                <sdk:url>sources-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+</sdk:sdk-repository>
+
diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml
deleted file mode 100644
index 46ae8aa9a7ce..000000000000
--- a/pkgs/development/mobile/androidenv/repository-8.xml
+++ /dev/null
@@ -1,1277 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
-
-
-1. Introduction
-
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
-
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
-
-13. Changes to the License Agreement
-
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-November 13, 2012
-    </sdk:license>
-
-    <!-- PLATFORMS ........................ -->
-
-    <sdk:platform>
-        <sdk:version>1.1</sdk:version>
-        <sdk:api-level>2</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>46828615</sdk:size>
-                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
-                <sdk:url>android-1.1_r1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>45584305</sdk:size>
-                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
-                <sdk:url>android-1.1_r1-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>45476658</sdk:size>
-                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
-                <sdk:url>android-1.1_r1-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated manually from earlier versions -->
-
-    <sdk:platform>
-        <sdk:version>1.5</sdk:version>
-        <sdk:api-level>3</sdk:api-level>
-        <sdk:revision>04</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>54624370</sdk:size>
-                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
-                <sdk:url>android-1.5_r04-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>52440607</sdk:size>
-                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
-                <sdk:url>android-1.5_r04-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>53348669</sdk:size>
-                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
-                <sdk:url>android-1.5_r04-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <sdk:version>1.6</sdk:version>
-        <sdk:api-level>4</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>63454485</sdk:size>
-                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
-                <sdk:url>android-1.6_r03-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>62418496</sdk:size>
-                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
-                <sdk:url>android-1.6_r03-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>64654625</sdk:size>
-                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
-                <sdk:url>android-1.6_r03-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
-
-    <sdk:platform>
-        <sdk:version>2.0</sdk:version>
-        <sdk:api-level>5</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>3</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>75095268</sdk:size>
-                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
-                <sdk:url>android-2.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74956356</sdk:size>
-                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
-                <sdk:url>android-2.0_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>76288040</sdk:size>
-                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
-                <sdk:url>android-2.0_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.0.1</sdk:version>
-        <sdk:api-level>6</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>4</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>79192618</sdk:size>
-                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>79035527</sdk:size>
-                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>80385601</sdk:size>
-                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.1</sdk:version>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>70142829</sdk:size>
-                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
-                <sdk:url>android-2.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.2</sdk:version>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>74652366</sdk:size>
-                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
-                <sdk:url>android-2.2_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.1</sdk:version>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>78732563</sdk:size>
-                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
-                <sdk:url>android-2.3.1_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.3</sdk:version>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>85470907</sdk:size>
-                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
-                <sdk:url>android-2.3.3_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.0</sdk:version>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>10</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>104513908</sdk:size>
-                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
-                <sdk:url>android-3.0_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
-         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
-    -->
-
-    <sdk:platform>
-        <sdk:version>3.1</sdk:version>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>11</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>106472351</sdk:size>
-                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
-                <sdk:url>android-3.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.2</sdk:version>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>12</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>108426536</sdk:size>
-                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
-                <sdk:url>android-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:version>4.0</sdk:version>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>45919570</sdk:size>
-                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
-                <sdk:url>android-14_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:version>4.0.3</sdk:version>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>15</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>44414679</sdk:size>
-                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
-                <sdk:url>android-15_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
-        <sdk:revision>4</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
-        <sdk:version>4.1.2</sdk:version>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48005140</sdk:size>
-                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
-                <sdk:url>android-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:version>4.2.2</sdk:version>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48057484</sdk:size>
-                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
-                <sdk:url>android-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:version>4.3</sdk:version>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>57319855</sdk:size>
-                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
-                <sdk:url>android-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Mon Oct 28 23:34:31 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:version>4.4</sdk:version>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>22</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>59279956</sdk:size>
-                <sdk:checksum type="sha1">96281811998272dce46e8285d15fce444a3d5a96</sdk:checksum>
-                <sdk:url>android-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-
-    <!-- SYSTEM IMAGES ........................ -->
-
-    <sdk:system-image>
-        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>99621822</sdk:size>
-                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
-                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>96227377</sdk:size>
-                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
-                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>112528368</sdk:size>
-                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
-                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>116553808</sdk:size>
-                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
-                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>125457135</sdk:size>
-                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
-                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Oct 28 23:36:43 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>155838103</sdk:size>
-                <sdk:checksum type="sha1">12dd1187dfd953b1ffcef5067d94578590f9e600</sdk:checksum>
-                <sdk:url>sysimg_armv7a-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-
-    <!-- SAMPLES ........................ -->
-
-    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7677831</sdk:size>
-                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
-                <sdk:url>samples-2.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7969716</sdk:size>
-                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
-                <sdk:url>samples-2.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8516326</sdk:size>
-                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
-                <sdk:url>samples-2.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8539583</sdk:size>
-                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
-                <sdk:url>samples-2.3.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>11976920</sdk:size>
-                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
-                <sdk:url>samples-3.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12150514</sdk:size>
-                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
-                <sdk:url>samples-3.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12193502</sdk:size>
-                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
-                <sdk:url>samples-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16253619</sdk:size>
-                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
-                <sdk:url>samples-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16366656</sdk:size>
-                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
-                <sdk:url>samples-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14729945</sdk:size>
-                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
-                <sdk:url>samples-16_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14840030</sdk:size>
-                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
-                <sdk:url>samples-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>19897793</sdk:size>
-                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
-                <sdk:url>samples-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Oct 30 20:26:32 2013 from git_klp-dev @ 896074 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20697510</sdk:size>
-                <sdk:checksum type="sha1">c2007694b5e5ad6737f647db8160155d5258cb7f</sdk:checksum>
-                <sdk:url>samples-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- PLATFORM-TOOLS ........................ -->
-
-    <sdk:platform-tool>
-        <!-- Generated at Mon Oct 28 23:35:14 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>1116358</sdk:size>
-                <sdk:checksum type="sha1">755dcb5b5b72bbca90dd055eec4c8d0b1fce7cfd</sdk:checksum>
-                <sdk:url>platform-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>1172749</sdk:size>
-                <sdk:checksum type="sha1">66ee37daf8a2a8f1aa8939ccd4093658e30aa49b</sdk:checksum>
-                <sdk:url>platform-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>1120849</sdk:size>
-                <sdk:checksum type="sha1">69af30f488163dfc3da8cef1bb6cc7e8a6df5681</sdk:checksum>
-                <sdk:url>platform-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform-tool>
-
-    <!-- BUILD-TOOLS ........................ -->
-
-    <sdk:build-tool>
-        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
-        <sdk:revision>
-            <sdk:major>17</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>11004914</sdk:size>
-                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
-                <sdk:url>build-tools_r17-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>11696007</sdk:size>
-                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
-                <sdk:url>build-tools_r17-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>12208114</sdk:size>
-                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
-                <sdk:url>build-tools_r17-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>15413527</sdk:size>
-                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>16627330</sdk:size>
-                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>16633121</sdk:size>
-                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19659547</sdk:size>
-                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
-                <sdk:url>build-tools_r18.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229298</sdk:size>
-                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20451524</sdk:size>
-                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19660000</sdk:size>
-                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229760</sdk:size>
-                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20452157</sdk:size>
-                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>20611447</sdk:size>
-                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
-                <sdk:url>build-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>21339943</sdk:size>
-                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
-                <sdk:url>build-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>21441270</sdk:size>
-                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
-                <sdk:url>build-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- TOOLS ........................ -->
-
-    <sdk:tool>
-        <!-- Generated at Mon Oct 28 23:45:30 2013 from git_mirror-aosp-tools_r22.2 @ 887826 -->
-        <sdk:revision>
-            <sdk:major>22</sdk:major>
-            <sdk:minor>3</sdk:minor>
-        </sdk:revision>
-        <sdk:min-platform-tools-rev>
-            <sdk:major>18</sdk:major>
-        </sdk:min-platform-tools-rev>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>108726734</sdk:size>
-                <sdk:checksum type="sha1">1cdc825c9a84ccf69b4a6386076a881d962dd7a9</sdk:checksum>
-                <sdk:url>tools_r22.3-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>101224750</sdk:size>
-                <sdk:checksum type="sha1">f76251916a23cb3d85e579f01cc6711a334f9064</sdk:checksum>
-                <sdk:url>tools_r22.3-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74859563</sdk:size>
-                <sdk:checksum type="sha1">697d7f6fa44f02e6894d0eeb948ea97e3cdc8c3c</sdk:checksum>
-                <sdk:url>tools_r22.3-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:tool>
-
-    <!-- DOCS ........................ -->
-
-    <sdk:doc>
-        <!-- Generated at Wed Oct 30 22:52:09 2013 from git_klp-dev @ 896129 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>181765706</sdk:size>
-                <sdk:checksum type="sha1">6c92bb045f75a2eabfbdc3e26ff64ce0a7a2b3fc</sdk:checksum>
-                <sdk:url>docs-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:doc>
-
-    <!-- SOURCES ........................ -->
-
-    <sdk:source>
-        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16152383</sdk:size>
-                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
-                <sdk:url>sources-14_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16468746</sdk:size>
-                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
-                <sdk:url>sources-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>17876720</sdk:size>
-                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
-                <sdk:url>sources-16_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>18976816</sdk:size>
-                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
-                <sdk:url>sources-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20226735</sdk:size>
-                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
-                <sdk:url>sources-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Oct 28 23:37:07 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>21656670</sdk:size>
-                <sdk:checksum type="sha1">91d9f5f4117723eecc4434b7de0e7f6295ea0508</sdk:checksum>
-                <sdk:url>sources-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-</sdk:sdk-repository>
diff --git a/pkgs/development/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix
new file mode 100644
index 000000000000..66a532328b1b
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/support-repository.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "android-support-repository-r5";
+  src = fetchurl {
+    url = http://dl-ssl.google.com/android/repository/android_m2repository_r05.zip;
+    sha1 = "2ee9723da079ba0d4fe2a185e00ded842de96f13";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+  '';
+
+  buildInputs = [ unzip ];
+}
diff --git a/pkgs/development/mobile/androidenv/sys-img-mips.xml b/pkgs/development/mobile/androidenv/sys-img-mips.xml
deleted file mode 100644
index c839d283f4ea..000000000000
--- a/pkgs/development/mobile/androidenv/sys-img-mips.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="mips-android-sysimage-license" type="text">
-    <![CDATA[
-MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
- 
-By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
- 
-1. DEFINITIONS. These terms shall have the following meanings:
- 
-1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
- 
-1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
- 
-1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
- 
-1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
- 
-1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
- 
-2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
- 
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
- 
-3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
- 
-4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
-
-
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
- 
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
- 
-6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
- 
-7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
- 
-8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
- 
-9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
- 
-10. GENERAL.
- 
-10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
- 
-10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
- 
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
- 
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
- 
-10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
- 
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
- 
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
- 
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
- 
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-    ]]>
-    </sdk:license>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android 4.0.4</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>117503178</sdk:size>
-                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
-                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>4</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
-             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
-             repo init -u git://github.com/MIPS/manifests.git
-                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
-        <sdk:description>Android 4.1.2</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>122482530</sdk:size>
-                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
-                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
-             github.com/MIPS tag mips-jb-4.2.1_r1 -->
-        <sdk:description>Android 4.2.1</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>131781761</sdk:size>
-                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
-                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img-x86.xml b/pkgs/development/mobile/androidenv/sys-img-x86.xml
deleted file mode 100644
index 75ddf73eb1d2..000000000000
--- a/pkgs/development/mobile/androidenv/sys-img-x86.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<!--
-* Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-<sdk:license id="intel-android-sysimage-license" type="text">
-<![CDATA[
-Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
-
-Definitions.
-These terms shall have the following meanings:
-
-"Intel" or "INTEL"
-Intel Corporation
-With an Address of:
-2200 Mission College Blvd.
-Santa Clara, CA 95052
-Office of the General Counsel
-Mail Stop: RNB-4-51
-Attn: Software and Services Group Legal
-
-"Evaluation Software"
-The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
-
-INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
-
-1. DEFINITIONS.
-
-1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
-
-1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
-
-1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
-
-1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
-
-2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
-
-3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
-
-4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
-
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
-
-6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
-
-7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
-
-8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
-
-9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
-
-10. GENERAL.
-
-10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
-
-10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
-
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
-
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
-
-10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
-
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
-
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
-
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
-]]>
-</sdk:license>
-
-<!-- SYSTEM IMAGES ........................ -->
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 2.3.7</sdk:description>
-    <sdk:revision>2</sdk:revision>
-    <sdk:api-level>10</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>55463895</sdk:size>
-        <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
-        <sdk:url>sysimg_x86-10_r02.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.0.4</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>15</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>112619605</sdk:size>
-        <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
-        <sdk:url>sysimg_x86-15_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.1.1</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>16</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>131840348</sdk:size>
-        <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
-        <sdk:url>sysimg_x86-16_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.2</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>17</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>138799122</sdk:size>
-            <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
-            <sdk:url>sysimg_x86-17_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.3</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>18</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>155656419</sdk:size>
-            <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
-            <sdk:url>sysimg_x86-18_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml
new file mode 100644
index 000000000000..5d2b0f7a883a
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/sys-img.xml
@@ -0,0 +1,712 @@
+<!--
+* Copyright (C) 2012 The Android Open Source Project
+*
+* Licensed under the Apache License, version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="intel-android-sysimage-license" type="text">
+<![CDATA[
+Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
+
+Definitions.
+These terms shall have the following meanings:
+
+"Intel" or "INTEL"
+Intel Corporation
+With an Address of:
+2200 Mission College Blvd.
+Santa Clara, CA 95052
+Office of the General Counsel
+Mail Stop: RNB-4-51
+Attn: Software and Services Group Legal
+
+"Evaluation Software"
+The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
+
+INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
+
+1. DEFINITIONS.
+
+1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
+
+1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
+
+1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
+
+2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
+
+10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
+]]>
+    </sdk:license>
+    <sdk:license id="mips-android-sysimage-license" type="text">
+<![CDATA[
+MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
+
+By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
+
+1. DEFINITIONS. These terms shall have the following meanings:
+
+1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
+
+1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
+
+1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
+
+1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
+
+2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
+
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
+
+
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
+
+10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+    ]]>
+    </sdk:license>
+
+    <!-- ARM SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>99621822</sdk:size>
+                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
+                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>96227377</sdk:size>
+                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
+                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112528368</sdk:size>
+                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
+                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>116553808</sdk:size>
+                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
+                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>125457135</sdk:size>
+                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
+                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Dec  5 14:04:05 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>158478012</sdk:size>
+                <sdk:checksum type="sha1">e0d375397e28e3d5d9577a00132463a4696248e5</sdk:checksum>
+                <sdk:url>sysimg_armv7a-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:22:34 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>227716008</sdk:size>
+                <sdk:checksum type="sha1">1d5d81a7078b5b2a685620d93e1e04a51d2e786a</sdk:checksum>
+                <sdk:url>sysimg_armv7a-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:23:13 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>245850484</sdk:size>
+                <sdk:checksum type="sha1">c2d32d6244821ff59f370469778525f6a5345010</sdk:checksum>
+                <sdk:url>sysimg_x86-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+    <!-- X86 SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 2.3.7</sdk:description>
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>55463895</sdk:size>
+                <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.0.4</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112619605</sdk:size>
+                <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.1.1</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131840348</sdk:size>
+                <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.2</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>138799122</sdk:size>
+                <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>155656419</sdk:size>
+                <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Feb 20 15:52:49 2014 from git_klp-sdk-release @ 999428 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>178922720</sdk:size>
+                <sdk:checksum type="sha1">8889cb418984a2a7916a359da7c429d2431ed060</sdk:checksum>
+                <sdk:url>sysimg_x86-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <!-- MIPS SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android 4.0.4</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>117503178</sdk:size>
+                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
+                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>4</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
+             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
+             repo init -u git://github.com/MIPS/manifests.git
+                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
+        <sdk:description>Android 4.1.2</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>122482530</sdk:size>
+                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
+                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
+             github.com/MIPS tag mips-jb-4.2.1_r1 -->
+        <sdk:description>Android 4.2.1</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131781761</sdk:size>
+                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
+                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index bbbf3a4fc687..ddc6dd99d39d 100644
--- a/pkgs/development/mobile/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
@@ -14,113 +14,137 @@ in
 {
 
   sysimg_armeabi-v7a_14 = buildSystemImage {
-    name = "armeabi-v7a-14";
+    name = "sysimg-armeabi-v7a-14";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip;
       sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b";
     };
   };
     
   sysimg_armeabi-v7a_15 = buildSystemImage {
-    name = "armeabi-v7a-15";
+    name = "sysimg-armeabi-v7a-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-15_r02.zip;
       sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e";
     };
   };
     
   sysimg_armeabi-v7a_16 = buildSystemImage {
-    name = "armeabi-v7a-16";
+    name = "sysimg-armeabi-v7a-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r03.zip;
       sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7";
     };
   };
     
   sysimg_armeabi-v7a_17 = buildSystemImage {
-    name = "armeabi-v7a-17";
+    name = "sysimg-armeabi-v7a-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-17_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-17_r02.zip;
       sha1 = "1c321cda1af793b84d47d1a8d15f85444d265e3c";
     };
   };
     
   sysimg_armeabi-v7a_18 = buildSystemImage {
-    name = "armeabi-v7a-18";
+    name = "sysimg-armeabi-v7a-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-18_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-18_r02.zip;
       sha1 = "4a1a93200210d8c42793324362868846f67401ab";
     };
   };
     
   sysimg_armeabi-v7a_19 = buildSystemImage {
-    name = "armeabi-v7a-19";
+    name = "sysimg-armeabi-v7a-19";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip;
-      sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600";
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-19_r02.zip;
+      sha1 = "e0d375397e28e3d5d9577a00132463a4696248e5";
+    };
+  };
+    
+  sysimg_armeabi-v7a_20 = buildSystemImage {
+    name = "sysimg-armeabi-v7a-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-L_r01.zip;
+      sha1 = "1d5d81a7078b5b2a685620d93e1e04a51d2e786a";
+    };
+  };
+    
+  sysimg_x86_20 = buildSystemImage {
+    name = "sysimg-x86-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-L_r01.zip;
+      sha1 = "c2d32d6244821ff59f370469778525f6a5345010";
     };
   };
     
   sysimg_x86_10 = buildSystemImage {
-    name = "x86-10";
+    name = "sysimg-x86-10";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-10_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip;
       sha1 = "34e2436f69606cdfe35d3ef9112f0c64e3ff021d";
     };
   };
     
   sysimg_x86_15 = buildSystemImage {
-    name = "x86-15";
+    name = "sysimg-x86-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip;
       sha1 = "d540325952e0f097509622b9e685737584b83e40";
     };
   };
     
   sysimg_x86_16 = buildSystemImage {
-    name = "x86-16";
+    name = "sysimg-x86-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-16_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip;
       sha1 = "9d35bcaa4f9b40443941f32b8a50337f413c021a";
     };
   };
     
   sysimg_x86_17 = buildSystemImage {
-    name = "x86-17";
+    name = "sysimg-x86-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip;
       sha1 = "ddb3313e8dcd07926003f7b828eafea1115ea35b";
     };
   };
     
   sysimg_x86_18 = buildSystemImage {
-    name = "x86-18";
+    name = "sysimg-x86-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-18_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip;
       sha1 = "f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1";
     };
   };
     
+  sysimg_x86_19 = buildSystemImage {
+    name = "sysimg-x86-19";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-19_r02.zip;
+      sha1 = "8889cb418984a2a7916a359da7c429d2431ed060";
+    };
+  };
+    
   sysimg_mips_15 = buildSystemImage {
-    name = "mips-15";
+    name = "sysimg-mips-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-15_r01.zip;
       sha1 = "a753bb4a6783124dad726c500ce9aec9d2c1b2d9";
     };
   };
     
   sysimg_mips_16 = buildSystemImage {
-    name = "mips-16";
+    name = "sysimg-mips-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-16_r04.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip;
       sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e";
     };
   };
     
   sysimg_mips_17 = buildSystemImage {
-    name = "mips-17";
+    name = "sysimg-mips-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip;
       sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d";
     };
   };
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
index 049595c49a5a..e1b2b0cb2faf 100644
--- a/pkgs/development/mobile/xpwn/default.nix
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
+{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
 
 stdenv.mkDerivation {
   name = "xpwn-0.5.8git";
 
   src = fetchgit {
-    url = "git://github.com/dborca/xpwn.git";
-    rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
-    sha256 =
-      "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
+    url    = "git://github.com/dborca/xpwn.git";
+    rev    = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
+    sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
   };
 
   preConfigure = ''
@@ -19,11 +18,16 @@ stdenv.mkDerivation {
     sed -i -e '/install/d' CMakeLists.txt
   '';
 
-  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
+  buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
 
-  meta = {
-    homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
+  cmakeFlags = [
+    "-DCMAKE_OSX_DEPLOYMENT_TARGET="
+  ];
+
+  meta = with stdenv.lib; {
+    homepage    = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
     description = "Custom NOR firmware loader/IPSW generator for the iPhone";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license     = licenses.gpl3Plus;
+    platforms   = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix
new file mode 100644
index 000000000000..6af7ce250772
--- /dev/null
+++ b/pkgs/development/ocaml-modules/calendar/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-calendar-2.03.2";
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/915/calendar-2.03.2.tar.gz;
+    sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
+    };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+
+  meta =  {
+    homepage = https://forge.ocamlcore.org/projects/calendar/;
+    description = "An Objective Caml library managing dates and times";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
new file mode 100644
index 000000000000..3a00f0c3888c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchurl, ocaml, findlib, opam}:
+
+let
+  pname = "cmdliner";
+  version = "0.9.5";
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+stdenv.mkDerivation {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
+    sha256 = "a0e199c4930450e12edf81604eeceddeeb32d55c43438be689e60df282277a7e";
+  };
+
+  unpackCmd = "tar xjf $src";
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml pkg/git.ml";
+  buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
+  installPhase   = ''
+    opam-installer --script --prefix=$out ${pname}.install > install.sh
+    sh install.sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://erratique.ch/software/cmdliner;
+    description = "An OCaml module for the declarative definition of command line interfaces";
+    license = licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
new file mode 100644
index 000000000000..af85a0a8f94c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
+  js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
+  ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp}:
+
+stdenv.mkDerivation
+{
+  name = "eliom-4.0.0";
+
+  src = fetchurl {
+    url = https://github.com/ocsigen/eliom/archive/4.0.0.tar.gz;
+    sha256 = "1xf2l6lvngxzwaw6lvr6sgi48rz0wxg65q9lz4jzqjarkp0sx206";
+  };
+
+  buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
+                 js_of_ocaml ocaml_react ocaml_lwt calendar
+                 cryptokit tyxml ocaml_ipaddr ocamlnet ocaml_ssl
+                 ocaml_pcre ocaml_optcomp];
+
+  preConfigure =
+  ''chmod a+x configure
+    sed s/deriving-ocsigen/deriving/g -i configure
+  '';
+
+  configureFlags = "--root $(out) --prefix /";
+
+  dontAddPrefix = true;  
+
+  createFindlibDestdir = true;
+}
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index 2fa72dcf07f1..365fcc677cc9 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
diff --git a/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
new file mode 100644
index 000000000000..e96f3f179a98
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
@@ -0,0 +1,15 @@
+{ocaml, findlib, stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "ocaml-ipaddr-2.4.0";
+  
+  src = fetchurl {
+    url = https://github.com/mirage/ocaml-ipaddr/archive/2.4.0.tar.gz;
+    sha256 = "0g7qg35w3vzcg37798rhbx7iia83286md3gj5gdhs1qgizlg56wx";
+  };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+  
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
new file mode 100644
index 000000000000..d2a1ed3a6240
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp}:
+
+stdenv.mkDerivation {
+  name = "ocsigen-deriving";
+  src = fetchgit {
+    url = "git://github.com/ocsigen/deriving";
+    rev = "refs/tags/0.6.2";
+    sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662";
+    };
+  
+  buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp];
+
+  configurePhase = ''
+  make setup-dev.exe
+  ./setup-dev.exe -configure --prefix $out
+  '';
+
+  createFindlibDestdir = true;
+
+
+  meta =  {
+    homepage = https://github.com/ocsigen/deriving;
+    description = "Extension to OCaml for deriving functions from type declarations";
+    license = "MIT";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
new file mode 100644
index 000000000000..6f68958aeab1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl, ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib, libev, openssl, ocaml_sqlite3, tree}:
+
+stdenv.mkDerivation {
+  name = "ocsigenserver-2.4.0";
+  
+  src = fetchurl {
+    url = https://github.com/ocsigen/ocsigenserver/archive/2.4.0.tar.gz;
+    sha256 = "1fjj8g6ivyfsa0446w77rjihhbw0gh5pgx7brywql2shk999riby";
+  };
+
+  buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl ocaml_sqlite3 tree];
+
+  configureFlags = "--root $(out) --prefix /";
+
+  dontAddPrefix = true;
+
+  createFindlibDestdir = true;
+
+  postFixup = 
+  ''
+  rm -rf $out/var/run
+  '';
+
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = http://ocsigen.org/ocsigenserver/;
+    description = "A full featured Web server";
+    longDescription =''
+      A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
+      '';
+    license = "LGPL"; # <- todo: check
+    platforms = ocaml.meta.platforms;
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
new file mode 100644
index 000000000000..6075bc4ab2aa
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-optcomp";
+  src = fetchurl {
+    url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
+    md5 = "d3587244dba1b8b10f24d0b60a8c700d";
+    };
+  
+  createFindlibDestdir = true;
+
+  buildInputs = [ocaml findlib];
+
+
+  meta =  {
+    homepage = https://github.com/diml/optcomp;
+    description = "Optional compilation for OCaml with cpp-like directives";
+    license = "BSD";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index bed87a50f81d..ef3ab9a46b93 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
new file mode 100644
index 000000000000..e8ec8e6f5dac
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }:
+
+stdenv.mkDerivation {
+  name = "ocaml-sqlite3EZ-0.1.0";
+
+  src = fetchurl {
+    url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz;
+    sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748";
+  };
+
+  buildInputs = [ ocaml findlib twt ];
+
+  propagatedBuildInputs = [ ocaml_sqlite3 ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://github.com/mlin/ocaml-sqlite3EZ;
+    description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
+    license = stdenv.lib.licenses.mit;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix
new file mode 100644
index 000000000000..c06449f68b4c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/twt/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+  name = "ocaml-twt-0.93.2";
+
+  src = fetchurl {
+    url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz;
+    sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = ''
+    mkdir $out/bin
+  '';
+
+  dontBuild = true;
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/;
+    description = "“The Whitespace Thing” for OCaml";
+    license = stdenv.lib.licenses.mit;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
new file mode 100644
index 000000000000..02ac7f381e51
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}:
+
+stdenv.mkDerivation {
+  name = "tyxml-3.0.0";
+
+  src = fetchurl {
+    url = http://ocsigen.org/download/tyxml-3.0.0.tar.gz;
+    sha256 = "0cvbmyg4g0lg4f23032cjlxqklisccbjgj47117wm6gva8xi7xa3";
+    };
+
+  buildInputs = [ocaml findlib ocaml_oasis];
+
+  createFindlibDestdir = true;
+
+  configurePhase = ''
+  make setup-dev.exe
+  ./setup-dev.exe -configure --prefix $out
+  '';
+
+  meta = {
+    homepage = http://ocsigen.org/tyxml/;
+    description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+      ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 9237db080d67..562d25550dae 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -4,16 +4,18 @@ let
   version = "1.1.8";
   webpage = "http://mjambon.com/${pname}.html";
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
 
-  name = "${pname}-${version}";
+  name = "ocaml-${pname}-${version}";
 
   src = fetchurl {
-    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz";
     sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv";
   };
 
-  buildInputs = [ ocaml findlib cppo easy-format biniou ];
+  buildInputs = [ ocaml findlib ];
+
+  propagatedBuildInputs = [ cppo easy-format biniou ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 7022206c5cc6..361785374bb3 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   name = "pharo-vm-core-i386-2014.06.25";
   system = "x86_32-linux";
   src = fetchurl {
-    url = http://files.pharo.org/vm/src/vm-unix-sources/pharo-vm-2014.06.25.tar.bz2;
-    md5 = "4d80d8169c2f2f0355c43ee90bbad23f";
+    url = http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-2014.08.14.tar.bz2;
+    md5 = "8e9e8dfde4f4bb69aac4590ecf82dd3b";
   };
 
   sources10Zip = fetchurl {
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index d88504379ed0..bc386e7e5ac2 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }:
+{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "dbus-python-1.2.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
new file mode 100644
index 000000000000..39a35ad49c6e
--- /dev/null
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, python, buildPythonPackage
+, numpy, hdf5, cython
+, mpiSupport ? false, mpi4py ? null, mpi ? null }:
+
+assert mpiSupport == hdf5.mpiSupport;
+assert mpiSupport -> mpi != null
+  && mpi4py != null
+  && mpi == mpi4py.mpi
+  && mpi == hdf5.mpi
+  ;
+
+with stdenv.lib;
+
+buildPythonPackage rec {
+  name = "h5py-2.3.1";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz";
+    md5 = "8f32f96d653e904d20f9f910c6d9dd91";
+  };
+
+  setupPyBuildFlags = [ "--hdf5=${hdf5}" ]
+    ++ optional mpiSupport "--mpi"
+    ;
+  setupPyInstallFlags = setupPyBuildFlags;
+
+  preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
+
+  buildInputs = [ hdf5 cython ]
+    ++ optional mpiSupport mpi
+    ;
+  propagatedBuildInputs = [ numpy ]
+    ++ optional mpiSupport mpi4py
+    ;
+
+  meta = {
+    description =
+      "Pythonic interface to the HDF5 binary data format";
+    homepage = "http://www.h5py.org/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
new file mode 100644
index 000000000000..c38d948dd6be
--- /dev/null
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
+
+buildPythonPackage rec {
+  name = "mpi4py-1.3.1";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz";
+    sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507";
+  };
+
+  passthru = {
+    inherit mpi;
+  };
+
+  # The tests in the `test_spawn` module fail in the chroot build environment.
+  # However, they do pass in a pure, or non-pure nix-shell. Hence, we
+  # deactivate these particular tests.
+  # Unfortunately, the command-line arguments to `./setup.py test` are not
+  # correctly passed to the test-runner. Hence, these arguments are patched
+  # directly into `setup.py`.
+  patchPhase = ''
+    sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py
+  '';
+
+  configurePhase = "";
+
+  installPhase = ''
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out"
+
+    # --install-lib:
+    # sometimes packages specify where files should be installed outside the usual
+    # python lib prefix, we override that back so all infrastructure (setup hooks)
+    # work as expected
+  '';
+
+  setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
+
+  buildInputs = [ mpi ];
+  # Requires openssh for tests. Tests of dependent packages will also fail,
+  # if openssh is not present. E.g. h5py with mpi support.
+  propagatedBuildInputs = [ openssh ];
+
+  disabled = isPy3k || isPyPy;
+
+  meta = {
+    description =
+      "Python bindings for the Message Passing Interface standard";
+    homepage = "http://code.google.com/p/mpi4py/";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 3dc64f681294..0589bec36b95 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }:
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "pycairo not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   version = "1.10.0";
   name = "pycairo-${version}";
   src = if python.is_py3k or false
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 7d82ef9adf2e..b874d3d5c522 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -1,13 +1,11 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "rbtools-0.4.1";
+  name = "rbtools-0.6.1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://downloads.reviewboard.org/releases/RBTools/0.4/RBTools-0.4.1.tar.gz";
-    sha256 = "1v0r7rfzrasj56s53mib51wl056g7ykh2y1c6dwv12r6hzqsycgv";
+    url = "http://downloads.reviewboard.org/releases/RBTools/0.6/RBTools-0.6.1.tar.gz";
+    sha256 = "0dbpd08b0k00fszi3r7wlgn2989aypgd60jq6wc99lq4yxsmhp28";
   };
-
-  propagatedBuildInputs = [ pythonPackages.setuptools ];
 }
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
index aa1fb1984385..210346062f9e 100644
--- a/pkgs/development/python-modules/sip/4.16.nix
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "sip-4.16.1";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index db397f959448..cf3a0149844b 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/wxPython/2.8.nix b/pkgs/development/python-modules/wxPython/2.8.nix
index 8819605528d6..64dd59242c2d 100644
--- a/pkgs/development/python-modules/wxPython/2.8.nix
+++ b/pkgs/development/python-modules/wxPython/2.8.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }:
 
 assert wxGTK.unicode;
 
 let version = "2.8.12.1"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder.sh;
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
index 9aa6148643bd..4f89dbeb4105 100644
--- a/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }:
 
 assert wxGTK.unicode;
 
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let version = "3.0.0.0"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder3.0.sh;
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index dcffbccb510a..e986944d45df 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -38,7 +38,7 @@
 
 let
 
-  inherit (pkgs) R fetchurl stdenv;
+  inherit (pkgs) R fetchurl stdenv curl;
 
   buildRPackage = import ./generic-builder.nix R;
 
@@ -4252,7 +4252,7 @@ let self = _self // overrides; _self = with self; {
   rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; };
   Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; };
   rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; };
-  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops]; };
+  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops curl]; };
   Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; };
   rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
   rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; };
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index ca4176dbe1eb..094cabb73060 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -4,14 +4,14 @@
 
 let
   name = "cppcheck";
-  version = "1.65";
+  version = "1.66";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "0rsxnqvjyiviqsq4y5x4p1jpvcmhf8hh7d710rsvnv5d4cj7lmqn";
+    sha256 = "1dy1jd9ckqs565iwcv281pc3xmp9fnfw5ydh3wq06pyz74yw4scl";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix
new file mode 100644
index 000000000000..e21f5ed15e9e
--- /dev/null
+++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, kdelibs, kgraphviewer, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "massif-visualizer-${version}";
+  version = "0.3.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/massif-visualizer/${version}/src/${name}.tar.xz";
+    sha256 = "9940fa90137ca5eef08b9ec220825fadbf03db423a670a2c7fe3edab271d9922";
+  };
+
+  buildInputs = [ kdelibs kgraphviewer gettext ];
+
+  meta = with stdenv.lib; {
+    description = "Tool that visualizes massif data generated by valgrind";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 14007d80b0fb..2709caaab062 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "pmd-4.2.5";
+  name = "pmd-4.2.6";
   buildInputs = [unzip] ;
 
   src = fetchurl {
-    url = mirror://sourceforge/pmd/pmd-bin-4.2.5.zip ;
-    sha256 = "07cb18mv7rplksy3iw3rxyjaav4m7kcjqfhzv20ki73hfkqxa85c";
+    url = mirror://sourceforge/pmd/pmd-bin-4.2.6.zip ;
+    sha256 = "0gg1px2jmqn09f5vjzgy9gck37qjm9p2d7gf9grsmrr2xncbipp8";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index 2ab8c05ebf85..3c83f0e9d495 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -12,15 +12,15 @@ let
   optional = stdenv.lib.optional;
 in
 stdenv.mkDerivation rec {
-  name = "radare-1.5";
+  name = "radare-1.5.2";
 
   src = fetchurl {
     url = "http://radare.org/get/${name}.tar.gz";
-    sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h";
+    sha256 = "1qdrmcnzfvfvqb27c7pknwm8jl2hqa6c4l66wzyddwlb8yjm46hd";
   };
 
 
-  buildInputs = [pkgconfig readline libusb libewf perl]
+  buildInputs = [pkgconfig readline libusb perl]
     ++ optional useX11 [gtkdialog vte gtk]
     ++ optional rubyBindings [ruby]
     ++ optional pythonBindings [python]
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
new file mode 100644
index 000000000000..7e199c29aed9
--- /dev/null
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
+gtk ? null, vte ? null, gtkdialog ? null,
+python ? null,
+ruby ? null,
+lua ? null,
+useX11, rubyBindings, pythonBindings, luaBindings}:
+
+assert useX11 -> (gtk != null && vte != null && gtkdialog != null);
+assert rubyBindings -> ruby != null;
+assert pythonBindings -> python != null;
+
+let 
+  optional = stdenv.lib.optional;
+in
+stdenv.mkDerivation rec {
+  version = "0.9.7";
+  name = "radare2-${version}";
+
+  src = fetchurl {
+    url = "http://radare.org/get/${name}.tar.xz";
+    sha256 = "01sdsnbvx1qzyradj03sg24rk2bi9x58m40r0aqj8skv92c87s7l";
+  };
+
+
+  buildInputs = [pkgconfig readline libusb libewf perl zlib openssl]
+    ++ optional useX11 [gtkdialog vte gtk]
+    ++ optional rubyBindings [ruby]
+    ++ optional pythonBindings [python]
+    ++ optional luaBindings [lua];
+
+  meta = {
+    description = "Free advanced command line hexadecimal editor";
+    homepage = http://radare.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    platforms = with stdenv.lib.platforms; linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 06c04ca41b5d..a40215592f45 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
     license = "free";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 0dfb634c5944..751b40e714e8 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, makeWrapper }:
 
-let version = "1.9.3"; in
+let version = "1.9.4"; in
 
 stdenv.mkDerivation {
   name = "ant-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
+    sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90";
   };
 
   contrib = fetchurl {
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index d10d9d6d1a3a..d62ae35b8549 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
       variety of locations (git, hg, etc).
       '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index b54f894d8eb4..39937f7d378b 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cat > $out/bin/sbt << EOF
-    #!/bin/sh
-    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
+    #! ${stdenv.shell}
     ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
     EOF
     chmod +x $out/bin/sbt
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5194684261c9..7ba30991d20e 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "jenkins";
-  version = "1.550";
+  name = "jenkins-${version}";
+  version = "1.579";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793";
+    sha256 = "1l2a8h3js42gkqn8kiysbgrxksqmhmmfp9l4kbrmw609q2wn5119";
   };
-  meta = {
-    description = "An extendable open source continuous integration server.";
+  meta = with stdenv.lib; {
+    description = "An extendable open source continuous integration server";
     homepage = http://jenkins-ci.org;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.coconnor ];
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.coconnor ];
   };
 
   buildCommand = "ln -s $src $out";
diff --git a/pkgs/development/tools/documentation/haddock/2.15.0.nix b/pkgs/development/tools/documentation/haddock/2.15.0.nix
new file mode 100644
index 000000000000..3b3d91a1f2f1
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.15.0.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, haddockApi }:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.15.0";
+  sha256 = "1vay0v0a02xj2m40w71vmjadlm6pzv309r1jhr61xv1wnj88i75w";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haddockApi ];
+  testDepends = [ Cabal filepath ];
+  preCheck = "unset GHC_PACKAGE_PATH";
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
index b9cd34c716e0..9cc92aafc219 100644
--- a/pkgs/development/tools/haskell/haskell-docs/default.nix
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -20,5 +20,7 @@ cabal.mkDerivation (self: {
     description = "A program to find and display the docs and type of a name";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
index 4342b877a2e8..a07383778ed1 100644
--- a/pkgs/development/tools/haskell/timeplot/default.nix
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -20,5 +20,7 @@ cabal.mkDerivation (self: {
     description = "A tool for visualizing time series from log files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index fc48a4aabada..adff07ac35a7 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -2,6 +2,8 @@
 , cross ? null, gold ? true, bison ? null
 }:
 
+assert !stdenv.isDarwin;
+
 let basename = "binutils-2.23.1"; in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 852c1b742195..df5fdbfab5a3 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
       wrapProgram $out/bin/d-feet \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-        --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
 
       rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 5ee0f64a4e41..d9af1e3eb548 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo
-, dejagnu, python, target ? null
+, dejagnu, python, pkgconfig, guile, target ? null
 
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.7";
+  basename = "gdb-7.8";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
       ("-" + target.config);
 
   src = fetchurl {
-    url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104";
+    url = "mirror://gnu/gdb/${basename}.tar.xz";
+    sha256 = "49c4abe174f79f54e1f9e75210ffb590d9b497d5b5200b5398c0e073a4ecb875";
   };
 
   patches = [ ./edit-signals.patch ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ texinfo python ]
     ++ stdenv.lib.optional isGNU mig;
 
-  buildInputs = [ ncurses readline gmp mpfr expat ]
+  buildInputs = [ ncurses readline gmp mpfr expat pkgconfig guile ]
     ++ stdenv.lib.optional isGNU hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index c8cff1162821..e8e50999f3ed 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.46.1";
+  name = "help2man-1.46.2";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "0iqwb3qirl7rp1wwpbh01q89qxvi4h3bc73wi03av6hl4sh05z9x";
+    sha256 = "0483cpizy0mqngibv56p6p8jxwh8678qksf5zs5wh963r3n1s6cj";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index ec3a5e9bcbf6..1ef292407a47 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 732423da5cd4..7cc878a28395 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "A system call tracer for Linux";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index 66d6b65453ea..c4fcd3158457 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   # 'make check' uses boost and tcl
   buildInputs = stdenv.lib.optionals doCheck [ boost tcl ];
 
-  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache";
+  configureFlags = "--disable-ccache";
 
   meta = {
     description = "Interface compiler that connects C/C++ code to higher-level languages";
diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix
index 1f1017760642..f79a5f562c03 100644
--- a/pkgs/development/tools/node-webkit/default.nix
+++ b/pkgs/development/tools/node-webkit/default.nix
@@ -9,8 +9,9 @@ let
     name = "node-webkit-env";
     paths = [
       xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
-      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext
-      xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage
+      xlibs.libXext xlibs.libXfixes nss nspr gconf expat dbus stdenv.gcc.gcc
+      xlibs.libXtst xlibs.libXi
     ];
   };
 
@@ -19,28 +20,27 @@ in stdenv.mkDerivation rec {
   version = "0.9.2";
 
   src = fetchurl {
-    url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
+    url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
     sha256 = if bits == "x64" then
       "04b9hgrxxnvrzyc7kmlabvrfbzj9d6lif7z69zgsbn3x25nxxd2n" else
       "0icwdl564sbx27124js1l4whfld0n6nbysdd522frzk1759dzgri";
   };
 
-  patchPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot
-  '';
-
-  installPhase = let
-    LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit";
-  in ''
-    mkdir -p $out/bin
+  installPhase = ''
     mkdir -p $out/share/node-webkit
     cp -R * $out/share/node-webkit
 
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
+
     ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
 
-    makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
-    makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
+    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
+
+    mkdir -p $out/bin
+    ln -s $out/share/node-webkit/nw $out/bin
+    ln -s $out/share/node-webkit/nwsnapshot $out/bin
   '';
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
new file mode 100644
index 000000000000..ee39855fec9d
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
@@ -0,0 +1,10 @@
+--- old/Makefile.conf	2014-05-19 16:53:09.263564921 +0200
++++ new/Makefile.conf	2014-05-19 16:53:42.213152994 +0200
+@@ -1,6 +1,6 @@
+ 
+ # Where binaries are installed:
+-BINDIR := /usr/local/bin
++BINDIR := $(out)/bin
+ 
+ ####
+ 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
new file mode 100644
index 000000000000..a7167d0c2262
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving}:
+
+stdenv.mkDerivation {
+  name = "js_of_ocaml";
+  src = fetchurl {
+    url = https://github.com/ocsigen/js_of_ocaml/archive/2.2.tar.gz;
+    sha256 = "1cp81gpvyxgvzxg0vzyl8aa2zvcixp6m433w8zjifrg6vb7lhp97";
+    };
+  
+  buildInputs = [ocaml findlib ocaml_lwt menhir ocsigen_deriving];
+
+  patches = [ ./Makefile.conf.diff ];  
+
+  createFindlibDestdir = true;
+
+
+  meta =  {
+    homepage = http://ocsigen.org/js_of_ocaml/;
+    description = "Compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+
+}
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index c0882439f5c5..623b84bafd1d 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}:
+{stdenv, fetchurl, ocaml, findlib, yojson, menhir}:
 stdenv.mkDerivation {
 
-  name = "merlin-1.6";
+  name = "merlin-1.7.1";
 
   src = fetchurl {
-    url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz";
-    sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy";
+    url = https://github.com/the-lambda-church/merlin/archive/v1.7.1.tar.gz;
+    sha256 = "c3b60c7b3fddaa2860e0d8ac0d4fed2ed60e319875734c7ac1a93df524c67aff";
   };
 
-  buildInputs = [ ocaml findlib biniou yojson menhir easy-format ];
+  buildInputs = [ ocaml findlib yojson menhir ];
 
   prefixKey = "--prefix ";
 
   meta = {
-    description = "An editor-independant tool to ease the developpement of programs in OCaml";
+    description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "http://the-lambda-church.github.io/merlin/";
     license = stdenv.lib.licenses.mit;
   };
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 3ab935705a2d..a5260b499c45 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -13,9 +13,11 @@ stdenv.mkDerivation {
 
   buildInputs =
     [
-      ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit
+      ocaml findlib ocaml_typeconv ocamlmod ocamlify ounit
     ];
 
+  propagatedBuildInputs = [ ocaml_data_notation ];
+
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
   installPhase   = "ocaml setup.ml -install";
diff --git a/pkgs/development/tools/ocaml/opam/1.0.0.nix b/pkgs/development/tools/ocaml/opam/1.0.0.nix
index f8f680ef4a54..4c74063d1165 100644
--- a/pkgs/development/tools/ocaml/opam/1.0.0.nix
+++ b/pkgs/development/tools/ocaml/opam/1.0.0.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "A package manager for OCaml";
     platforms   = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index f3ec8225f1ca..8842c8723b1e 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "byacc-1.9";
 
   src = fetchurl {
-    url = http://invisible-island.net/datafiles/release/byacc.tar.gz;
+    url = ftp://invisible-island.net/byacc/byacc-20140715.tgz;
     sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c";
   };
 
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 072b8eeff5ca..3b2929f178db 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -3,19 +3,21 @@
 
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
+let version = "1.6.5";
+in
 stdenv.mkDerivation rec {
-  name = "vagrant-1.6.3";
+  name = "vagrant-${version}";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb;
-        sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
+        sha256 = "12m2mnpnfzqv2s4j58cnzg4h4i5nkk5nb4irsvmm3i9a0dnsziz2";
       }
     else
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb;
-        sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
+        sha256 = "047zij0lvrlpyg6icnp4knl0q87icsavbd2g98bkcp79yh2y91d0";
       };
 
   meta = with stdenv.lib; {
@@ -84,10 +86,10 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
   '';
 
   postFixup = ''
-    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
   '';
 }
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index ca3439df4c46..460676324108 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -1,6 +1,6 @@
 { stdenv, runCommand, nodejs, neededNatives}:
 
-args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", ... }:
+args @ { name, src, deps ? {}, peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", resolvedDeps ? {}, bin ? null, ... }:
 
 with stdenv.lib;
 
@@ -12,88 +12,135 @@ let
     mv *node* $out
   '';
 
+  # Convert deps to attribute set
+  attrDeps = if isAttrs deps then deps else
+    (listToAttrs (map (dep: nameValuePair dep.name dep) deps));
+
+  # All required node modules, without already resolved dependencies
+  requiredDeps = removeAttrs attrDeps (attrNames resolvedDeps);
+
+  # Recursive dependencies that we want to avoid with shim creation
+  recursiveDeps = removeAttrs attrDeps (attrNames requiredDeps);
+
   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";
-
-  inherit src;
-
-  configurePhase = ''
-    runHook preConfigure
-    mkdir node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') peerDeps)}
-    export HOME=$(pwd)
-    runHook postConfigure
-  '';
 
-  buildPhase = ''
-    runHook preBuild
-    npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
-    runHook postBuild
-  '';
+  self = let
+    # Pass resolved dependencies to dependencies of this package 
+    deps = map (
+      dep: dep.override {
+        resolvedDeps = resolvedDeps // { "${name}" = self; };
+      }
+    ) (attrValues requiredDeps);
+
+  in stdenv.mkDerivation ({
+    unpackPhase = "true";
+
+    inherit src;
+    
+    configurePhase = ''
+      runHook preConfigure
+      mkdir node_modules
+
+      # Symlink dependencies for node modules
+      ${concatStrings (concatMap (dep: map (name: ''
+        ln -sv ${dep}/lib/node_modules/${name} node_modules/
+      '') dep.names) deps)}
+
+      # Symlink peer dependencies
+      ${concatStrings (mapAttrsToList (name: dep: ''
+        ln -sv ${dep}/lib/node_modules/${name} node_modules/
+      '') peerDeps)}
+
+      # Create shims for recursive dependenceies
+      ${concatStrings (concatMap (dep: map (name: ''
+        mkdir -p node_modules/${name}
+        cat > node_modules/${name}/package.json <<EOF
+        {
+            "name": "${name}",
+            "version": "${(builtins.parseDrvName dep.name).version}"
+        }
+        EOF
+      '') dep.names) (attrValues recursiveDeps))}
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/lib/node_modules
-    ${concatStrings (map (name: ''
-      mv node_modules/${name} $out/lib/node_modules
-      rm -fR $out/lib/node_modules/${name}/node_modules
-      ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
-      if [ -e "$out/lib/node_modules/${name}/man" ]; then
-        mkdir -p $out/share
-        for dir in "$out/lib/node_modules/${name}/man/"*; do
-          mkdir -p $out/share/man/$(basename "$dir")
-          for page in "$dir"/*; do
-            ln -sv $page $out/share/man/$(basename "$dir")
+      export HOME=$(pwd)
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      # Remove shims
+      ${concatStrings (concatMap (dep: map (name: ''
+        rm  node_modules/${name}/package.json
+        rmdir node_modules/${name}
+      '') dep.names) (attrValues recursiveDeps))}
+
+      mkdir -p $out/lib/node_modules
+      ${concatStrings (map (name: ''
+        mv node_modules/${name} $out/lib/node_modules
+        rm -fR $out/lib/node_modules/${name}/node_modules
+        ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
+        if [ -e "$out/lib/node_modules/${name}/man" ]; then
+          mkdir -p $out/share
+          for dir in "$out/lib/node_modules/${name}/man/"*; do
+            mkdir -p $out/share/man/$(basename "$dir")
+            for page in "$dir"/*; do
+              ln -sv $page $out/share/man/$(basename "$dir")
+            done
           done
-        done
+        fi
+      '') args.passthru.names)}
+      ${concatStrings (mapAttrsToList (name: dep: ''
+        mv node_modules/${name} $out/lib/node_modules
+      '') 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
+        ln -sv $out/lib/node_modules/.bin $out/bin
+        node=`type -p node`
+        coffee=`type -p coffee || true`
+        find -L $out/lib/node_modules/.bin/* -type f -print0 | \
+          xargs -0 sed --follow-symlinks -i \
+            -e 's@#!/usr/bin/env node@#!'"$node"'@' \
+            -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
+            -e 's@#!/.*/node@#!'"$node"'@' \
+            -e 's@#!/.*/coffee@#!'"$coffee"'@'
       fi
-    '') args.passthru.names)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      mv node_modules/${name} $out/lib/node_modules
-    '') 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
-      ln -sv $out/lib/node_modules/.bin $out/bin
-      node=`type -p node`
-      coffee=`type -p coffee || true`
-      find -L $out/lib/node_modules/.bin/* -type f -print0 | \
-        xargs -0 sed --follow-symlinks -i \
-          -e 's@#!/usr/bin/env node@#!'"$node"'@' \
-          -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
-          -e 's@#!/.*/node@#!'"$node"'@' \
-          -e 's@#!/.*/coffee@#!'"$coffee"'@'
-    fi
-    runHook postInstall
-  '';
+      runHook postInstall
+    '';
 
-  preFixup = concatStringsSep "\n" (map (src: ''
-    find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
-  '') src);
-
-  shellHook = ''
-    ${preShellHook}
-    export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
-    mkdir -p node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sfv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${postShellHook}
-  '';
-} // args // {
-  # Run the node setup hook when this package is a build input
-  propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
+    preFixup = concatStringsSep "\n" (map (src: ''
+      find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
+    '') src);
+
+    shellHook = ''
+      ${preShellHook}
+      export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
+      mkdir -p node_modules
+      ${concatStrings (concatMap (dep: map (name: ''
+        ln -sfv ${dep}/lib/node_modules/${name} node_modules/
+      '') dep.names) deps)}
+      ${postShellHook}
+    '';
+  } // (filterAttrs (n: v: n != "deps" && n != "resolvedDeps") args) // {
+    name = "${
+      if bin == true then "bin-" else if bin == false then "node-" else ""
+    }${name}";
+
+    # Run the node setup hook when this package is a build input
+    propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
+
+    # Make buildNodePackage useful with --run-env
+    nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
+  });
 
-  # Make buildNodePackage useful with --run-env
-  nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
-} )
+in self
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 59423d7a5a66..882f5f3cde6b 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     bsd_games_cfg_varlibdir=.
     bsd_games_cfg_non_interactive=y
     bsd_games_cfg_no_build_dirs="dab hack phantasia sail"
-    bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words
+    bsd_games_cfg_dictionary_src=${miscfiles}/share/web2
     bsd_games_cfg_pager=${less}
     EOF
 
diff --git a/pkgs/games/chocolate-doom/default.nix b/pkgs/games/chocolate-doom/default.nix
new file mode 100644
index 000000000000..157d1b42af62
--- /dev/null
+++ b/pkgs/games/chocolate-doom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "chocolate-doom-2.0.0";
+  src = fetchurl {
+    url = https://github.com/chocolate-doom/chocolate-doom/archive/chocolate-doom-2.0.0.tar.gz;
+    sha256 = "1n9lkx97h987bq8z586jgissdhs07xyfr0xfdk7m2wpw4yhw10k1";
+  };
+  buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net ];
+  patchPhase = ''
+    sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
+    ./autogen.sh --prefix=$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://chocolate-doom.org/;
+    description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/chocolate-doom/master.nix b/pkgs/games/chocolate-doom/master.nix
new file mode 100644
index 000000000000..f0dc62aaaae7
--- /dev/null
+++ b/pkgs/games/chocolate-doom/master.nix
@@ -0,0 +1,24 @@
+{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, git, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "chocolate-doom-20140902";
+  src = fetchgit {
+    url = git://github.com/fragglet/chocolate-doom.git;
+    rev = "204814c7bb16a8ad45435a15328072681978ea57";
+    sha256 = "1xcdxpkgb9dk3zwqf4xcr3qn7dh5rx6hmniky67imbvi1h74p587";
+  };
+  buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net git ];
+  patchPhase = ''
+    sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
+    ./autogen.sh --prefix=$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://chocolate-doom.org/;
+    description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix
index 6a0d30ea89f4..300d7557e02b 100644
--- a/pkgs/games/dwarf-fortress/df2014.nix
+++ b/pkgs/games/dwarf-fortress/df2014.nix
@@ -1,17 +1,41 @@
-{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile
-, copyDataDirectory ? false }:
+{ stdenv, fetchgit, fetchurl, cmake, glew, ncurses, SDL, SDL_image, SDL_ttf, gtk2, glib, mesa, openal, pango, atk, gdk_pixbuf, glibc, libsndfile
+  , copyDataDirectory ? true }:
+
+/* set copyDataDirectory as true by default since df 40 does not seem to run without it */
+
+let
+
+  srcs = {
+    df_unfuck = fetchgit {
+      url = "https://github.com/svenstaro/dwarf_fortress_unfuck";
+      rev = "4681508dd799aaf20b47c2ac0e9da18fa4876993";
+      sha256 = "16495214a19742cb97351109b124ad9d691ee52bbb1b86c9c1907978734b5ca0";
+    };
+
+    df = fetchurl {
+      url = "http://www.bay12games.com/dwarves/df_40_10_linux.tar.bz2";
+      sha256 = "0hfm4395y0lacgsl7wqr6vwcw42pqm03xp7giqfk3mfsn32wqnm7";
+    };
+  };
+
+in
 
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "dwarf-fortress-0.40.05";
+  name = "dwarf-fortress-0.40.10";
 
-  src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_40_05_linux.tar.bz2";
-    sha256 = "1b9nd33yz5a945v9jyqii1k4s71i701m2d0h7fw6f5g9p6nvx43s";
-  };
 
-  phases = "unpackPhase patchPhase installPhase";
+  buildInputs = [ SDL SDL_image SDL_ttf gtk2 glib glew mesa ncurses openal glibc libsndfile pango atk cmake gdk_pixbuf];
+  src = "${srcs.df_unfuck} ${srcs.df}";
+  phases = "unpackPhase patchPhase configurePhase buildPhase installPhase";
+
+  sourceRoot = "git-export";
+
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
+  ];
 
   /* :TODO: Game options should be configurable by patching the default configuration files */
 
@@ -21,11 +45,15 @@ stdenv.mkDerivation rec {
     set -x
     mkdir -p $out/bin
     mkdir -p $out/share/df_linux
-    cp -r * $out/share/df_linux
+    cd ../../
+    cp -r ./df_linux/* $out/share/df_linux
+    rm $out/share/df_linux/libs/lib*
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc ]}:$out/share/df_linux/libs"  $out/share/df_linux/libs/Dwarf_Fortress
+    cp -f ./git-export/build/libgraphics.so $out/share/df_linux/libs/libgraphics.so
+
     cp $permission $out/share/df_linux/nix_permission
 
     patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress
-    ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/
 
     cat > $out/bin/dwarf-fortress << EOF
     #!${stdenv.shell}
@@ -66,7 +94,7 @@ stdenv.mkDerivation rec {
     ''}
 
     # now run Dwarf Fortress!
-    export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/
+    export LD_LIBRARY_PATH=\${stdenv.gcc}/lib:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk2}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/:${libsndfile}/lib:$DF_DIR/df_linux/libs/
     \$DF_DIR/df "\$@"
     EOF
 
diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix
new file mode 100644
index 000000000000..2e04c76a990c
--- /dev/null
+++ b/pkgs/games/eternity-engine/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "eternity-engine-3.40.46";
+  src = fetchurl {
+    url = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz;
+    sha256 = "0jq8q0agw7lgab9q2h8wcaakvg913l9j3a6ss0hn9661plkw2yb4";
+  };
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+  '';
+
+  buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+  mkdir -p $out/bin
+  cp source/eternity $out/bin
+  '';
+
+  meta = {
+    homepage = http://doomworld.com/eternity;
+    description = "New school Doom port by James Haley";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index 3db7aecfe1a5..c47a2317b0ef 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,20 +1,26 @@
-{stdenv, fetchurl, ncurses}:
+{stdenv, fetchurl, makeWrapper, ncurses, perl, fortune}:
 
-stdenv.mkDerivation {
-  name = "gtypist-2.9.4";
+stdenv.mkDerivation rec {
+  name = "gtypist-${version}";
+  version = "2.9.5";
 
   src = fetchurl {
-    url = "mirror://gnu/gtypist/gtypist-2.9.4.tar.xz";
-    sha256 = "18f54lh7ihhfvgwk3xd9d087kmganrgi2jd7avhvwn5gcc31vrqq";
+    url = "mirror://gnu/gtypist/gtypist-${version}.tar.xz";
+    sha256 = "0xzrkkmj0b1dw3yr0m9hml2y634cc4h61im6zwcq57s7285z8fn1";
   };
 
-  buildInputs = [ncurses];
+  buildInputs = [ makeWrapper ncurses perl fortune ];
 
-  patchPhase = "sed -e 's#ncursesw/##' -i configure src/*";
+  preFixup = ''
+     wrapProgram "$out/bin/typefortune" \
+       --prefix PATH : "${fortune}/bin" \
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/gtypist;
     description = "Universal typing tutor";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index ff96622cb59c..c26c27aaf021 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z";
+    sha256 = "1kzca8nxz9isb2r5q5pdxhkzy92rdibapzq256sxbaf55zlcg1p2";
   };
 
   buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ];
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 539be06bf7fa..69387f0cfd3a 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
   # reported upstream http://springrts.com/mantis/view.php?id=4305
   #enableParallelBuilding = true; # occasionally missing generated files on Hydra
 
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = ''
     wrapProgram "$out/bin/spring" \
       --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib::${systemd}/lib"
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 2173d12666e5..75bbca67ab07 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -1,12 +1,73 @@
-{ buildFHSChrootEnv, steam
-, xterm, libX11, zenity, python, mesa, xdg_utils, dbus_tools, alsaLib
-}:
+{ buildFHSChrootEnv, config }:
 
 buildFHSChrootEnv {
   name = "steam";
-  pkgs = [ steam xterm libX11 zenity python mesa xdg_utils dbus_tools alsaLib ];
+
+  targetPkgs = pkgs:
+    [ pkgs.steam
+      pkgs.corefonts
+      pkgs.curl
+      pkgs.dbus
+      pkgs.dpkg
+      pkgs.mono
+      pkgs.python
+      pkgs.gnome2.zenity
+      pkgs.xdg_utils
+    ]
+    ++ (if config.steam.java or false then [ pkgs.jdk ] else [ ])
+    ;
+
+  multiPkgs = pkgs:
+    [ pkgs.cairo
+      pkgs.glib
+      pkgs.gtk
+      pkgs.gdk_pixbuf
+      pkgs.pango
+
+      pkgs.freetype
+      pkgs.xlibs.libICE
+      pkgs.xlibs.libSM
+      pkgs.xlibs.libX11
+      pkgs.xlibs.libXau
+      pkgs.xlibs.libxcb
+      pkgs.xlibs.libXcursor
+      pkgs.xlibs.libXdamage
+      pkgs.xlibs.libXdmcp
+      pkgs.xlibs.libXext
+      pkgs.xlibs.libXfixes
+      pkgs.xlibs.libXi
+      pkgs.xlibs.libXinerama
+      pkgs.xlibs.libXrandr
+      pkgs.xlibs.libXrender
+      pkgs.xlibs.libXScrnSaver
+      pkgs.xlibs.libXtst
+      pkgs.xlibs.libXxf86vm
+
+      pkgs.ffmpeg
+      pkgs.libpng12
+      pkgs.mesa
+      pkgs.SDL
+      pkgs.SDL2
+
+      pkgs.libgcrypt
+      pkgs.zlib
+
+      pkgs.alsaLib
+      pkgs.libvorbis
+      pkgs.openal
+      pkgs.pulseaudio
+
+      pkgs.flashplayer
+    ];
+
+  extraBuildCommandsMulti = ''
+    cd usr/lib
+    ln -sf ../lib64/steam steam
+  '';
+
   profile = ''
-    export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib
+    export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64
+    export PATH=$PATH:/usr/bin:/usr/sbin
     export FONTCONFIG_FILE=/etc/fonts/fonts.conf
   '';
 }
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index c1273e9a20f2..9104bb40f777 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -1,118 +1,19 @@
-/*{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc
-, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk
-, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib
-, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio
-, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext
-, dbus_glib, libusb1, networkmanager
-, SDL # World of Goo
-, libvorbis # Osmos
-, curl, mesa # Superbrothers: S&S EP
-, patchelf }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
-let version = "1.0.0.39"; in
-
-stdenv.mkDerivation rec {
-  name = "steam-${version}";
-
-  src = fetchurl {
-    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb";
-    sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk";
-  };
-
-  buildInputs = [ dpkg makeWrapper ];
-
-  phases = "installPhase";
-
-  installPhase = ''
-    mkdir -p $out
-    dpkg-deb -x $src $out
-    cp -r $out/usr/* $out/
-    rm -rf $out/usr
-    substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh"
-    substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/"
-    sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam
-    sed -i '/STEAMSCRIPT/d' $out/bin/steam
-
-    mv $out/bin/steam $out/bin/.steam-wrapped
-    cat > $out/bin/steam << EOF
-
-    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib
-    STEAMBOOTSTRAP=~/.steam/steam/steam.sh
-    if [ -f \$STEAMBOOTSTRAP ]; then
-      PLATFORM32=ubuntu12_32
-      STEAMCONFIG=~/.steam
-      STEAMROOT=~/.local/share/Steam
-      STEAMDATA="\$STEAMROOT"
-      PIDFILE="\$STEAMCONFIG/steam.pid"
-      STEAMBIN32LINK="\$STEAMCONFIG/bin32"
-      STEAMBIN64LINK="\$STEAMCONFIG/bin64"
-      STEAMSDK32LINK="\$STEAMCONFIG/sdk32"
-      STEAMSDK64LINK="\$STEAMCONFIG/sdk64"
-      STEAMROOTLINK="\$STEAMCONFIG/root"
-      STEAMDATALINK="\$STEAMCONFIG/steam"
-      STEAMSTARTING="\$STEAMCONFIG/starting"
-      # Create symbolic links for the Steam API
-      if [ ! -e "\$STEAMCONFIG" ]; then
-          mkdir "\$STEAMCONFIG"
-      fi
-      if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then
-          rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK"
-          rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK"
-          rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK"
-          rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK"
-          rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK"
-          if [ "\$STEAMDATALINK" ]; then
-              rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK"
-          fi
-      fi
-      # Temporary bandaid until everyone has the new libsteam_api.so
-      rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath
-      rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid
-      rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin
-      export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib"
-      export SDL_VIDEO_X11_DGAMOUSE=0
-      cd "\$STEAMROOT"
-      FLASHLINK="\$STEAMCONFIG/bin32/plugins"
-      rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK"
-      LDSO="\$STEAMBIN32LINK/ld.so"
-      cp ${glibc}/lib/ld-linux.so.2 "\$LDSO"
-      chmod u+w "\$LDSO"
-      echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam
-      export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib
-      exec "\$LDSO" "\$STEAMBIN32LINK/steam"
-    else
-      export PATH=${xz}/bin:\$PATH
-      exec $out/bin/.steam-wrapped
-    fi
-    EOF
-
-    chmod +x $out/bin/steam
-  '';
-
-  meta = {
-    description = "A digital distribution platform";
-    homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
-  };
-}
-*/
-
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
   name = "steam-1.0.0.48";
+
   src = fetchurl {
     url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz;
     sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52";
   };
+
   installPhase = ''
     make DESTDIR=$out install
     mv $out/usr/* $out #*/
     rmdir $out/usr
   '';
-  
+
   meta = {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 6a54dd7512f6..2379ac9ecd4e 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 284d420fe7f2..248b58a4e1a5 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -28,9 +28,13 @@ stdenv.mkDerivation rec {
                       --replace "which %s" "${which}/bin/which %s"
   '';
   configureFlags = "--with-backend=qt --with-distributor=NixOS";
+
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = []
     ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A free RTS game, originally developed by Pumpkin Studios";
     longDescription = ''
         Warzone 2100 is an open source real-time strategy and real-time tactics
@@ -44,8 +48,8 @@ stdenv.mkDerivation rec {
       variety of possible units and tactics. 
     '';
     homepage = http://wz2100.net;
-    license = [ "GPLv2+" ];
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.astsmtl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index f618a28b4d60..ffc5e093c218 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Foomatic printing filters";
-    maintainers = stdenv.lib.maintainers.raskin;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2Plus;
   };
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
new file mode 100644
index 000000000000..bf03e1e52aa9
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-4.0.2";
+  src = fetchurl {
+    url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz;
+    sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89";
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
new file mode 100644
index 000000000000..4823d41d1ac2
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -0,0 +1,34 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, git, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-20140902";
+  src = fetchgit {
+    url = git://github.com/dolphin-emu/dolphin.git;
+    rev = "cc6db8cf26c1508ae382912bc25e64aaf12e0543";
+    sha256 = "17pc4kk1v0p1llc12ifih02j2klfjz29qh8nhz5lapb0a1wr6lb3";
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  git libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index 5767786e814a..6ff0a21135a2 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,25 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, cmake, boost, eigen, freeimage, freetype
-, mesa, SDL, dejavu_fonts }:
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
+, freeimage, freetype, mesa, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation rec {
   name = "emulationstation-${version}";
-  version = "1.0.2";
-  src = fetchurl {
-    url = "https://github.com/Aloshi/EmulationStation/archive/v${version}.tar.gz";
-    sha256 = "809d67aaa727809c1426fb543e36bb788ca6a3404f8c46dd1917088b57ab5f50";
-  };
+  version = "2.0.0-rc1";
 
-  buildInputs = [ pkgconfig cmake boost eigen freeimage freetype mesa SDL ];
+  src = fetchFromGitHub {
+    owner = "Aloshi";
+    repo = "EmulationStation";
+    rev = "8739519e1591819cab85e1d2056804d20c197dac";
+    sha256 = "1psq5cqyq2yy1lqxrcj7pfp8szfmzhamxf3111l97w2h2zzcgvq9";
+  };
 
-  prePatch = ''
-    sed -i \
-      -e 's,/usr\(.*\)/ttf-dejavu\(.*\),${dejavu_fonts}\1\2,' src/Font.cpp
-  '';
+  buildInputs = [ pkgconfig cmake alsaLib boost curl eigen freeimage freetype libarchive mesa SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
-    mkdir -p $out/bin
-    mv ../emulationstation $out/bin/.
+    install -D ../emulationstation $out/bin/emulationstation
   '';
 
   meta = {
diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh
index 144c23d39de5..0d01f7dc971f 100644
--- a/pkgs/misc/emulators/higan/builder.sh
+++ b/pkgs/misc/emulators/higan/builder.sh
@@ -18,3 +18,18 @@ install -m 644 ananke/libananke.so $out/lib/libananke.so.1
 (cd $out/lib && ln -s libananke.so.1 libananke.so)
 oldRPath=$(patchelf --print-rpath $out/bin/higan)
 patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan
+
+# A dirty workaround, suggested by @cpages:
+# we create a first-run script to populate
+# the local $HOME with all the auxiliary
+# stuff needed by higan at runtime
+
+cat <<EOF > $out/bin/higan-config.sh
+#!${shell}
+
+cp --update --recursive $out/share/higan \$HOME/.config
+chmod --recursive u+w \$HOME/.config/higan
+
+EOF
+
+chmod +x $out/bin/higan-config.sh
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index aceb55b13967..532eeef2280f 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
 # TODO:
 #   - options to choose profiles (accuracy, balanced, performance)
 #     and different GUIs (gtk2, qt4)
-#   - fix the BML and BIOS paths - maybe a custom patch to Higan project?
+#   - fix the BML and BIOS paths - maybe submitting
+#     a custom patch to Higan project would not be a bad idea...
 #
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index e3bb3965739b..407d96a2bb92 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 , libX11, mesa, freeglut
 , jack2, libcdio, libsndfile, libsamplerate
-, SDL, SDL_net, zlib
-}:
+, SDL, SDL_net, zlib }:
 
 stdenv.mkDerivation rec {
 
@@ -25,11 +24,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/doc/$name *.css *.def *.html *.php *.png *.txt
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix
index d4515b7db031..ce361ef9fbcc 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/misc/emulators/mednafen/server.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/$name standard.conf
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Netplay server for Mednafen";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
new file mode 100644
index 000000000000..f1cef0acc1c2
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -0,0 +1,170 @@
+{ stdenv, fetchgit, pkgconfig, makeWrapper, python27
+, retroarch, fluidsynth, mesa, SDL, libpng, libjpeg, libvorbis, zlib }:
+
+let
+
+  d2u = stdenv.lib.replaceChars ["-"] ["_"];
+
+  mkLibRetroCore = ({ core, src, description, ... }@a:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+
+    name = "libretro-${core}-${version}";
+    version = "20140902";
+    inherit src;
+
+    buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
+
+    buildPhase = "make -f Makefile.libretro";
+    installPhase = ''
+      COREDIR="$out/lib/retroarch/cores"
+      mkdir -p $out/bin
+      mkdir -p $COREDIR
+      mv ${d2u core}_libretro.so $COREDIR/.
+      makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
+        --add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
+    '';
+
+    passthru.libretroCore = "/lib/retroarch/cores";
+
+    meta = with stdenv.lib; {
+      inherit description;
+      homepage = "http://www.libretro.com/";
+      license = licenses.gpl3Plus;
+      maintainers = [ maintainers.edwtjo ];
+      platforms = platforms.linux;
+    };
+  } // a);
+
+  fetchRetro = { repo, rev, sha256 }:
+  fetchgit {
+    inherit rev sha256;
+    url = "https://github.com/libretro/${repo}.git";
+    fetchSubmodules = true;
+  };
+
+in
+
+{
+
+  _4do = (mkLibRetroCore rec {
+    core = "4do";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "961812bc421f3fbfd83ea211783bb511a0b6d31c";
+      sha256 = "0217iq8sj8gn161c3mj632csl1da8ir2ffxxdillpcddv6ppsayl";
+    };
+    description = "Port of 4DO/libfreedo to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  desmume = mkLibRetroCore rec {
+    core = "desmume";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "1dd58e4a9fa375b6909cd8718165a429d4b8bd6d";
+      sha256 = "137bw9316qxm8s6p0bzyvk39dv5b5bn60fgllmyj9z5y8x5lrc9l";
+    };
+    description = "libretro wrapper for desmume NDS emulator";
+  };
+
+  fceumm = mkLibRetroCore rec {
+    core = "fceumm";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "17e081541c9d36d0658e7139afa5b085aa0316c9";
+      sha256 = "0cn74z976rgjh7hf0yb1sdjlm347157893s2z397rgjvks8xssb0";
+    };
+    description = "FCEUmm libretro port";
+  };
+
+  mupen64plus = (mkLibRetroCore rec {
+    core = "mupen64plus";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "2251b3aba2a5bb233ff49dd9b6472f2c0feb9b83";
+      sha256 = "04g93kj6n5vddbzfb30d8n711kg0yxfnl5v567aa854misn6gfxd";
+    };
+    description = "Libretro port of Mupen64 Plus, GL only";
+
+    extraBuildInputs = [ mesa ];
+  }).override {
+    buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
+  };
+
+  scummvm = (mkLibRetroCore rec {
+    core = "scummvm";
+    src = fetchRetro {
+      repo = core;
+      rev = "c00247171ba8201614e85556c638b8825dc9f225";
+      sha256 = "1wir3x928b37va6gn14bmwsydkpk4afma5hppmbivw4qp8mj25pa";
+    };
+    description = "Libretro port of ScummVM";
+
+    extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
+  }).override {
+    buildPhase = "cd backends/platform/libretro/build/;make";
+  };
+
+  snes9x-next = mkLibRetroCore rec {
+    core = "snes9x-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "461d92be09e1857d215f51aeea448a8e180bbfdd";
+      sha256 = "0ci453qsyrv3brmy2szngis2xyvxilcv9yhc2qjz285mirg6fj57";
+    };
+    description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
+  };
+
+  stella = (mkLibRetroCore rec {
+    core = "stella";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "c7ee7ca7e8a29c986f49306c75832972f5749f72";
+      sha256 = "15wy9h3a2qk66lh8x40b3a9il0zkdflqil1h51zjmhq2zzsq8p95";
+    };
+    description = "Port of Stella to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  picodrive = (mkLibRetroCore rec {
+    core = "picodrive";
+    src = fetchRetro {
+      repo = core;
+      rev = "d84817550ac064fbba7ee718fb3baeda7d5546da";
+      sha256 = "17zh9m2v7h1cifzz8dcwqm4wn94zyhz6g85gf0aw6xylxahza627";
+    };
+    description = "Fast MegaDrive/MegaCD/32X emulator";
+
+    extraBuildInputs = [ libpng SDL ];
+  }).override {
+    patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure";
+    configurePhase = "./configure";
+  };
+
+  ppsspp = (mkLibRetroCore rec {
+    core = "ppsspp";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "6ee828171218b26e124c5e8fa7877e6ee1d5ff79";
+      sha256 = "1559d4k3h0a2dv3684j4w924p2dg8z2j1fwhy7w9mhb5z4kddjhk";
+    };
+    description = "ppsspp libretro port";
+
+    extraBuildInputs = [ mesa ];
+  }).override{
+    buildPhase = "cd libretro && make";
+  };
+
+  vba-next = mkLibRetroCore rec {
+    core = "vba-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "fb095107f83df5f93b8ba4833eaf43901f42c0c0";
+      sha256 = "0fvq1dfll27vjbmyh4qsp2nw166jsd91sjmf1sl84z56ab3q3iw8";
+    };
+    description = "VBA-M libretro port";
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 8bc53da8f0c8..d110f2b789e2 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "retroarch-0.9.9.7";
+  name = "retroarch-bare-0.9.9.7";
 
   src = fetchgit {
     url = "https://github.com/libretro/RetroArch.git";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     configureFlags="--global-config-dir=$out/etc"
   '';
- 
+
   meta = {
     description = "Modular multi-system game/emulator system";
     homepage = "http://www.libretro.com/";
diff --git a/pkgs/misc/emulators/retroarch/master.nix b/pkgs/misc/emulators/retroarch/master.nix
new file mode 100644
index 000000000000..2efb43e5d5ee
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/master.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
+, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
+, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "retroarch-bare-${version}";
+  version = "20140902";
+
+  src = fetchgit {
+    url = git://github.com/libretro/RetroArch.git;
+    rev = "0856091296c2e47409f36e13007805d71db69483";
+    sha256 = "152dfp6jd7yzvasqrqw4ydjbdcwq4khisia2dax3gydvxkq87nl4";
+  };
+
+  buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
+                  python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ];
+
+  patchPhase = ''
+    export GLOBAL_CONFIG_DIR=$out/etc
+    sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://libretro.org/;
+    description = "Multi-platform emulator frontend for libretro cores";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
new file mode 100644
index 000000000000..f7e903ef5290
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, makeWrapper, retroarch, cores }:
+
+let
+
+  p = builtins.parseDrvName retroarch.name;
+
+in
+
+stdenv.mkDerivation {
+  name = "retroarch-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/lib
+    $(for coreDir in $cores
+    do
+      $(ln -s $coreDir/*.so $out/lib/.)
+    done)
+    makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
+      --suffix-each LD_LIBRARY_PATH ':' "$cores" \
+      --add-flags "-L $out/lib/ --menu" \
+  '';
+
+  cores = map (x: x + x.libretroCore) cores;
+  preferLocalBuild = true;
+
+  meta = with retroarch.meta; {
+    inherit license homepage;
+    description = description
+                  + " (with cores: "
+                  + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores))
+                  + ")";
+  };
+}
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
new file mode 100644
index 000000000000..768d018ba51b
--- /dev/null
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig
+, SDL2 }:
+
+stdenv.mkDerivation rec {
+
+  name = "stella-${version}";
+  version = "4.0";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz";
+    sha256 = "1j96sj2qflq3agb7fvb08ih3pxy8nsvlkwj40q3n00q9k884ad5w";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig SDL2 ];
+
+  meta = with stdenv.lib; {
+    description = "An open-source Atari 2600 VCS emulator";
+    longDescription = ''
+    Stella is a multi-platform Atari 2600 VCS emulator released under
+    the GNU General Public License (GPL). Stella was originally
+    developed for Linux by Bradford W. Mott, and is currently
+    maintained by Stephen Anthony.
+    As of its 3.5 release, Stella is officialy donationware. 
+    '';
+    homepage = http://stella.sourceforge.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/phabricator/default.nix b/pkgs/misc/phabricator/default.nix
new file mode 100644
index 000000000000..3162dd0079d0
--- /dev/null
+++ b/pkgs/misc/phabricator/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, pkgs, ...  }:
+
+stdenv.mkDerivation rec {
+  version = "2014-07-16";
+  name = "phabricator-${version}";
+  srcLibphutil = pkgs.fetchgit {
+      url = git://github.com/facebook/libphutil.git;
+      rev = "48a04395363d6c1dd9f66057bd11fd70d4665ba9";
+      sha256 = "d570d2c1e68471c2eda35b8722d8083bcc13163fbd5c944529464f2c7b55a2e5";
+  };
+  srcArcanist = pkgs.fetchgit {
+      url = git://github.com/facebook/arcanist.git;
+      rev = "97501da16416fbfdc6e84bd60abcbf5ad9506225";
+      sha256 = "9031c4ae228bdc986131e0c93c98fb73290bb0e297be1ec32f22ab09cdacafa3";
+  };
+  srcPhabricator = pkgs.fetchgit {
+      url = git://github.com/phacility/phabricator.git;
+      rev = "7ac5abb97934f7399b67762aa98f59f667711bf3";
+      sha256 = "6a1d449597ae4432e40a3e6cdb14e3a5a8a40e019f3930493064c35911f2adcc";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cp -R ${srcLibphutil} $out/libphutil
+    cp -R ${srcArcanist} $out/arcanist
+    cp -R ${srcPhabricator} $out/phabricator
+  '';
+}
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 047917498100..40fad768b169 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -41,5 +41,8 @@ stdenv.mkDerivation rec {
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
     platforms = with stdenv.lib.platforms; allBut cygwin;
+    inherit version;
+    downloadPage = "http://www.jwz.org/xscreensaver/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
new file mode 100644
index 000000000000..34141c91f91f
--- /dev/null
+++ b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl
+, cmake, dbus_glib, glib, gtk3, gdk_pixbuf, pkgconfig, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.4.0";
+  name = "oxygen-gtk3-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/oxygen-gtk3/${version}/src/${name}.tar.bz2";
+    sha256 = "d119bcc94ffc04b67e7d238fc922b37f2904447085a06758451b8c0b0302ab80";
+  };
+
+  buildInputs = [ cmake dbus_glib glib gtk3 gdk_pixbuf
+   pkgconfig xorg.libXau xorg.libXdmcp xorg.libpthreadstubs
+   xorg.libxcb xorg.pixman ];
+
+  meta = with stdenv.lib; {
+    description = "Port of the default KDE widget theme (Oxygen), to gtk 3";
+    homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk;
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 0fc799225153..b815cd778fa4 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://sourceforge.net/projects/acpiclient/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index fee955bcca21..f7b2a984e406 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2013.4.0"; in
+let base = "batman-adv-2014.3.0"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4";
+    sha1 = "wh3if8v4wfwskvzwqsjsyr929krzfmsx";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index d6513f7ebb53..036ece4627bc 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://fuse.sourceforge.net/;
     description = "Kernel module and library that allows filesystems to be implemented in user space";
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
index 87e8fa5b074e..404d785146c3 100644
--- a/pkgs/os-specific/linux/gradm/default.nix
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name    = "gradm-${version}";
-  version = "3.0-201405281853";
+  version = "3.0-201408301734";
 
   src  = fetchurl {
     url    = "http://grsecurity.net/stable/${name}.tar.gz";
-    sha256 = "0yjmbjhm71cik5j8h2prgk40wki3sflwbf2zqmc4pwaqlvis9s2f";
+    sha256 = "171i1jyw82dnv2fi4dnh40dw1wa5hrllnpjf181cafnzxjpyb45i";
   };
 
   buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ];
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ab01231f3349..a3b2f23c8c78 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libnl, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "iw-3.14";
+  name = "iw-3.15";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz";
-    sha256 = "16fr13cl02702d9yjqlgvnxvpv0w0mqn0acba39iwn2lln5b4747";
+    sha256 = "12jby9nv5nypadgdksbqw0y2kfm3j47zw7a3rwmy56d7rs90lp5x";
   };
 
   buildInputs = [ libnl pkgconfig ];
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 8fa684e407cf..e888afc2c6d2 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.53";
+  version = "3.10.54";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
+    sha256 = "0rhwdkw0ia8bpi237006y0m84vfvqz38l0z2dvqy2shg8ywf24ya";
   };
 
   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 c67c531667a5..2c448cfb20d7 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.27";
+  version = "3.12.28";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0c8psz9k6k413b48dphclqs6wkh9wiwf5nslykg27afdqd6v4ycc";
+    sha256 = "1b9lnnmsamlgr1712q9qj258p0d4lxn39hjd09baaqki69jmfzdy";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 74d83345ec14..5dc570f1998e 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.17";
+  version = "3.14.18";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
+    sha256 = "0i0b35qmpxvfkflf079dhfx3yfjbh0dgqs7qzxrhs9sw4jf73z75";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
index be2e68ab81e3..c41e1bce1070 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.16.1";
+  version = "3.16.2";
   extraMeta.branch = "3.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
+    sha256 = "16l5l099qv367d3gknpbycgrakli2mdklvgaifsn3hcrrjs44ybf";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index c91b8ddfb44d..d0794b23421c 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -60,17 +60,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.17";
-      revision  = "201408260041";
+    { kversion  = "3.14.18";
+      revision  = "201409060013";
       branch    = "stable";
-      sha256    = "1brcfxbdd5f29vci3bj2dk3878z24ncrjw268j4i1n8ms65jqda0";
+      sha256    = "0dlri42z8rihhib0ahagia8z2ga4di1mc8y63n3s7ja0f2bvzy19";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.15.10";
-      revision  = "201408212335";
+    { kversion  = "3.16.2";
+      revision  = "201409060014";
       branch    = "test";
-      sha256    = "0ynnci7jms5a1acn8cpdw4w2j4jz5xai1da5w1l5r65909kwmx0k";
+      sha256    = "1fnvmzfjpx74g5r1nilnynjyp18s5nnyw78znxdn33xxr5kdfzr4";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index df44cb68d8bd..b948dbff2c1d 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, kernelHeaders, kernel, perl }:
 
 let
-  version = "2.0.3";
+  version = "2.0.4";
 
   commonMakeFlags = [
     "prefix=$(out)"
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
-    sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa";
+    sha256 = "7f9a0850586def7cf4faeeb75e5d0f66e613674c524f6e77b0f4d93a26c801cb";
   };
 
   patches = [ ./no-reinstall-kernel-headers.patch ];
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
new file mode 100644
index 000000000000..2e25c0383b7b
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, openssl, python27, iproute, perl, kernel ? null}:
+let
+
+  version = "2.1.2";
+
+  skipKernelMod = kernel == null;
+
+in
+stdenv.mkDerivation {
+  version = "2.1.2";
+  name = "openvswitch-${version}";
+  src = fetchurl {
+    url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz";
+    sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47";
+  };
+  kernel = if skipKernelMod then null else kernel.dev;
+  buildInputs = [
+    openssl
+    python27
+    perl
+  ];
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sharedstatedir=/var"
+    "--sbindir=$(out)/bin"
+  ] ++ (if skipKernelMod then [] else ["--with-linux"]);
+  # Leave /var out of this!
+  installFlags = [
+    "LOGDIR=$(TMPDIR)/dummy"
+    "RUNDIR=$(TMPDIR)/dummy"
+    "PKIDIR=$(TMPDIR)/dummy"
+  ];
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+    description = "A multilayer virtual switch";
+    longDescription = 
+      ''
+      Open vSwitch is a production quality, multilayer virtual switch 
+      licensed under the open source Apache 2.0 license. It is 
+      designed to enable massive network automation through 
+      programmatic extension, while still supporting standard 
+      management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, 
+      RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to 
+      support distribution across multiple physical servers similar 
+      to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+      '';
+    homepage = "http://openvswitch.org/";
+    licence = "Apache 2.0";
+  };
+}
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index ad60e63c263b..0c182b5baa69 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
       pam_krb5 can optionally convert Kerberos 5 credentials to Kerberos IV
       credentials and/or use them to set up AFS tokens for a user's session.
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix
index 8e70ddd84349..148048f6505b 100644
--- a/pkgs/os-specific/linux/paxctl/default.nix
+++ b/pkgs/os-specific/linux/paxctl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "paxctl-${version}";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchurl {
     url = "http://pax.grsecurity.net/${name}.tar.gz";
-    sha256 = "107gmriq5icsk9yni5q949rnjapjkcs0823pw6zra6h1xml2f0mm";
+    sha256 = "0biw882fp1lmgs6kpxznp1v6758r7dg9x8iv5a06k0b82bcdsc53";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
new file mode 100644
index 000000000000..0f0967079dfb
--- /dev/null
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "1.0.3.1";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-linux-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz";
+    sha256 = "1s17g03z5hfpiz32g001g5wyamyvn9l36fr2csk3k7r0jkqfnl0d";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "admin/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-linux-utils/;
+    description = "A set of minimalistic Linux-specific system utilities.";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/os-specific/linux/smem/default.nix b/pkgs/os-specific/linux/smem/default.nix
new file mode 100644
index 000000000000..a61a54afc38e
--- /dev/null
+++ b/pkgs/os-specific/linux/smem/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "smem-1.4";
+
+  src = fetchurl {
+    url = "http://www.selenic.com/smem/download/${name}.tar.gz";
+    sha256 = "1v31vy23s7szl6vdrllq9zbg58bp36jf5xy3fikjfg6gyiwgia9f";
+  };
+
+  buildInputs = [ python ];
+
+  buildPhase =
+    ''
+      gcc -O2 smemcap.c -o smemcap
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp smem smemcap $out/bin/
+
+      mkdir -p $out/share/man/man8
+      cp smem.8 $out/share/man/man8/
+    '';
+
+  meta = {
+    homepage = http://www.selenic.com/smem/;
+    description = "A memory usage reporting tool that takes shared memory into account";
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 4abbb4c45b43..80677a52a32b 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -10,7 +10,7 @@ let
   };
   buildInputs = [
     cmake zlib luajit
-  ] ++ optional (kernel != null) kernel;
+  ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
@@ -30,6 +30,10 @@ stdenv.mkDerivation {
   '';
   postInstall = optionalString (kernel != null) ''
     make install_driver
+    kernel_dev=${kernel.dev}
+    kernel_dev=''${kernel_dev#/nix/store/}
+    kernel_dev=''${kernel_dev%%-linux*dev*}
+    sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 7410c87e277e..72cf0e92bb84 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -1,7 +1,25 @@
 diff --git a/Makefile.am b/Makefile.am
-index 3d9e5c1..4d43cb4 100644
+index 3d9e5c1..46487f6 100644
 --- a/Makefile.am
 +++ b/Makefile.am
+@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \
+ 
+ src/shared/errno-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }'  > $@
++	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }'  > $@
+ 
+ src/shared/errno-from-name.gperf: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf
+ 
+ src/shared/errno-to-name.h: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
++	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+ 
+ src/shared/af-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
 @@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \
  endif
  
@@ -13,8 +31,42 @@ index 3d9e5c1..4d43cb4 100644
  	systemd-tmpfiles-setup.service
  
  dist_zshcompletion_DATA += \
+@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \
+ 	src/cgls/cgls.c
+ 
+ systemd_cgls_LDADD = \
++	libsystemd-internal.la \
+ 	libsystemd-shared.la
+ 
+ # ------------------------------------------------------------------------------
+diff --git a/TODO b/TODO
+index e2ca1e6..d7efdd5 100644
+--- a/TODO
++++ b/TODO
+@@ -1,4 +1,6 @@
+ Bugfixes:
++* Should systemctl status \* work on all unit types, not just .service?
++
+ * enabling an instance unit creates a pointless link, and
+   the unit will be started with getty@getty.service:
+     $ systemctl enable getty@.service
+diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
+index c675b5b..4c300da 100644
+--- a/rules/42-usb-hid-pm.rules
++++ b/rules/42-usb-hid-pm.rules
+@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!=
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ 
+-# Catch-all for Avocent HID devices. Keyed off interface in order to only
+-# trigger on HID class devices.
+-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
+-
+ # Dell DRAC 4
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
+ 
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index db72373..2fc12ca 100644
+index db72373..2875958 100644
 --- a/rules/99-systemd.rules.in
 +++ b/rules/99-systemd.rules.in
 @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
@@ -28,11 +80,329 @@ index db72373..2fc12ca 100644
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
+@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k"
+ 
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target"
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
+ SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target"
+ 
+ SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target"
+diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
+index b8e275d..1840594 100644
+--- a/src/cgls/cgls.c
++++ b/src/cgls/cgls.c
+@@ -35,6 +35,10 @@
+ #include "build.h"
+ #include "output-mode.h"
+ #include "fileio.h"
++#include "sd-bus.h"
++#include "bus-util.h"
++#include "bus-error.h"
++#include "unit-name.h"
+ 
+ static bool arg_no_pager = false;
+ static bool arg_kernel_threads = false;
+@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) {
+         int r = 0, retval = EXIT_FAILURE;
+         int output_flags;
+         char _cleanup_free_ *root = NULL;
++        _cleanup_bus_unref_ sd_bus *bus = NULL;
+ 
+         log_parse_environment();
+         log_open();
+@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) {
+                 arg_all * OUTPUT_SHOW_ALL |
+                 (arg_full > 0) * OUTPUT_FULL_WIDTH;
+ 
++        r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
++        if (r < 0) {
++                log_error("Failed to create bus connection: %s", strerror(-r));
++                goto finish;
++        }
++
+         if (optind < argc) {
+                 int i;
+ 
+@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) {
+                 } else {
+                         if (arg_machine) {
+                                 char *m;
++                                const char *cgroup;
++                                _cleanup_free_ char *scope = NULL;
++                                _cleanup_free_ char *path = NULL;
++                                _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
++                                _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
++
+                                 m = strappenda("/run/systemd/machines/", arg_machine);
+-                                r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL);
++                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
++                                if (r < 0) {
++                                        log_error("Failed to get machine path: %s", strerror(-r));
++                                        goto finish;
++                                }
++
++                                path = unit_dbus_path_from_name(scope);
++                                if (!path) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
++                                r = sd_bus_get_property(
++                                                bus,
++                                                "org.freedesktop.systemd1",
++                                                path,
++                                                "org.freedesktop.systemd1.Scope",
++                                                "ControlGroup",
++                                                &error,
++                                                &reply,
++                                                "s");
++
++                                if (r < 0) {
++                                        log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r));
++                                        goto finish;
++                                }
++
++                                r = sd_bus_message_read(reply, "s", &cgroup);
++                                if (r < 0) {
++                                        bus_log_parse_error(r);
++                                        goto finish;
++                                }
++
++                                root = strdup(cgroup);
++                                if (!root) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
+                         } else
+                                 r = cg_get_root_path(&root);
+                         if (r < 0) {
+diff --git a/src/core/cgroup.c b/src/core/cgroup.c
+index 3dd4c91..4201e1e 100644
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) {
+         safe_close(m->pin_cgroupfs_fd);
+ 
+         m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
+-        if (r < 0) {
++        if (m->pin_cgroupfs_fd < 0) {
+                 log_error("Failed to open pin file: %m");
+                 return -errno;
+         }
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 775825b..5b1c4e3 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -173,6 +173,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_CPUACCT;
+                         unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no");
+                 }
+ 
+@@ -192,6 +193,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_shares = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_CPU;
+                         unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul);
+                 }
+ 
+@@ -206,6 +208,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no");
+                 }
+ 
+@@ -225,6 +228,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_weight = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul);
+                 }
+ 
+@@ -294,6 +298,8 @@ int bus_cgroup_set_property(
+                                                 cgroup_context_free_blockio_device_bandwidth(c, a);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -375,6 +381,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -398,6 +406,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no");
+                 }
+ 
+@@ -412,6 +421,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_limit = limit;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit);
+                 }
+ 
+@@ -433,6 +443,7 @@ int bus_cgroup_set_property(
+                         char *buf;
+ 
+                         c->device_policy = p;
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
+ 
+                         buf = strappenda("DevicePolicy=", policy);
+                         unit_write_drop_in_private(u, mode, name, buf);
+@@ -511,6 +522,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_device_allow(c, c->device_allow);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 13b3d0d..37d4154 100644
+--- a/src/core/dbus-execute.c
++++ b/src/core/dbus-execute.c
+@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property(
+                         strv_free(c->environment);
+                         c->environment = e;
+ 
+-                        joined = strv_join(c->environment, " ");
++                        joined = strv_join_quoted(c->environment);
+                         if (!joined)
+                                 return -ENOMEM;
+ 
+diff --git a/src/core/job.c b/src/core/job.c
+index 35a9de6..dc4f441 100644
+--- a/src/core/job.c
++++ b/src/core/job.c
+@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) {
+         if (r < 0)
+                 return r;
+ 
++        if (j->state == JOB_WAITING)
++                job_add_to_run_queue(j);
++
+         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
+                 return 0;
+ 
+diff --git a/src/core/killall.c b/src/core/killall.c
+index 57ed41c..eab48f7 100644
+--- a/src/core/killall.c
++++ b/src/core/killall.c
+@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
+                         continue;
+ 
+                 if (sig == SIGKILL) {
+-                        _cleanup_free_ char *s;
++                        _cleanup_free_ char *s = NULL;
+ 
+                         get_process_comm(pid, &s);
+                         log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
+diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
+index d459afe..2a58e48 100644
+--- a/src/core/machine-id-setup.c
++++ b/src/core/machine-id-setup.c
+@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) {
+                 }
+         }
+ 
+-        /* If that didn't work, see if we are running in qemu/kvm and a
+-         * machine ID was passed in via -uuid on the qemu/kvm command
+-         * line */
+-
+-        r = detect_vm(&vm_id);
+-        if (r > 0 && streq(vm_id, "kvm")) {
+-                char uuid[37];
+-
+-                fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
+-                if (fd >= 0) {
+-                        k = loop_read(fd, uuid, 36, false);
+-                        safe_close(fd);
+-
+-                        if (k >= 36) {
+-                                r = shorten_uuid(id, uuid);
+-                                if (r >= 0) {
+-                                        log_info("Initializing machine ID from KVM UUID.");
+-                                        return 0;
+-                                }
+-                        }
+-                }
+-        }
+-
+-        /* If that didn't work either, see if we are running in a
+-         * container, and a machine ID was passed in via
+-         * $container_uuid the way libvirt/LXC does it */
++        /* If that didn't work, see if we are running in a container,
++         * and a machine ID was passed in via $container_uuid the way
++         * libvirt/LXC does it */
+         r = detect_container(NULL);
+         if (r > 0) {
+                 _cleanup_free_ char *e = NULL;
+@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) {
+                                 }
+                         }
+                 }
++
++        } else {
++                /* If we are not running in a container, see if we are
++                 * running in qemu/kvm and a machine ID was passed in
++                 * via -uuid on the qemu/kvm command line */
++
++                r = detect_vm(&vm_id);
++                if (r > 0 && streq(vm_id, "kvm")) {
++                        char uuid[37];
++
++                        fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
++                        if (fd >= 0) {
++                                k = loop_read(fd, uuid, 36, false);
++                                safe_close(fd);
++
++                                if (k >= 36) {
++                                        r = shorten_uuid(id, uuid);
++                                        if (r >= 0) {
++                                                log_info("Initializing machine ID from KVM UUID.");
++                                                return 0;
++                                        }
++                                }
++                        }
++                }
+         }
+ 
+         /* If that didn't work, generate a random machine id */
 diff --git a/src/core/main.c b/src/core/main.c
-index 41605ee..8517369 100644
+index 41605ee..c65701d 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1883,7 +1883,7 @@ finish:
+@@ -1840,6 +1840,7 @@ finish:
+         if (reexecute) {
+                 const char **args;
+                 unsigned i, args_size;
++                sigset_t ss;
+ 
+                 /* Close and disarm the watchdog, so that the new
+                  * instance can reinitialize it, but doesn't get
+@@ -1883,7 +1884,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
@@ -41,6 +411,83 @@ index 41605ee..8517369 100644
                          if (switch_root_dir)
                                  args[i++] = "--switched-root";
                          args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
+@@ -1923,6 +1924,13 @@ finish:
+                 args[i++] = NULL;
+                 assert(i <= args_size);
+ 
++                /* reenable any blocked signals, especially important
++                 * if we switch from initial ramdisk to init=... */
++                reset_all_signal_handlers();
++
++                assert_se(sigemptyset(&ss) == 0);
++                assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
++
+                 if (switch_root_init) {
+                         args[0] = switch_root_init;
+                         execv(args[0], (char* const*) args);
+diff --git a/src/core/manager.c b/src/core/manager.c
+index 224106c..7342095 100644
+--- a/src/core/manager.c
++++ b/src/core/manager.c
+@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
+                 return -ENOMEM;
+ 
+ #ifdef ENABLE_EFI
+-        if (detect_container(NULL) <= 0)
++        if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0)
+                 boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
+ #endif
+ 
+@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
+                 if (u->id != t)
+                         continue;
+ 
+-                if (!unit_can_serialize(u))
+-                        continue;
+-
+                 /* Start marker */
+                 fputs(u->id, f);
+                 fputc('\n', f);
+diff --git a/src/core/namespace.c b/src/core/namespace.c
+index 9f15211..e41cf5b 100644
+--- a/src/core/namespace.c
++++ b/src/core/namespace.c
+@@ -42,6 +42,7 @@
+ #include "mkdir.h"
+ #include "dev-setup.h"
+ #include "def.h"
++#include "label.h"
+ 
+ typedef enum MountMode {
+         /* This is ordered by priority! */
+@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) {
+         STRV_FOREACH(i, strv) {
+ 
+                 (*p)->ignore = false;
++                (*p)->done = false;
+ 
+                 if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') {
+                         (*p)->ignore = true;
+@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) {
+                         goto fail;
+                 }
+ 
++                label_context_set(d, st.st_mode);
+                 r = mknod(dn, st.st_mode, st.st_rdev);
++                label_context_clear();
++
+                 if (r < 0) {
+                         r = -errno;
+                         goto fail;
+@@ -350,7 +355,7 @@ int setup_namespace(
+                 private_dev;
+ 
+         if (n > 0) {
+-                m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
++                m = mounts = (BindMount *) alloca0(n * sizeof(BindMount));
+                 r = append_mounts(&m, read_write_dirs, READWRITE);
+                 if (r < 0)
+                         return r;
 diff --git a/src/core/service.c b/src/core/service.c
 index ae3695a..6b3aa45 100644
 --- a/src/core/service.c
@@ -58,7 +505,7 @@ index ae3695a..6b3aa45 100644
                  log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id);
                  return -EINVAL;
 diff --git a/src/core/socket.c b/src/core/socket.c
-index 7c18a2b..eba67d5 100644
+index 7c18a2b..1a560a6 100644
 --- a/src/core/socket.c
 +++ b/src/core/socket.c
 @@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
@@ -96,6 +543,115 @@ index 7c18a2b..eba67d5 100644
                  break;
          }
  
+@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
+                        NULL,
+                        s->exec_runtime,
+                        &pid);
++        if (r < 0)
++                goto fail;
+ 
+         strv_free(argv);
+         if (r < 0)
+@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) {
+                         }
+ 
+                 if (!pending) {
++                        if (!UNIT_ISSET(s->service)) {
++                                log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
++                                r = -ENOENT;
++                                goto fail;
++                        }
++
+                         r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
+                         if (r < 0)
+                                 goto fail;
+diff --git a/src/core/timer.c b/src/core/timer.c
+index 6c85304..720b8af 100644
+--- a/src/core/timer.c
++++ b/src/core/timer.c
+@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) {
+         return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ }
+ 
++static void update_stampfile(Timer *t, usec_t timestamp) {
++        _cleanup_close_ int fd = -1;
++
++        mkdir_parents_label(t->stamp_path, 0755);
++
++        /* Update the file atime + mtime, if we can */
++        fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
++        if (fd >= 0) {
++                struct timespec ts[2];
++
++                timespec_store(&ts[0], timestamp);
++                ts[1] = ts[0];
++
++                futimens(fd, ts);
++        }
++}
++
+ static int timer_setup_persistent(Timer *t) {
+         int r;
+ 
+@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) {
+ 
+                 e = getenv("XDG_DATA_HOME");
+                 if (e)
+-                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
++                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
+                 else {
+ 
+                         _cleanup_free_ char *h = NULL;
+@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) {
+ 
+         dual_timestamp_get(&t->last_trigger);
+ 
+-        if (t->stamp_path) {
+-                _cleanup_close_ int fd = -1;
+-
+-                mkdir_parents_label(t->stamp_path, 0755);
+-
+-                /* Update the file atime + mtime, if we can */
+-                fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
+-                if (fd >= 0) {
+-                        struct timespec ts[2];
+-
+-                        timespec_store(&ts[0], t->last_trigger.realtime);
+-                        ts[1] = ts[0];
+-
+-                        futimens(fd, ts);
+-                }
+-        }
++        if (t->stamp_path)
++                update_stampfile(t, t->last_trigger.realtime);
+ 
+         timer_set_state(t, TIMER_RUNNING);
+         return;
+@@ -539,6 +542,11 @@ static int timer_start(Unit *u) {
+ 
+                 if (stat(t->stamp_path, &st) >= 0)
+                         t->last_trigger.realtime = timespec_load(&st.st_atim);
++                else if (errno == ENOENT)
++                        /* The timer has never run before,
++                         * make sure a stamp file exists.
++                         */
++                        update_stampfile(t, now(CLOCK_REALTIME));
+         }
+ 
+         t->result = TIMER_SUCCESS;
+diff --git a/src/core/transaction.c b/src/core/transaction.c
+index d00f427..2befc32 100644
+--- a/src/core/transaction.c
++++ b/src/core/transaction.c
+@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
+                                       "Found dependency on %s/%s",
+                                       k->unit->id, job_type_to_string(k->type));
+ 
+-                        if (!delete &&
++                        if (!delete && hashmap_get(tr->jobs, k->unit) &&
+                             !unit_matters_to_anchor(k->unit, k)) {
+                                 /* Ok, we can drop this one, so let's
+                                  * do so. */
 diff --git a/src/core/umount.c b/src/core/umount.c
 index d1258f0..0311812 100644
 --- a/src/core/umount.c
@@ -109,6 +665,195 @@ index d1258f0..0311812 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
+diff --git a/src/core/unit.c b/src/core/unit.c
+index 153b79b..ed52694 100644
+--- a/src/core/unit.c
++++ b/src/core/unit.c
+@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) {
+ }
+ 
+ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) {
+-        ExecRuntime *rt;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+-        r = UNIT_VTABLE(u)->serialize(u, f, fds);
+-        if (r < 0)
+-                return r;
++        if (unit_can_serialize(u)) {
++                ExecRuntime *rt;
+ 
+-        rt = unit_get_exec_runtime(u);
+-        if (rt) {
+-                r = exec_runtime_serialize(rt, u, f, fds);
++                r = UNIT_VTABLE(u)->serialize(u, f, fds);
+                 if (r < 0)
+                         return r;
++
++                rt = unit_get_exec_runtime(u);
++                if (rt) {
++                        r = exec_runtime_serialize(rt, u, f, fds);
++                        if (r < 0)
++                                return r;
++                }
+         }
+ 
+         dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp);
+@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) {
+ }
+ 
+ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+-        size_t offset;
+         ExecRuntime **rt = NULL;
++        size_t offset;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+         offset = UNIT_VTABLE(u)->exec_runtime_offset;
+         if (offset > 0)
+                 rt = (ExecRuntime**) ((uint8_t*) u + offset);
+@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+                         if (!s)
+                                 return -ENOMEM;
+ 
+-                        free(u->cgroup_path);
+-                        u->cgroup_path = s;
++                        if (u->cgroup_path) {
++                                void *p;
+ 
++                                p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
++                                log_info("Removing cgroup_path %s from hashmap (%p)",
++                                         u->cgroup_path, p);
++                                free(u->cgroup_path);
++                        }
++
++                        u->cgroup_path = s;
+                         assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
++
+                         continue;
+                 }
+ 
+-                if (rt) {
+-                        r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                if (unit_can_serialize(u)) {
++                        if (rt) {
++                                r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                                if (r < 0)
++                                        return r;
++                                if (r > 0)
++                                        continue;
++                        }
++
++                        r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+                         if (r < 0)
+                                 return r;
+-                        if (r > 0)
+-                                continue;
+                 }
+-
+-                r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+-                if (r < 0)
+-                        return r;
+         }
+ }
+ 
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index 75d56dd..be8fb2f 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -29,6 +29,7 @@
+ #include "mkdir.h"
+ #include "strv.h"
+ #include "fileio.h"
++#include "path-util.h"
+ 
+ static const char *arg_dest = "/tmp";
+ static bool arg_enabled = true;
+@@ -144,16 +145,19 @@ static int create_disk(
+                         if (!uu)
+                                 return log_oom();
+ 
+-                        if (is_device_path(uu)) {
+-                                _cleanup_free_ char *dd;
++                        if (!path_equal(uu, "/dev/null")) {
+ 
+-                                dd = unit_name_from_path(uu, ".device");
+-                                if (!dd)
+-                                        return log_oom();
++                                if (is_device_path(uu)) {
++                                        _cleanup_free_ char *dd;
+ 
+-                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
+-                        } else
+-                                fprintf(f, "RequiresMountsFor=%s\n", password);
++                                        dd = unit_name_from_path(uu, ".device");
++                                        if (!dd)
++                                                return log_oom();
++
++                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
++                                } else
++                                        fprintf(f, "RequiresMountsFor=%s\n", password);
++                        }
+                 }
+         }
+ 
+@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
+         } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) {
+ 
+                 free(arg_keyfile);
+-                arg_keyfile = strdup(key);
++                arg_keyfile = strdup(value);
+                 if (!arg_keyfile)
+                         return log_oom();
+ 
+diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
+index 9b9074c..ad6c76c 100644
+--- a/src/cryptsetup/cryptsetup.c
++++ b/src/cryptsetup/cryptsetup.c
+@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) {
+                         return 0;
+                 }
+ 
++                if (arg_key_size % 8) {
++                        log_error("size= not a multiple of 8, ignoring.");
++                        return 0;
++                }
++
++                arg_key_size /= 8;
++
+         } else if (startswith(option, "key-slot=")) {
+ 
+                 arg_type = CRYPT_LUKS1;
+@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
+                 /* for CRYPT_PLAIN limit reads
+                  * from keyfile to key length, and
+                  * ignore keyfile-size */
+-                arg_keyfile_size = arg_key_size / 8;
++                arg_keyfile_size = arg_key_size;
+ 
+                 /* In contrast to what the name
+                  * crypt_setup() might suggest this
+@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) {
+                 else
+                         until = 0;
+ 
+-                arg_key_size = (arg_key_size > 0 ? arg_key_size : 256);
++                arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
+ 
+                 if (key_file) {
+                         struct stat st;
 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
 index 18f2aca..2a2b1ea 100644
 --- a/src/fsck/fsck.c
@@ -131,11 +876,715 @@ index 18f2aca..2a2b1ea 100644
          cmdline[i++] = "-a";
          cmdline[i++] = "-T";
          cmdline[i++] = "-l";
+diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
+index 6a4aa2c..700e90a 100644
+--- a/src/getty-generator/getty-generator.c
++++ b/src/getty-generator/getty-generator.c
+@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) {
+ 
+         log_debug("Automatically adding serial getty for /dev/%s.", tty);
+ 
+-        n = unit_name_replace_instance("serial-getty@.service", tty);
++        n = unit_name_from_path_instance("serial-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) {
+ 
+         log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
+ 
+-        n = unit_name_replace_instance("container-getty@.service", tty);
++        n = unit_name_from_path_instance("container-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 3ed0b7e..02dedc4 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -103,7 +103,7 @@ static int finish_item(
+                 const char *payload) {
+ 
+         ssize_t offset;
+-        CatalogItem *i;
++        _cleanup_free_ CatalogItem *i = NULL;
+         int r;
+ 
+         assert(h);
+@@ -126,13 +126,14 @@ static int finish_item(
+         i->offset = htole64((uint64_t) offset);
+ 
+         r = hashmap_put(h, i, i);
+-        if (r == EEXIST) {
++        if (r == -EEXIST) {
+                 log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
+                             SD_ID128_FORMAT_VAL(id), language ? language : "C");
+-                free(i);
+                 return 0;
+-        }
++        } else if (r < 0)
++                return r;
+ 
++        i = NULL;
+         return 0;
+ }
+ 
+@@ -383,8 +384,8 @@ error:
+ int catalog_update(const char* database, const char* root, const char* const* dirs) {
+         _cleanup_strv_free_ char **files = NULL;
+         char **f;
+-        Hashmap *h;
+         struct strbuf *sb = NULL;
++        _cleanup_hashmap_free_free_ Hashmap *h = NULL;
+         _cleanup_free_ CatalogItem *items = NULL;
+         CatalogItem *i;
+         Iterator j;
+@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
+         }
+ 
+         STRV_FOREACH(f, files) {
+-                log_debug("reading file '%s'", *f);
+-                catalog_import_file(h, sb, *f);
++                log_debug("Reading file '%s'", *f);
++                r = catalog_import_file(h, sb, *f);
++                if (r < 0) {
++                        log_error("Failed to import file '%s': %s.",
++                                  *f, strerror(-r));
++                        goto finish;
++                }
+         }
+ 
+         if (hashmap_size(h) <= 0) {
+                 log_info("No items in catalog.");
+-                r = 0;
+                 goto finish;
+         } else
+                 log_debug("Found %u items in catalog.", hashmap_size(h));
+@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
+                 log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
+                           database, n, sb->len, r);
+ 
+-        r = 0;
+-
+ finish:
+-        if (h)
+-                hashmap_free_free(h);
+         if (sb)
+                 strbuf_cleanup(sb);
+ 
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index f2f1f35..fd9d2a8 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) {
+             !VALID64(le64toh(f->header->entry_array_offset)))
+                 return -ENODATA;
+ 
+-        if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size))
+-                return -ENODATA;
+-
+         if (f->writable) {
+                 uint8_t state;
+                 sd_id128_t machine_id;
+diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c
+index 142de0e..239ff38 100644
+--- a/src/journal/journal-remote-parse.c
++++ b/src/journal/journal-remote-parse.c
+@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) {
+ 
+ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         ssize_t n, remain;
+-        char *c;
++        char *c = NULL;
+         char *newbuf = NULL;
+         size_t newsize = 0;
+ 
+@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         assert(source->filled <= source->size);
+         assert(source->buf == NULL || source->size > 0);
+ 
+-        c = memchr(source->buf, '\n', source->filled);
++        if (source->buf)
++                c = memchr(source->buf, '\n', source->filled);
++
+         if (c != NULL)
+                 goto docopy;
+ 
+diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
+index 35948ea..48725e4 100644
+--- a/src/journal/journald-kmsg.c
++++ b/src/journal/journald-kmsg.c
+@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
+                 /* Did we lose any? */
+                 if (serial > *s->kernel_seqnum)
+                         server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages",
+-                                              serial - *s->kernel_seqnum - 1);
++                                              serial - *s->kernel_seqnum);
+ 
+                 /* Make sure we never read this one again. Note that
+                  * we always store the next message serial we expect
+diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
+index 6da81e7..b6f8e7e 100644
+--- a/src/journal/journald-server.c
++++ b/src/journal/journald-server.c
+@@ -67,6 +67,7 @@
+ #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
+ #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC)
+ #define DEFAULT_RATE_LIMIT_BURST 1000
++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH
+ 
+ #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC)
+ 
+@@ -1473,6 +1474,8 @@ int server_init(Server *s) {
+         s->forward_to_syslog = true;
+         s->forward_to_wall = true;
+ 
++        s->max_file_usec = DEFAULT_MAX_FILE_USEC;
++
+         s->max_level_store = LOG_DEBUG;
+         s->max_level_syslog = LOG_DEBUG;
+         s->max_level_kmsg = LOG_NOTICE;
+diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
+index f693e0f..9a8d5c6 100644
+--- a/src/journal/microhttpd-util.c
++++ b/src/journal/microhttpd-util.c
+@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) {
+         if (0 <= level && level < (int) ELEMENTSOF(log_level_map))
+                 ourlevel = log_level_map[level];
+         else
+-                level = LOG_DEBUG;
++                ourlevel = LOG_DEBUG;
+ 
+         log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message);
+ }
+diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
+index b087a8b..967ab67 100644
+--- a/src/journal/test-catalog.c
++++ b/src/journal/test-catalog.c
+@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
+ 
+         setlocale(LC_ALL, "de_DE.UTF-8");
+ 
+-        log_set_max_level(LOG_DEBUG);
++        log_parse_environment();
++        log_open();
+ 
+         test_catalog_file_lang();
+ 
+diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
+index 84a8ffa..e79b318 100644
+--- a/src/libsystemd/sd-rtnl/rtnl-message.c
++++ b/src/libsystemd/sd-rtnl/rtnl-message.c
+@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) {
+ /* If successful the updated message will be correctly aligned, if
+    unsuccessful the old message is untouched. */
+ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) {
+-        uint32_t rta_length, message_length;
++        uint32_t rta_length;
++        size_t message_length, padding_length;
+         struct nlmsghdr *new_hdr;
+         struct rtattr *rta;
+         char *padding;
+         unsigned i;
++        int offset;
+ 
+         assert(m);
+         assert(m->hdr);
+         assert(!m->sealed);
+         assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len);
+-        assert(!data || data_length > 0);
+-        assert(data || m->n_containers < RTNL_CONTAINER_DEPTH);
++        assert(!data || data_length);
++
++        /* get offset of the new attribute */
++        offset = m->hdr->nlmsg_len;
+ 
+         /* get the size of the new rta attribute (with padding at the end) */
+         rta_length = RTA_LENGTH(data_length);
+ 
+         /* get the new message size (with padding at the end) */
+-        message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length);
++        message_length = offset + RTA_ALIGN(rta_length);
+ 
+         /* realloc to fit the new attribute */
+         new_hdr = realloc(m->hdr, message_length);
+@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data,
+         m->hdr = new_hdr;
+ 
+         /* get pointer to the attribute we are about to add */
+-        rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len);
++        rta = (struct rtattr *) ((uint8_t *) m->hdr + offset);
+ 
+         /* if we are inside containers, extend them */
+         for (i = 0; i < m->n_containers; i++)
+-                GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len;
++                GET_CONTAINER(m, i)->rta_len += message_length - offset;
+ 
+         /* fill in the attribute */
+         rta->rta_type = type;
+         rta->rta_len = rta_length;
+-        if (!data) {
+-                /* this is the start of a new container */
+-                m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len;
+-        } else {
++        if (data)
+                 /* we don't deal with the case where the user lies about the type
+                  * and gives us too little data (so don't do that)
+-                */
++                 */
+                 padding = mempcpy(RTA_DATA(rta), data, data_length);
+-                /* make sure also the padding at the end of the message is initialized */
+-                memzero(padding,
+-                        (uint8_t *) m->hdr + message_length - (uint8_t *) padding);
++        else {
++                /* if no data was passed, make sure we still initialize the padding
++                   note that we can have data_length > 0 (used by some containers) */
++                padding = RTA_DATA(rta);
++                data_length = 0;
+         }
+ 
++        /* make sure also the padding at the end of the message is initialized */
++        padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding;
++        memzero(padding, padding_length);
++
+         /* update message size */
+         m->hdr->nlmsg_len = message_length;
+ 
+-        return 0;
++        return offset;
+ }
+ 
+ int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) {
+@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) {
+ 
+         assert_return(m, -EINVAL);
+         assert_return(!m->sealed, -EPERM);
++        assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE);
+ 
+         sd_rtnl_message_get_type(m, &rtm_type);
+ 
++        int r = -ENOTSUP;
++
+         if (rtnl_message_type_is_link(rtm_type)) {
+ 
+                 if ((type == IFLA_LINKINFO && m->n_containers == 0) ||
+                     (type == IFLA_INFO_DATA && m->n_containers == 1 &&
+                      GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO))
+-                        return add_rtattr(m, type, NULL, 0);
++                        r = add_rtattr(m, type, NULL, 0);
+                 else if (type == VETH_INFO_PEER && m->n_containers == 2 &&
+                          GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA &&
+                          GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)
+-                        return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
++                        r=  add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
+         }
+ 
+-        return -ENOTSUP;
++        if (r < 0) return r;
++
++        m->container_offsets[m->n_containers ++] = r;
++
++        return 0;
+ }
+ 
+ int sd_rtnl_message_close_container(sd_rtnl_message *m) {
+diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
+index ba1b04d..85b1e40 100644
+--- a/src/libudev/libudev-monitor.c
++++ b/src/libudev/libudev-monitor.c
+@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
+ 
+ /* we consider udev running when /dev is on devtmpfs */
+ static bool udev_has_devtmpfs(struct udev *udev) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+         int mount_id;
+         _cleanup_fclose_ FILE *f = NULL;
+         char line[LINE_MAX], *e;
+         int r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0);
++        r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0);
+         if (r < 0)
+                 return false;
+ 
+diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
+index e1cf897..57f619d 100644
+--- a/src/login/70-uaccess.rules
++++ b/src/login/70-uaccess.rules
+@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end"
+ SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
+ 
+ # Digicams with proprietary protocol
+-ENV{ID_GPHOTO2}=="*?", TAG+="uaccess"
++ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
+ 
+ # SCSI and USB scanners
+ ENV{libsane_matched}=="yes", TAG+="uaccess"
+@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess"
+ SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
+ 
+ # smart-card readers
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
+ 
+ # (USB) authentication devices
+-ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess"
++ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
+ 
+ # PDA devices
+-ENV{ID_PDA}=="*?", TAG+="uaccess"
++ENV{ID_PDA}=="?*", TAG+="uaccess"
+ 
+ # Programmable remote control
+ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+ SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
+ 
+ # color measurement devices
+-ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess"
++ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # DDC/CI device, usually high-end monitors such as the DreamColor
+-ENV{DDC_DEVICE}=="*?", TAG+="uaccess"
++ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # media player raw devices (for user-mode drivers, Android SDK, etc.)
+ SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
+diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
+index dc86f0f..4bbeb64 100644
+--- a/src/login/logind-acl.c
++++ b/src/login/logind-acl.c
+@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev,
+ 
+                 log_debug("Fixing up ACLs at %s for seat %s", n, seat);
+                 k = devnode_acl(n, flush, del, old_uid, add, new_uid);
+-                if (k < 0)
++                if (k == -ENOENT)
++                        log_debug("Device %s disappeared while setting ACLs", n);
++                else if (k < 0)
+                         r = k;
+         }
+ 
+diff --git a/src/login/logind-action.c b/src/login/logind-action.c
+index 1928f43..d69c7ad 100644
+--- a/src/login/logind-action.c
++++ b/src/login/logind-action.c
+@@ -79,14 +79,12 @@ int manager_handle_action(
+                         return 0;
+                 }
+ 
+-                /* If we have more than one or no displays connected,
+-                 * don't react to lid closing. The no display case we
+-                 * treat like this under the assumption that there is
+-                 * no modern drm driver available. */
++                /* If we have more than one display connected,
++                 * don't react to lid closing. */
+                 n = manager_count_displays(m);
+                 if (n < 0)
+                         log_warning("Display counting failed: %s", strerror(-n));
+-                else if (n != 1) {
++                else if (n > 1) {
+                         log_debug("Ignoring lid switch request, %i displays connected.", n);
+                         return 0;
+                 }
+diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
+index 3f5efdc..1ee6ced 100644
+--- a/src/login/logind-seat.c
++++ b/src/login/logind-seat.c
+@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
+         if (!num)
+                 return -EINVAL;
+ 
+-        if (num >= s->position_count || !s->positions[num])
++        if (num >= s->position_count || !s->positions[num]) {
++                /* allow switching to unused VTs to trigger auto-activate */
++                if (seat_has_vts(s) && num < 64)
++                        return chvt(num);
++
+                 return -EINVAL;
++        }
+ 
+         return session_activate(s->positions[num]);
+ }
+diff --git a/src/login/logind-session.c b/src/login/logind-session.c
+index 4ca6b5d..02a780d 100644
+--- a/src/login/logind-session.c
++++ b/src/login/logind-session.c
+@@ -213,7 +213,6 @@ int session_save(Session *s) {
+ 
+         if (s->scope)
+                 fprintf(f, "SCOPE=%s\n", s->scope);
+-
+         if (s->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", s->scope_job);
+ 
+@@ -229,17 +228,54 @@ int session_save(Session *s) {
+         if (s->display)
+                 fprintf(f, "DISPLAY=%s\n", s->display);
+ 
+-        if (s->remote_host)
+-                fprintf(f, "REMOTE_HOST=%s\n", s->remote_host);
++        if (s->remote_host) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_host);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_HOST=%s\n", escaped);
++        }
++
++        if (s->remote_user) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_user);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_USER=%s\n", escaped);
++        }
++
++        if (s->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->remote_user)
+-                fprintf(f, "REMOTE_USER=%s\n", s->remote_user);
++                escaped = cescape(s->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
+ 
+-        if (s->service)
+-                fprintf(f, "SERVICE=%s\n", s->service);
++        if (s->desktop) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->desktop)
+-                fprintf(f, "DESKTOP=%s\n", s->desktop);
++
++                escaped = cescape(s->desktop);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "DESKTOP=%s\n", escaped);
++        }
+ 
+         if (s->seat && seat_has_vts(s->seat))
+                 fprintf(f, "VTNR=%u\n", s->vtnr);
+@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) {
+         if (vt < 0)
+                 return;
+ 
++        r = fchown(vt, s->user->uid, -1);
++        if (r < 0)
++                goto error;
++
+         r = ioctl(vt, KDSKBMODE, K_OFF);
+         if (r < 0)
+                 goto error;
+@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) {
+         mode.mode = VT_AUTO;
+         ioctl(vt, VT_SETMODE, &mode);
+ 
++        fchown(vt, 0, -1);
++
+         s->vtfd = safe_close(s->vtfd);
+ }
+ 
+diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
+index b96d32d..b8e90f1 100644
+--- a/src/login/org.freedesktop.login1.policy.in
++++ b/src/login/org.freedesktop.login1.policy.in
+@@ -254,7 +254,7 @@
+                 <defaults>
+                         <allow_any>auth_admin_keep</allow_any>
+                         <allow_inactive>auth_admin_keep</allow_inactive>
+-                        <allow_active>auth_admin_keep</allow_active>
++                        <allow_active>yes</allow_active>
+                 </defaults>
+                 <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.hibernate</annotate>
+         </action>
+diff --git a/src/login/pam-module.c b/src/login/pam-module.c
+index 9873dd5..1259457 100644
+--- a/src/login/pam-module.c
++++ b/src/login/pam-module.c
+@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+         }
+ 
+         if (session_fd >= 0) {
+-                session_fd = dup(session_fd);
++                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
+                 if (session_fd < 0) {
+                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
+                         return PAM_SESSION_ERR;
+diff --git a/src/machine/machine.c b/src/machine/machine.c
+index 9a5cc9a..de701ad 100644
+--- a/src/machine/machine.c
++++ b/src/machine/machine.c
+@@ -123,17 +123,42 @@ int machine_save(Machine *m) {
+                 "NAME=%s\n",
+                 m->name);
+ 
+-        if (m->unit)
+-                fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        if (m->unit) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->unit);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        }
+ 
+         if (m->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", m->scope_job);
+ 
+-        if (m->service)
+-                fprintf(f, "SERVICE=%s\n", m->service);
++        if (m->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (m->root_directory)
+-                fprintf(f, "ROOT=%s\n", m->root_directory);
++                escaped = cescape(m->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
++
++        if (m->root_directory) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->root_directory);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "ROOT=%s\n", escaped);
++        }
+ 
+         if (!sd_id128_equal(m->id, SD_ID128_NULL))
+                 fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id));
+@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) {
+         if (!m->unit)
+                 return 0;
+ 
+-        r = manager_stop_unit(m->manager, m->unit, &error, &job);
+-        if (r < 0) {
+-                log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
+-                return r;
++        if (!m->registered) {
++                r = manager_stop_unit(m->manager, m->unit, &error, &job);
++                if (r < 0) {
++                        log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
++                        return r;
++                }
+         }
+ 
+         free(m->scope_job);
+         m->scope_job = job;
+ 
+-        return r;
++        return 0;
+ }
+ 
+ int machine_stop(Machine *m) {
+@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) {
+ 
+                 if (kill(m->leader, signo) < 0)
+                         return -errno;
++
++                return 0;
+         }
+ 
+         /* Otherwise make PID 1 do it for us, for the entire cgroup */
+diff --git a/src/machine/machine.h b/src/machine/machine.h
+index f4aefc5..de3536d 100644
+--- a/src/machine/machine.h
++++ b/src/machine/machine.h
+@@ -72,6 +72,7 @@ struct Machine {
+ 
+         bool in_gc_queue:1;
+         bool started:1;
++        bool registered:1;
+ 
+         sd_bus_message *create_message;
+ 
+diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
+index 9473105..154a335 100644
+--- a/src/machine/machined-dbus.c
++++ b/src/machine/machined-dbus.c
+@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m
+         m->leader = leader;
+         m->class = c;
+         m->id = id;
++        m->registered = true;
+ 
+         if (!isempty(service)) {
+                 m->service = strdup(service);
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 9a9ed9d..9e46e18 100644
+index 9a9ed9d..c3e6d23 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) {
+@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
+         return 0;
+ }
+ 
++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
++
++        snprintf(s, 37,
++                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
++                 SD_ID128_FORMAT_VAL(id));
++
++        return s;
++}
++
+ static int setup_boot_id(const char *dest) {
+         _cleanup_free_ char *from = NULL, *to = NULL;
+         sd_id128_t rnd = {};
+@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
+                 return r;
+         }
+ 
+-        snprintf(as_uuid, sizeof(as_uuid),
+-                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+-                 SD_ID128_FORMAT_VAL(rnd));
+-        char_array_0(as_uuid);
++        id128_format_as_uuid(rnd, as_uuid);
+ 
+         r = write_string_file(from, as_uuid);
+         if (r < 0) {
+@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) {
+         _cleanup_fclose_ FILE *f = NULL;
+         _cleanup_close_ int fd = -1;
+         unsigned n_uids = 0;
+-        size_t sz, l;
++        size_t sz = 0, l;
+         uid_t uid;
+         gid_t gid;
+         pid_t pid;
+@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
                          }
                  } else {
@@ -143,7 +1592,7 @@ index 9a9ed9d..9e46e18 100644
                          const char *p;
  
                          p = strappenda(arg_directory,
-@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) {
+@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
  
                          }
@@ -151,6 +1600,46 @@ index 9a9ed9d..9e46e18 100644
                  }
          } else {
                  char template[] = "/tmp/nspawn-root-XXXXXX";
+@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) {
+                 goto finish;
+         }
+ 
+-        sd_notify(0, "READY=1");
+-
+         assert_se(sigemptyset(&mask) == 0);
+         sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
+         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) {
+                         }
+ 
+                         if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
+-                                if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
++                                char as_uuid[37];
++
++                                if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
+                                         log_oom();
+                                         goto child_fail;
+                                 }
+@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) {
+                 if (r < 0)
+                         goto finish;
+ 
++                sd_notify(0, "READY=1");
++
+                 /* Notify the child that the parent is ready with all
+                  * its setup, and thtat the child can now hand over
+                  * control to the code to run inside the container. */
+@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) {
+ 
+                         if (!arg_quiet)
+                                 log_info("Container %s is being rebooted.", arg_machine);
++                        if (getenv("EXIT_ON_REBOOT") != 0) {
++                                r = 10;
++                                break;
++                        }
+                         continue;
+                 } else if (status.si_code == CLD_KILLED ||
+                            status.si_code == CLD_DUMPED) {
 diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
 index d61ecdf..228a3a4 100644
 --- a/src/nss-myhostname/netlink.c
@@ -166,6 +1655,88 @@ index d61ecdf..228a3a4 100644
                  if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
                          continue;
  
+diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
+index 059b904..9a19a10 100644
+--- a/src/python-systemd/_reader.c
++++ b/src/python-systemd/_reader.c
+@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
+         sd_id128_t id;
+         _cleanup_free_ char *msg = NULL;
+ 
+-        assert(!self);
+         assert(args);
+ 
+         if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
+diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
+index 9c7e004..dd1f229 100644
+--- a/src/python-systemd/journal.py
++++ b/src/python-systemd/journal.py
+@@ -293,7 +293,7 @@ class Reader(_Reader):
+             monotonic = monotonic.totalseconds()
+         monotonic = int(monotonic * 1000000)
+         if isinstance(bootid, _uuid.UUID):
+-            bootid = bootid.get_hex()
++            bootid = bootid.hex
+         return super(Reader, self).seek_monotonic(monotonic, bootid)
+ 
+     def log_level(self, level):
+@@ -314,7 +314,7 @@ class Reader(_Reader):
+         Equivalent to add_match(MESSAGE_ID=`messageid`).
+         """
+         if isinstance(messageid, _uuid.UUID):
+-            messageid = messageid.get_hex()
++            messageid = messageid.hex
+         self.add_match(MESSAGE_ID=messageid)
+ 
+     def this_boot(self, bootid=None):
+@@ -346,7 +346,7 @@ class Reader(_Reader):
+ 
+ def get_catalog(mid):
+     if isinstance(mid, _uuid.UUID):
+-        mid = mid.get_hex()
++        mid = mid.hex
+     return _get_catalog(mid)
+ 
+ def _make_line(field, value):
+diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
+index 5ffa88b..49679fc 100644
+--- a/src/readahead/readahead-common.c
++++ b/src/readahead/readahead-common.c
+@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) {
+         if (major(st.st_dev) == 0) {
+                 _cleanup_fclose_ FILE *f = NULL;
+                 int mount_id;
+-                struct file_handle *h;
++                union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+ 
+                 /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd.
+                  *
+@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) {
+                  * and then lookup the mount ID in mountinfo to find
+                  * the mount options. */
+ 
+-                h = alloca(MAX_HANDLE_SZ);
+-                h->handle_bytes = MAX_HANDLE_SZ;
+-                r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW);
++                r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW);
+                 if (r < 0)
+                         return false;
+ 
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index d27b1b7..905a2e1 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -336,8 +336,8 @@ int config_parse(const char *unit,
+         if (!f) {
+                 f = ours = fopen(filename, "re");
+                 if (!f) {
+-                        log_error("Failed to open configuration file '%s': %m", filename);
+-                        return -errno;
++                        log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
++                        return errno == ENOENT ? 0 : -errno;
+                 }
+         }
+ 
 diff --git a/src/shared/generator.c b/src/shared/generator.c
 index 6110303..e679cb1 100644
 --- a/src/shared/generator.c
@@ -179,10 +1750,359 @@ index 6110303..e679cb1 100644
                  r = access(checker, X_OK);
                  if (r < 0) {
                          log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
+diff --git a/src/shared/install.c b/src/shared/install.c
+index 7409046..4517c9c 100644
+--- a/src/shared/install.c
++++ b/src/shared/install.c
+@@ -560,7 +560,7 @@ int unit_file_mask(
+                 unsigned *n_changes) {
+ 
+         char **i;
+-        _cleanup_free_ char *prefix;
++        _cleanup_free_ char *prefix = NULL;
+         int r;
+ 
+         assert(scope >= 0);
+diff --git a/src/shared/log.c b/src/shared/log.c
+index a4b3b68..890a9fa 100644
+--- a/src/shared/log.c
++++ b/src/shared/log.c
+@@ -878,6 +878,9 @@ void log_parse_environment(void) {
+                         if (l == 5 && startswith(w, "debug")) {
+                                 log_set_max_level(LOG_DEBUG);
+                                 break;
++                        } else if (l == 5 && startswith(w, "quiet")) {
++                                log_set_max_level(LOG_WARNING);
++                                break;
+                         }
+                 }
+         }
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index 9d14933..b0b66f6 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -547,7 +547,9 @@ static int output_export(
+                     startswith(data, "_BOOT_ID="))
+                         continue;
+ 
+-                if (!utf8_is_printable(data, length)) {
++                if (utf8_is_printable_newline(data, length, false))
++                        fwrite(data, length, 1, f);
++                else {
+                         const char *c;
+                         uint64_t le64;
+ 
+@@ -562,8 +564,7 @@ static int output_export(
+                         le64 = htole64(length - (c - (const char*) data) - 1);
+                         fwrite(&le64, sizeof(le64), 1, f);
+                         fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
+-                } else
+-                        fwrite(data, length, 1, f);
++                }
+ 
+                 fputc('\n', f);
+         }
+diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
+index 6c167b4..d0e71f2 100644
+--- a/src/shared/unit-name.c
++++ b/src/shared/unit-name.c
+@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
+ }
+ 
+ bool unit_name_is_template(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] == '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e == p + 1;
+ }
+ 
+ bool unit_name_is_instance(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] != '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e > p + 1;
+ }
+ 
+ char *unit_name_replace_instance(const char *f, const char *i) {
+diff --git a/src/shared/utf8.c b/src/shared/utf8.c
+index 0b524d8..c559c13 100644
+--- a/src/shared/utf8.c
++++ b/src/shared/utf8.c
+@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
+         return unichar;
+ }
+ 
+-bool utf8_is_printable(const char* str, size_t length) {
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
+         const uint8_t *p;
+ 
+         assert(str);
+@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
+                 int encoded_len = utf8_encoded_valid_unichar((const char *)p);
+                 int val = utf8_encoded_to_unichar((const char*)p);
+ 
+-                if (encoded_len < 0 || val < 0 || is_unicode_control(val))
++                if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
++                    (!newline && val == '\n'))
+                         return false;
+ 
+                 length -= encoded_len;
+diff --git a/src/shared/utf8.h b/src/shared/utf8.h
+index c0eb73a..c087995 100644
+--- a/src/shared/utf8.h
++++ b/src/shared/utf8.h
+@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
+ char *ascii_is_valid(const char *s) _pure_;
+ char *utf8_escape_invalid(const char *s);
+ 
+-bool utf8_is_printable(const char* str, size_t length) _pure_;
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
++        return utf8_is_printable_newline(str, length, true);
++}
+ 
+ char *utf16_to_utf8(const void *s, size_t length);
+ 
+diff --git a/src/shared/util.c b/src/shared/util.c
+index ffe6624..2a2b2b2 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -166,19 +166,19 @@ int close_nointr(int fd) {
+ 
+         assert(fd >= 0);
+         r = close(fd);
+-
+-        /* Just ignore EINTR; a retry loop is the wrong
+-         * thing to do on Linux.
+-         *
+-         * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
+-         * https://bugzilla.gnome.org/show_bug.cgi?id=682819
+-         * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
+-         * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
+-         */
+-        if (_unlikely_(r < 0 && errno == EINTR))
+-                return 0;
+-        else if (r >= 0)
++        if (r >= 0)
+                 return r;
++        else if (errno == EINTR)
++                /*
++                 * Just ignore EINTR; a retry loop is the wrong
++                 * thing to do on Linux.
++                 *
++                 * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
++                 * https://bugzilla.gnome.org/show_bug.cgi?id=682819
++                 * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
++                 * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
++                 */
++                return 0;
+         else
+                 return -errno;
+ }
+@@ -195,7 +195,13 @@ int safe_close(int fd) {
+ 
+         if (fd >= 0) {
+                 PROTECT_ERRNO;
+-                assert_se(close_nointr(fd) == 0);
++
++                /* The kernel might return pretty much any error code
++                 * via close(), but the fd will be closed anyway. The
++                 * only condition we want to check for here is whether
++                 * the fd was invalid at all... */
++
++                assert_se(close_nointr(fd) != -EBADF);
+         }
+ 
+         return -1;
+@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) {
+         assert(filename);
+ 
+         if (endswith(filename, "~"))
+-                return false;
++                return true;
+ 
+         return ignore_file_allow_backup(filename);
+ }
+@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) {
+         static const char table[] =
+                 "cifs\0"
+                 "smbfs\0"
++                "sshfs\0"
+                 "ncpfs\0"
+                 "ncp\0"
+                 "nfs\0"
+@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
+                 if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0)
+                         return -ETIMEDOUT;
+ 
++        errno = 0;
+         if (!fgets(line, sizeof(line), f))
+-                return -EIO;
++                return errno ? -errno : -EIO;
+ 
+         truncate_nl(line);
+ 
+@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) {
+                 if (*t > 0 && *t < ' ')
+                         return false;
+ 
++                if (*t == 127)
++                        return false;
++
+                 if (strchr("\\\"\'", *t))
+                         return false;
+         }
+@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) {
+ 
+         assert(p);
+ 
+-        for (t = p; *t; t++)
++        for (t = p; *t; t++) {
+                 if (*t > 0 && *t < ' ' && *t != '\t')
+                         return true;
+ 
++                if (*t == 127)
++                        return true;
++        }
++
+         return false;
+ }
+ 
+@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) {
+                 s -= 16;
+         }
+ }
++
++int update_reboot_param_file(const char *param)
++{
++        int r = 0;
++
++        if (param) {
++
++                r = write_string_file(REBOOT_PARAM_FILE, param);
++                if (r < 0)
++                        log_error("Failed to write reboot param to "
++                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        } else
++                unlink(REBOOT_PARAM_FILE);
++
++        return r;
++}
+diff --git a/src/shared/util.h b/src/shared/util.h
+index 90464c9..122ac91 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -22,6 +22,7 @@
+ ***/
+ 
+ #include <alloca.h>
++#include <fcntl.h>
+ #include <inttypes.h>
+ #include <time.h>
+ #include <sys/time.h>
+@@ -922,3 +923,10 @@ uint64_t physical_memory(void);
+ char* mount_test_option(const char *haystack, const char *needle);
+ 
+ void hexdump(FILE *f, const void *p, size_t s);
++
++union file_handle_union {
++        struct file_handle handle;
++        char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
++};
++
++int update_reboot_param_file(const char *param);
+diff --git a/src/shared/virt.c b/src/shared/virt.c
+index ec2ddcf..f03e790 100644
+--- a/src/shared/virt.c
++++ b/src/shared/virt.c
+@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) {
+ 
+ /* Returns a short identifier for the various VM implementations */
+ int detect_vm(const char **id) {
+-        _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
++        _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
+         static thread_local int cached_found = -1;
+         static thread_local const char *cached_id = NULL;
+         const char *_id = NULL;
+@@ -163,17 +163,37 @@ int detect_vm(const char **id) {
+                 return cached_found;
+         }
+ 
+-        /* Try high-level hypervisor sysfs file first:
++        /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
+          *
+-         * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
+-        r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++         * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
++        r = read_one_line_file("/proc/xen/capabilities", &domcap);
+         if (r >= 0) {
+-                if (streq(hvtype, "xen")) {
++                char *cap, *i = domcap;
++
++                while ((cap = strsep(&i, ",")))
++                        if (streq(cap, "control_d"))
++                                break;
++
++                if (!i)  {
+                         _id = "xen";
+                         r = 1;
+-                        goto finish;
+                 }
+-        } else if (r != -ENOENT)
++
++                goto finish;
++
++        } else if (r == -ENOENT) {
++                _cleanup_free_ char *hvtype = NULL;
++
++                r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++                if (r >= 0) {
++                        if (streq(hvtype, "xen")) {
++                                _id = "xen";
++                                r = 1;
++                                goto finish;
++                        }
++                } else if (r != -ENOENT)
++                        return r;
++        } else
+                 return r;
+ 
+         /* this will set _id to "other" and return 0 for unknown hypervisors */
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 0887bc3..6b502ce 100644
+index 0887bc3..d02ee2b 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
+@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
+                 }
+ 
+                 if (circle_len > 0)
+-                        printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : "  ", off_circle);
++                        printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle);
+ 
+                 printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s",
+                        on_active, id_len, id, off_active,
 @@ -2561,7 +2561,7 @@ static int start_unit_one(
  
                  log_debug("Adding %s to the set", p);
@@ -192,6 +2112,523 @@ index 0887bc3..6b502ce 100644
                          return log_oom();
          }
  
+@@ -4240,7 +4240,7 @@ static int show_all(
+         _cleanup_free_ UnitInfo *unit_infos = NULL;
+         const UnitInfo *u;
+         unsigned c;
+-        int r;
++        int r, ret = 0;
+ 
+         r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply);
+         if (r < 0)
+@@ -4262,9 +4262,11 @@ static int show_all(
+                 r = show_one(verb, bus, p, show_properties, new_line, ellipsized);
+                 if (r < 0)
+                         return r;
++                else if (r > 0 && ret == 0)
++                        ret = r;
+         }
+ 
+-        return 0;
++        return ret;
+ }
+ 
+ static int show_system_status(sd_bus *bus) {
+@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) {
+                                 }
+                         }
+ 
+-                        show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                        r = show_one(args[0], bus, unit, show_properties,
++                                     &new_line, &ellipsized);
++                        if (r < 0)
++                                return r;
++                        else if (r > 0 && ret == 0)
++                                ret = r;
+                 }
+ 
+                 if (!strv_isempty(patterns)) {
+@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) {
+                                 if (!unit)
+                                         return log_oom();
+ 
+-                                show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                                r = show_one(args[0], bus, unit, show_properties,
++                                             &new_line, &ellipsized);
++                                if (r < 0)
++                                        return r;
++                                else if (r > 0 && ret == 0)
++                                        ret = r;
+                         }
+                 }
+         }
+@@ -5403,15 +5415,15 @@ static int systemctl_help(void) {
+                "                                  otherwise restart if active\n"
+                "  isolate NAME                    Start one unit and stop all others\n"
+                "  kill NAME...                    Send signal to processes of a unit\n"
+-               "  is-active NAME...               Check whether units are active\n"
+-               "  is-failed NAME...               Check whether units are failed\n"
+-               "  status [NAME...|PID...]         Show runtime status of one or more units\n"
+-               "  show [NAME...|JOB...]           Show properties of one or more\n"
++               "  is-active PATTERN...            Check whether units are active\n"
++               "  is-failed PATTERN...            Check whether units are failed\n"
++               "  status [PATTERN...|PID...]      Show runtime status of one or more units\n"
++               "  show [PATTERN...|JOB...]        Show properties of one or more\n"
+                "                                  units/jobs or the manager\n"
+-               "  cat NAME...                     Show files and drop-ins of one or more units\n"
++               "  cat PATTERN...                  Show files and drop-ins of one or more units\n"
+                "  set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
+-               "  help NAME...|PID...             Show manual for one or more units\n"
+-               "  reset-failed [NAME...]          Reset failed state for all, one, or more\n"
++               "  help PATTERN...|PID...          Show manual for one or more units\n"
++               "  reset-failed [PATTERN...]       Reset failed state for all, one, or more\n"
+                "                                  units\n"
+                "  list-dependencies [NAME]        Recursively show units which are required\n"
+                "                                  or wanted by this unit or by which this\n"
+@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        if (arg_action == ACTION_REBOOT && argc == optind + 1) {
+-                r = write_string_file(REBOOT_PARAM_FILE, argv[optind]);
+-                if (r < 0) {
+-                        log_error("Failed to write reboot param to "
+-                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) {
++                r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL);
++                if (r < 0)
+                         return r;
+-                }
+         } else if (optind < argc) {
+                 log_error("Too many arguments.");
+                 return -EINVAL;
+diff --git a/src/test/test-udev.c b/src/test/test-udev.c
+index b064744..b057cc8 100644
+--- a/src/test/test-udev.c
++++ b/src/test/test-udev.c
+@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
+-        if (err == 0)
+-                udev_event_execute_run(event, NULL);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_run(event, NULL);
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+                 close(event->fd_signal);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 33e7cbc..04b472d 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) {
+ }
+ 
+ static int dir_is_mount_point(DIR *d, const char *subdir) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ };
+         int mount_id_parent, mount_id;
+         int r_p, r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
++        r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0);
+         if (r_p < 0)
+                 r_p = -errno;
+ 
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
++        h.handle.handle_bytes = MAX_HANDLE_SZ;
++        r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0);
+         if (r < 0)
+                 r = -errno;
+ 
+diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
+index 1d067af..3203474 100644
+--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
+@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
+ 
+         r = get_ctty_devnr(0, &devnr);
+         if (r < 0)
+-                return -r;
++                return r;
+ 
+         if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
+                 return -ENOMEM;
+diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
+index 925d38d..32adf27 100644
+--- a/src/udev/accelerometer/accelerometer.c
++++ b/src/udev/accelerometer/accelerometer.c
+@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev)
+         return string_to_orientation(value);
+ }
+ 
+-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
++#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; }
+ 
+ /* accelerometers */
+ static void test_orientation(struct udev *udev,
+@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev,
+ {
+         OrientationUp old, new;
+         _cleanup_close_ int fd = -1;
+-        struct input_event ev[64];
+-        bool got_syn = false;
+-        bool got_x = false, got_y = false, got_z = false;
++        struct input_absinfo abs_info;
+         int x = 0, y = 0, z = 0;
++        int r;
+         char text[64];
+ 
+         old = get_prev_orientation(dev);
+@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev,
+         if (fd < 0)
+                 return;
+ 
+-        while (1) {
+-                int i, r;
+-
+-                r = read(fd, ev, sizeof(struct input_event) * 64);
+-
+-                if (r < (int) sizeof(struct input_event))
+-                        return;
+-
+-                for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
+-                        if (got_syn) {
+-                                if (ev[i].type == EV_ABS) {
+-                                        SET_AXIS(x, ABS_X);
+-                                        SET_AXIS(y, ABS_Y);
+-                                        SET_AXIS(z, ABS_Z);
+-                                }
+-                        }
+-                        if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
+-                                got_syn = true;
+-                        if (got_x && got_y && got_z)
+-                                goto read_dev;
+-                }
+-        }
++        READ_AXIS(ABS_X, x);
++        READ_AXIS(ABS_Y, y);
++        READ_AXIS(ABS_Z, z);
+ 
+-read_dev:
+         new = orientation_calc(old, x, y, z);
+         snprintf(text, sizeof(text),
+                  "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index 5bb6b02..b31ad80 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -184,7 +184,7 @@ failure:
+ }
+ 
+ static bool enable_name_policy(void) {
+-        _cleanup_free_ char *line;
++        _cleanup_free_ char *line = NULL;
+         char *w, *state;
+         int r;
+         size_t l;
+@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_PERSISTENT:
+                         if (!mac_is_permanent(device)) {
+                                 r = get_mac(device, false, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_RANDOM:
+                         if (!mac_is_random(device)) {
+                                 r = get_mac(device, true, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 5998be2..5213a4a 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event)
+                 log_error("error changing net interface name %s to %s: %s",
+                           oldname, name, strerror(-r));
+         else
+-                print_kmsg("renamed network interface %s to %s", oldname, name);
++                print_kmsg("renamed network interface %s to %s\n", oldname, name);
+ 
+         return r;
+ }
+ 
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+ {
+         struct udev_device *dev = event->dev;
+-        int err = 0;
+ 
+         if (udev_device_get_subsystem(dev) == NULL)
+-                return -1;
++                return;
+ 
+         if (streq(udev_device_get_action(dev), "remove")) {
+                 udev_device_read_db(dev, NULL);
+@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                     event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
+                         char syspath[UTIL_PATH_SIZE];
+                         char *pos;
++                        int r;
+ 
+-                        err = rename_netif(event);
+-                        if (err == 0) {
++                        r = rename_netif(event);
++                        if (r >= 0) {
+                                 log_debug("renamed netif to '%s'", event->name);
+ 
+                                 /* remember old name */
+@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                 udev_device_unref(event->dev_db);
+                 event->dev_db = NULL;
+         }
+-        return err;
+ }
+ 
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 2630264..17f47f2 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         struct stat stats;
+ 
+                         /* we assure, that the permissions tokens are sorted before the static token */
++
+                         if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
+                                 goto next;
+ 
+                         strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
++                        if (stat(device_node, &stats) != 0)
++                                break;
++                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
++                                break;
+ 
+                         /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
+                         if (tags) {
+@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         if (mode == 0 && uid == 0 && gid == 0)
+                                 break;
+ 
+-                        if (stat(device_node, &stats) != 0)
+-                                break;
+-                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
+-                                break;
+-
+                         if (mode == 0) {
+                                 if (gid > 0)
+                                         mode = 0660;
+diff --git a/src/udev/udev.h b/src/udev/udev.h
+index 936adfb..62538bc 100644
+--- a/src/udev/udev.h
++++ b/src/udev/udev.h
+@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
+ int udev_event_spawn(struct udev_event *event,
+                      const char *cmd, char **envp, const sigset_t *sigmask,
+                      char *result, size_t ressize);
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+ int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
+ 
+diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
+index 6cd311b..6a2f548 100644
+--- a/src/udev/udevadm-test.c
++++ b/src/udev/udevadm-test.c
+@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+         _cleanup_udev_device_unref_ struct udev_device *dev = NULL;
+         _cleanup_udev_event_unref_ struct udev_event *event = NULL;
+         sigset_t mask, sigmask_orig;
+-        int err;
+         int rc = 0, c;
+ 
+         static const struct option options[] = {
+@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+                 goto out;
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
+ 
+         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
+                 printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
+ 
+-        if (err == 0) {
+-                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
+-                        char program[UTIL_PATH_SIZE];
++        udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
++                char program[UTIL_PATH_SIZE];
+ 
+-                        udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
+-                        printf("run: '%s'\n", program);
+-                }
++                udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
++                printf("run: '%s'\n", program);
+         }
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index f21c227..93afca1 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -288,10 +288,9 @@ static void worker_new(struct event *event)
+                                 udev_event->exec_delay = exec_delay;
+ 
+                         /* apply rules, create node, symlinks */
+-                        err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
++                        udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ 
+-                        if (err == 0)
+-                                udev_event_execute_run(udev_event, &sigmask_orig);
++                        udev_event_execute_run(udev_event, &sigmask_orig);
+ 
+                         /* apply/restore inotify watch */
+                         if (err == 0 && udev_event->inotify_watch) {
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 0f2b706..645b1e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
+  */
+ static void font_copy_to_all_vcs(int fd) {
+         struct vt_stat vcs = {};
++        unsigned char map8[E_TABSZ];
++        unsigned short map16[E_TABSZ];
++        struct unimapdesc unimapd;
++        struct unipair unipairs[USHRT_MAX];
+         int i, r;
+ 
+         /* get active, and 16 bit mask of used VT numbers */
+@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) {
+                 cfo.op = KD_FONT_OP_COPY;
+                 cfo.height = vcs.v_active-1; /* tty1 == index 0 */
+                 ioctl(vcfd, KDFONTOP, &cfo);
++
++                /* copy map of 8bit chars */
++                if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
++                    ioctl(vcfd, PIO_SCRNMAP, map8);
++
++                /* copy map of 8bit chars -> 16bit Unicode values */
++                if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
++                    ioctl(vcfd, PIO_UNISCRNMAP, map16);
++
++                /* copy unicode translation table */
++                /* unimapd is a ushort count and a pointer to an
++                   array of struct unipair { ushort, ushort } */
++                unimapd.entries  = unipairs;
++                unimapd.entry_ct = USHRT_MAX;
++                if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
++                        struct unimapinit adv = { 0, 0, 0 };
++
++                        ioctl(vcfd, PIO_UNIMAPCLR, &adv);
++                        ioctl(vcfd, PIO_UNIMAP, &unimapd);
++                }
+         }
+ }
+ 
+ int main(int argc, char **argv) {
+         const char *vc;
+-        char *vc_keymap = NULL;
+-        char *vc_keymap_toggle = NULL;
+-        char *vc_font = NULL;
+-        char *vc_font_map = NULL;
+-        char *vc_font_unimap = NULL;
+-        int fd = -1;
++        _cleanup_free_ char
++                *vc_keymap = NULL, *vc_keymap_toggle = NULL,
++                *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
++        _cleanup_close_ int fd = -1;
+         bool utf8;
+         pid_t font_pid = 0, keymap_pid = 0;
+         bool font_copy = false;
+@@ -241,12 +263,12 @@ int main(int argc, char **argv) {
+         fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
+         if (fd < 0) {
+                 log_error("Failed to open %s: %m", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         if (!is_vconsole(fd)) {
+                 log_error("Device %s is not a virtual console.", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         utf8 = is_locale_utf8();
+@@ -281,27 +303,27 @@ int main(int argc, char **argv) {
+         else
+                 disable_utf8(fd);
+ 
+-        r = EXIT_FAILURE;
+-        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+-            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
+-                r = EXIT_SUCCESS;
+-
+-finish:
+-        if (keymap_pid > 0)
+-                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
++        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r));
++                return EXIT_FAILURE;
++        }
+ 
+-        if (font_pid > 0) {
++        if (font_pid > 0)
+                 wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+-                if (font_copy)
+-                        font_copy_to_all_vcs(fd);
++
++        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r));
++                return EXIT_FAILURE;
+         }
+ 
+-        free(vc_keymap);
+-        free(vc_font);
+-        free(vc_font_map);
+-        free(vc_font_unimap);
++        if (keymap_pid > 0)
++                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+ 
+-        safe_close(fd);
++        /* Only copy the font when we started setfont successfully */
++        if (font_copy && font_pid > 0)
++                font_copy_to_all_vcs(fd);
+ 
+-        return r;
++        return EXIT_SUCCESS;
+ }
+diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
+index 7c6d6b9..c470045 100644
+--- a/tmpfiles.d/systemd.conf
++++ b/tmpfiles.d/systemd.conf
+@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
+ d /run/systemd/shutdown 0755 root root -
+ 
+ m /var/log/journal 2755 root systemd-journal - -
+-m /var/log/journal/%m 2755 root systemd-journal - -
++Z /var/log/journal/%m 2755 root systemd-journal - -
+ m /run/log/journal 2755 root systemd-journal - -
+-m /run/log/journal/%m 2755 root systemd-journal - -
++Z /run/log/journal/%m 2755 root systemd-journal - -
 diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
 index 8ac51a4..cae9fb5 100644
 --- a/units/console-getty.service.m4.in
@@ -294,17 +2731,20 @@ index 552ef89..af3915f 100644
  ExecStart=-/sbin/sulogin
  ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
-index 4ac51e7..86a3b59 100644
+index 4ac51e7..96daa5c 100644
 --- a/units/serial-getty@.service.m4
 +++ b/units/serial-getty@.service.m4
-@@ -22,7 +22,6 @@ Before=getty.target
+@@ -22,10 +22,8 @@ Before=getty.target
  IgnoreOnIsolate=yes
  
  [Service]
 -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
  Type=idle
  Restart=always
- RestartSec=0
+-RestartSec=0
+ UtmpIdentifier=%I
+ TTYPath=/dev/%I
+ TTYReset=yes
 diff --git a/units/sysinit.target b/units/sysinit.target
 index 8f4fb8f..e0f0147 100644
 --- a/units/sysinit.target
@@ -354,6 +2794,18 @@ index de93879..c9a49f3 100644
 +# journald to stop logging (see
 +# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
 +X-RestartIfChanged=no
+diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
+index ff36e90..e373628 100644
+--- a/units/systemd-nspawn@.service.in
++++ b/units/systemd-nspawn@.service.in
+@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
+ 
+ [Service]
+ ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
++KillMode=mixed
+ Type=notify
+ 
+ [Install]
 diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
 index 1879b2f..9b895b9 100644
 --- a/units/systemd-random-seed.service.in
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
new file mode 100644
index 000000000000..d95e929ff824
--- /dev/null
+++ b/pkgs/servers/computing/torque/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "torque-4.2.8";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2730";
+    sha256 = "1sjpvndzm9ccdmfwdf9887ppmapawfsh5qdkzr92kadg5jxp796j";
+  };
+
+  buildInputs = [ openssl flex bison pkgconfig groff libxml2 utillinux ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+   for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
+     substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
+       --replace "schedprivdir = " "schedprivdir = $out/"
+   done
+
+   for f in $(find ./ -name Makefile.in); do
+     echo patching $f...
+     sed -i $f -e '/PBS_MKDIRS/d'
+   done
+  '';
+
+  postInstall = ''
+    mv $out/sbin/* $out/bin/
+    rmdir $out/sbin
+    cp -v buildutils/pbs_mkdirs $out/bin/
+    cp -v torque.setup $out/bin/
+    chmod +x $out/bin/pbs_mkdirs $out/bin/torque.setup
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.adaptivecomputing.com/products/open-source/torque;
+    description = "Resource management system for submitting and controlling jobs on supercomputers, clusters, and grids";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 5282541e2f9e..9244ee2f2cf5 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub
+, ruby, rubyLibs, nodejs }:
 
 let
-  version = "0.3.0";
+  version = "0.4.0";
 in
 
+with lib;
 stdenv.mkDerivation {
   name = "consul-${version}";
 
@@ -11,22 +13,44 @@ stdenv.mkDerivation {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ go ruby rubyLibs.sass nodejs ];
+
+  configurePhase = flip concatMapStrings
+    (with rubyLibs; [ execjs json minitest rake rdoc sass uglifier ])
+    (gem: ''
+      export GEM_PATH="$GEM_PATH:${gem}/${ruby.gemPath}"
+    '');
 
   buildPhase = ''
+    # Build consul binary
     export GOPATH=$src
     go build -v -o consul github.com/hashicorp/consul
+
+    # Build ui static files
+    ({
+      cp -r src/github.com/hashicorp/consul/ui .
+      cd ui
+      chmod -R u+w .
+      make dist
+    })
   '';
 
+  outputs = [ "out" "ui" ];
+
   installPhase = ''
-    ensureDir $out/bin
+    # Install consul binary
+    mkdir -p $out/bin
     cp consul $out/bin
+
+    # Install ui static files
+    mkdir -p $ui
+    mv ui/dist/* $ui
   '';
 
   meta = with lib; {
     homepage    = http://www.consul.io/;
     description = "A tool for service discovery, monitoring and configuration";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan wkennington ];
     license     = licenses.mpl20 ;
     platforms   = platforms.unix;
   };
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
index c1ebcf809288..c6e7cb735fe5 100644
--- a/pkgs/servers/consul/deps.nix
+++ b/pkgs/servers/consul/deps.nix
@@ -3,22 +3,6 @@
 let
   goDeps = [
     {
-      root = "code.google.com/p/go.net";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.net";
-        rev = "134";
-        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
-      };
-    }
-    {
-      root = "code.google.com/p/go.text";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.text";
-        rev = "85";
-        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
-      };
-    }
-    {
       root = "github.com/armon/circbuf";
       src = fetchFromGitHub {
         owner = "armon";
@@ -28,12 +12,30 @@ let
       };
     }
     {
+      root = "github.com/armon/consul-api";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "consul-api";
+        rev = "045662de1042be0662fe4a1e21b57c8f7669261a";
+        sha256 = "1cdf9mpfa97qwzc0nz0788d97xmwh08dsvqmkmijrdm2a6c07q1r";
+      };
+    }
+    {
       root = "github.com/armon/go-metrics";
       src = fetchFromGitHub {
         owner = "armon";
         repo = "go-metrics";
-        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
-        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+        rev = "2b75159ce5d3641fb35b5a159cff309ac3cf4177";
+        sha256 = "1fjsa7r97zlpdzi5l7qvgyabznn5pm6bpwi1rgrwaxh7gc3a28vi";
+      };
+    }
+    {
+      root = "github.com/armon/go-radix";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-radix";
+        rev = "b045fc0ad3587e8620fb42a0dea882cf8c08aef9";
+        sha256 = "1p09dwhngaszbr9si68xl1la74i359l0wibhhirpxrc8q4pgjplx";
       };
     }
     {
@@ -46,21 +48,21 @@ let
       };
     }
     {
-      root = "github.com/armon/mdns";
+      root = "github.com/hashicorp/consul";
       src = fetchFromGitHub {
-        owner = "armon";
-        repo = "mdns";
-        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
-        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+        owner = "hashicorp";
+        repo = "consul";
+        rev = "e1d87dee26c05cea64342fadd2a728894b764aec";
+        sha256 = "0y05pjvvxlamf74s15pcgv48xyd6116m5lyyd7jkh28lb3l2fykf";
       };
     }
     {
-      root = "github.com/hashicorp/consul";
+      root = "github.com/hashicorp/go-checkpoint";
       src = fetchFromGitHub {
         owner = "hashicorp";
-        repo = "consul";
-        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
-        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+        repo = "go-checkpoint";
+        rev = "89ef2a697dd8cdb4623097d5bb9acdb19a470767";
+        sha256 = "0mfykh9jkh1m2zxlm2df4j5i6hd6iq1kc8afjladdhcqyrkwcch0";
       };
     }
     {
@@ -73,6 +75,24 @@ let
       };
     }
     {
+      root = "github.com/hashicorp/golang-lru";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "golang-lru";
+        rev = "4dfff096c4973178c8f35cf6dd1a732a0a139370";
+        sha256 = "16x78183xzk9bjn7il71l3mff3rqjwc88q9fpbj5i65kvl5ws9di";
+      };
+    }
+    {
+      root = "github.com/hashicorp/hcl";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "hcl";
+        rev = "9b5d9eb9b09475889ae49a4a613c60280875b3d1";
+        sha256 = "02x5by78a3bblzqnhl9dm98wz61h0vkk1wcw7mx6480a7qj5jx3m";
+      };
+    }
+    {
       root = "github.com/hashicorp/logutils";
       src = fetchFromGitHub {
         owner = "hashicorp";
@@ -86,8 +106,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "memberlist";
-        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
-        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+        rev = "def5afe3702fce72d72922fb44ef2b8e5608b205";
+        sha256 = "1ch8c160nkqb79ql59vgpnf9kfq2v38xjrprvfv4hmnpmf6yx6i2";
       };
     }
     {
@@ -95,8 +115,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft";
-        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
-        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+        rev = "35f5fa082f5a064595d84715b0cf8821f002e9ac";
+        sha256 = "0s5qhs19n0rxdhsxw77q5sjw4hrkfggxz3w0p3szcd8rsnpfswkg";
       };
     }
     {
@@ -104,8 +124,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft-mdb";
-        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
-        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+        rev = "95d26447c3c54581de2bb102ecc3344079b234bd";
+        sha256 = "1fqf7s2snzbjzxy1k04wdfkqsrxddp6iz72b9hxz9jmgx3l7nl2z";
       };
     }
     {
@@ -113,8 +133,17 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "serf";
-        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
-        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+        rev = "v0.6.3";
+        sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
+      };
+    }
+    {
+      root = "github.com/hashicorp/terraform";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "terraform";
+        rev = "v0.2.2";
+        sha256 = "05hy9vq8b05nxbmm277ll6p7ncjhxifnqii8y1dralz5x3cw27r3";
       };
     }
     {
@@ -140,8 +169,8 @@ let
       src = fetchFromGitHub {
         owner = "miekg";
         repo = "dns";
-        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
-        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+        rev = "5cdb7e11a3f60c88cf2dbce42866e7b42c74b394";
+        sha256 = "0glzs9r2i5vrncb3skdl987mdzqj2w86fqr5aj64lqgp7ghwj6hw";
       };
     }
     {
@@ -149,8 +178,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "cli";
-        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
-        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+        rev = "bfacda5ba006a32b10ddfe2abad56c11661573eb";
+        sha256 = "0lzvsya04nh7m804azanhs28vsk4g8knw3yay2yx4wffikbkjbgk";
       };
     }
     {
@@ -158,8 +187,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "mapstructure";
-        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
-        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+        rev = "740c764bc6149d3f1806231418adb9f52c11bcbf";
+        sha256 = "0rlz93rmz465nr0wmzvq1n58yc0qdw7v1chr6zmj9jj9pix0a7cb";
       };
     }
     {
@@ -167,7 +196,7 @@ let
       src = fetchFromGitHub {
         owner = "ryanuber";
         repo = "columnize";
-        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        rev = "v2.0.1";
         sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
       };
     }
@@ -176,51 +205,8 @@ let
       src = fetchFromGitHub {
         owner = "ugorji";
         repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
-      };
-    }
-    {
-      root = "github.com/ugorji/go-msgpack";
-      src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/bufio";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/msgpack";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
-      };
-    }
-    {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
-      };
-    }
-    {
-      root = "launchpad.net/mgo";
-      src = fetchbzr {
-        url = "https://launchpad.net/mgo";
-        rev = "2";
-        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+        rev = "e906e395b9d45d3230e800c8ad1f92f99764e753";
+        sha256 = "0dqzbxa4ziw10sa5ksl8sfzm0rhrddp6gs732zs9bjkq4rl50j89";
       };
     }
   ];
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
deleted file mode 100644
index d1c04f959cb8..000000000000
--- a/pkgs/servers/consul/ui.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchzip }:
-
-let
-  version = "0.3.0";
-  meta = with stdenv.lib; {
-    homepage = http://www.consul.io/intro/getting-started/ui.html;
-    description = "The static files for Consul's UI (used via -ui-dir)";
-    maintainers = with maintainers; [ cstrahan ];
-    license = licenses.mpl20 ;
-    platforms = platforms.all;
-  };
-in (fetchzip {
-  name = "consul-ui-${version}";
-  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
-  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
-}) // { inherit meta; }
-
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index 1fb7c24418f0..ee0477734c2f 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index c63306e1ff4f..833aaa95b0ca 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index 0753df43be54..4f0597ab3c39 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, munge, lua5, libcap, perl, ncurses }:
+{ stdenv, fetchurl, munge, lua, libcap, perl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "diod-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h92zadbkq4fjhqjzq17cl3x7bdkz2yakpcl0nccv4ml0gwfbx27";
   };
 
-  buildInputs = [ munge lua5 libcap perl ncurses ];
+  buildInputs = [ munge lua libcap perl ncurses ];
 
   meta = {
     description = "An I/O forwarding server that implements a variant of the 9P protocol";
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 7279aa6d4ef8..f5cf9544b9b4 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -1,4 +1,13 @@
 { config, stdenv, fetchurl, libevent, openssl
+, bind8Stats       ? false
+, checking         ? false
+, ipv6             ? true
+, mmap             ? false
+, minimalResponses ? true
+, nsec3            ? true
+, ratelimit        ? false
+, recvmmsg         ? false
+, rootServer       ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -12,17 +21,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ libevent openssl ];
 
   configureFlags =
-    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
-                                      else map (x: "--disable-${x}") flags;
-     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
-     ++ flag (config.nsd.checking         or false) [ "checking" ]
-     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
-     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
-     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
-     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
-     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
-     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
-     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+    let edf = c: o: if c then ["--enable-${o}"] else ["--disable-${o}"];
+     in edf bind8Stats       "bind8-stats"
+     ++ edf checking         "checking"
+     ++ edf ipv6             "ipv6"
+     ++ edf mmap             "mmap"
+     ++ edf minimalResponses "minimal-responses"
+     ++ edf nsec3            "nsec3"
+     ++ edf ratelimit        "ratelimit"
+     ++ edf recvmmsg         "recvmmsg"
+     ++ edf rootServer       "root-server"
      ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
 
   meta = {
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 903cf038d6e7..700317bc7994 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
-, gd, geoip
+, gd, geoip, luajit
 , rtmp ? false
 , fullWebDAV ? false
 , syslog ? false
 , moreheaders ? false
-, echo ? false }:
+, echo ? false
+, ngx_lua ? false }:
 
 with stdenv.lib;
 
@@ -44,6 +45,19 @@ let
     rev = "refs/tags/v0.53";
     sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868";
   };
+
+  develkit-ext = fetchgit {
+    url = https://github.com/simpl/ngx_devel_kit.git;
+    rev = "refs/tags/v0.2.19";
+    sha256 = "169m6gsa5b6zh1ws8qx2k7dbswld1zmhm4dh57qka0h07gs5dqjg";
+  };
+
+  lua-ext = fetchgit {
+    url = https://github.com/openresty/lua-nginx-module.git;
+    rev = "refs/tags/v0.9.11";
+    sha256 = "0y7238bvb907n7fsz5sivxbhfz2xnf4f0lzwk3k3h9j20fsyvwqq";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -52,7 +66,11 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ openssl zlib pcre libxml2 libxslt gd geoip
-    ] ++ optional fullWebDAV expat;
+    ] ++ optional fullWebDAV expat
+      ++ optional ngx_lua luajit;
+
+  LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
+  LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
 
   patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
 
@@ -83,6 +101,7 @@ stdenv.mkDerivation rec {
     ++ optional syslog "--add-module=${syslog-ext}"
     ++ optional moreheaders "--add-module=${moreheaders-ext}"
     ++ optional echo "--add-module=${echo-ext}"
+    ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
     ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
 
 
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index ee0049ce08f6..19f20cc8823c 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,23 +1,6 @@
-{ stdenv, fetchurl }:
-
-let version = "6.0.39"; in
-
-stdenv.mkDerivation rec {
-  name = "apache-tomcat-${version}";
-
-  src = fetchurl {
-    url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
+import ./recent.nix 
+  {
+    versionMajor = "6";
+    versionMinor = "0.39";
     sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
-  };
-
-  installPhase =
-    ''
-      mkdir $out
-      mv * $out
-    '';
-
-  meta = {
-    homepage = http://tomcat.apache.org/;
-    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
-  };
-}
+  }
diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix
new file mode 100644
index 000000000000..87bc57eb2b65
--- /dev/null
+++ b/pkgs/servers/http/tomcat/7.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "7";
+    versionMinor = "0.55";
+    sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15";
+  }
diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix
new file mode 100644
index 000000000000..63b8d2bbc94e
--- /dev/null
+++ b/pkgs/servers/http/tomcat/8.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "8";
+    versionMinor = "0.9";
+    sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9";
+  }
diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix
new file mode 100644
index 000000000000..0d11ba7a1046
--- /dev/null
+++ b/pkgs/servers/http/tomcat/recent.nix
@@ -0,0 +1,24 @@
+{ versionMajor, versionMinor, sha256 }:
+{ stdenv, fetchurl }:
+
+let version = "${versionMajor}.${versionMinor}"; in
+
+stdenv.mkDerivation rec {
+  name = "apache-tomcat-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz";
+    inherit sha256;
+  };
+
+  installPhase =
+    ''
+      mkdir $out
+      mv * $out
+    '';
+
+  meta = {
+    homepage = http://tomcat.apache.org/;
+    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
+  };
+}
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index b37aaca1eaa3..f27bb009a434 100644
--- a/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation {
-  name = "ircd-hybrid-7.2.2";
+  name = "ircd-hybrid-7.2.3";
 
   src = fetchurl {
-    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.2.tgz;
-    sha256 = "1xn4dfbgx019mhismfnr2idhslvarlajyahj7c6bqzmarcwwrvck";
+    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.3.tgz;
+    sha256 = "0w28w10vx3j2s6h2p0qx2p08gafyad7ddxa4f8i94vmx193l7w37";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix
index 23f236a9a34e..a3579aa83099 100644
--- a/pkgs/servers/news/leafnode/default.nix
+++ b/pkgs/servers/news/leafnode/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--enable-runas-user=nobody";
 
+  preConfigure = ''
+    # configure uses id to check environment; we don't want this check
+    sed -re 's/^ID[=].*/ID="echo whatever"/' -i configure
+  '';
+
   postConfigure = ''
       # The is_validfqdn is far too restrictive, and only allows
       # Internet-facing servers to run.  In order to run leafnode via
@@ -24,6 +29,5 @@ stdenv.mkDerivation rec {
     description = "Leafnode implements a store & forward NNTP proxy";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    broken = true; # The user check in the configure does not work in a chroot
   };
 }
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 6c6fb213cb8c..3eba1b9f8956 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, makeWrapper }:
+{ stdenv, fetchurl, makeWrapper, zlib, bzip2 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "influxdb-${version}";
-  version = "0.7.0";
+  version = "0.8.2";
   arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz";
     sha256 = if arch == "amd64" then
-        "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else
-        "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b";
+        "0m27agjf9v76w5xms8w3z91k4hxw832nxqr030qzqxynwbxj0vg6" else
+        "0bdjpdq4yhfsmvl756xhkd1d8565d19g66l5rlymksc71ps8kbj6";
   };
 
   buildInputs = [ makeWrapper ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     install -D influxdb $out/bin/influxdb
     patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb
     wrapProgram "$out/bin/influxdb" \
-        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64"
+        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64:${zlib}/lib:${bzip2}/lib"
 
     mkdir -p $out/share/influxdb
     cp -R admin scripts config.toml $out/share/influxdb
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index 96315c52f6bf..e773f6ddcc36 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "Dynamo inspired NoSQL DB by Basho";
     longDescription = ''
       This patches the riak and riak-admin scripts to work better in Nix.
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 47c8c12edef6..162b12f8adc1 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.z77z;
+    maintainers = [ stdenv.lib.maintainers.z77z ];
   };
 }
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index a918007b47c6..de262af095cb 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -45,10 +45,15 @@ stdenv.mkDerivation rec {
        -e "s|chmod r+s |true |"
   '';
 
-  configureFlags =
-    [ "--disable-solaris" "--disable-jack" "--disable-oss-output"
-      "--disable-oss-wrapper" "--localstatedir=/var" "--sysconfdir=/etc" ]
-    ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
+  configureFlags = [
+    "--disable-solaris"
+    "--disable-jack"
+    "--disable-oss-output"
+    "--disable-oss-wrapper"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+    "--with-access-group=audio"
+  ] ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
     ++ stdenv.lib.optional stdenv.isDarwin "--with-mac-sysroot=/";
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 66a0743b367f..1325cebae405 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Ripple P2P payment network reference server";
-    homepage = "https://ripple.com";
-    maintainers = stdenv.lib.maintainers.emery;
+    homepage = https://ripple.com;
+    maintainers = [ stdenv.lib.maintainers.emery ];
     license = stdenv.lib.licenses.isc;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index c03a2feae5f2..568737b11385 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -50,4 +50,24 @@ in {
       license = licenses.asl20;
     };
   };
+
+  elasticsearch_http_basic = stdenv.mkDerivation rec {
+    name = "elasticsearch-http-basic-${version}";
+    version = "1.2.0";
+
+    src = fetchurl {
+      url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/${version}/${name}.jar";
+      sha256 = "0makhlsgxlawfscz70mc2ikh68vp6mdmmzz4ggcgwrravzvyw5vq";
+    };
+
+    phases = ["installPhase"];
+    installPhase = "install -D $src $out/plugins/http-basic/${name}.jar";
+
+    meta = {
+      homepage = https://github.com/Asquera/elasticsearch-http-basic;
+      description = "HTTP Basic Authentication for Elasticsearch";
+      license = licenses.mit;
+      platforms = elasticsearch.meta.platforms;
+    };
+  };
 }
diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix
new file mode 100644
index 000000000000..a72240064f2f
--- /dev/null
+++ b/pkgs/servers/search/sphinxsearch/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig,
+  version ? "2.1.9",
+  mainSrc ? fetchurl {
+    url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz";
+    sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2";
+  }
+}:
+
+stdenv.mkDerivation rec {
+  name = "sphinxsearch-${version}";
+  src = mainSrc;
+
+  configureFlags = [
+    "--program-prefix=sphinxsearch-"
+    "--without-mysql"
+    "--enable-id64"
+  ];
+
+  buildInputs = [
+    pkgconfig
+  ];
+
+  meta = {
+    description = "An open source full text search server";
+    homepage    = http://sphinxsearch.com;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ederoyd46 ];
+  };
+}
diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix
index c309158a6705..b422b9938320 100644
--- a/pkgs/servers/sql/mysql/5.1.x.nix
+++ b/pkgs/servers/sql/mysql/5.1.x.nix
@@ -3,11 +3,11 @@
 # Note: zlib is not required; MySQL can use an internal zlib.
 
 stdenv.mkDerivation rec {
-  name = "mysql-5.1.72";
+  name = "mysql-5.1.73";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.1/${name}.tar.gz";
-    md5 = "ed79cd48e3e7402143548917813cdb80";
+    sha256 = "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5";
   };
 
   buildInputs = [ncurses zlib perl openssl] ++ stdenv.lib.optional stdenv.isLinux ps;
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index 7c31bd7c5828..7266727fdad8 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.37";
+  version = "5.5.39";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    md5 = "bf1d80c66d4822ec6036300399a33c03";
+    sha256 = "0qj8bc83v6vf8jyn4ag179nclpn6ilw4h4xqb50zz9jd0c5s14qq";
   };
 
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 5151299e3b93..4807052478c0 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 97e98217f8aa..85c14931eedc 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 92417dc730c7..ef335a77ab6f 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index e5dbdd034d3f..fdfb5a17b54f 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix
index 6c6ef132e813..40f07d8ffe15 100644
--- a/pkgs/servers/sql/postgresql/9.3.x.nix
+++ b/pkgs/servers/sql/postgresql/9.3.x.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix
new file mode 100644
index 000000000000..2608dcae5042
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.4.x.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, zlib, readline, libossp_uuid }:
+
+with stdenv.lib;
+
+let version = "9.4beta2"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "131q3b9hv4pw02xhjsfi5is9i7pp5f4srxwfdn8ifs9qb37hcx2n";
+  };
+
+  buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "world" ];
+
+  configureFlags = optional (!stdenv.isDarwin)
+    ''
+      --with-ossp-uuid
+    '';
+
+  patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
+
+  installTargets = [ "install-world" ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.4";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/ ;
+    description = "A powerful, open source object-relational database system";
+    license = stdenv.lib.licenses.postgresql;
+    maintainers = with stdenv.lib.maintainers; [ aristid ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
new file mode 100644
index 000000000000..fadeea90ac4b
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
@@ -0,0 +1,12 @@
+--- a/src/common/exec.c	2014-09-04 20:19:12.236057588 +0200
++++ b/src/common/exec.c	2014-09-04 20:19:50.550251633 +0200
+@@ -218,6 +218,9 @@
+ 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/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index c4dfa983f55f..5dd7c0fa75dd 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -915,11 +915,11 @@ let
   }) // {inherit ;};
 
   libxcb = (mkDerivation "libxcb" {
-    name = "libxcb-1.10";
+    name = "libxcb-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2;
-      sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq";
+      url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2;
+      sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
   }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
@@ -1175,11 +1175,11 @@ let
   }) // {inherit ;};
 
   xcbproto = (mkDerivation "xcbproto" {
-    name = "xcb-proto-1.10";
+    name = "xcb-proto-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2;
-      sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y";
+      url = http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2;
+      sha256 = "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l";
     };
     buildInputs = [pkgconfig python ];
   }) // {inherit python ;};
@@ -1405,11 +1405,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputmouse = (mkDerivation "xf86inputmouse" {
-    name = "xf86-input-mouse-1.9.0";
+    name = "xf86-input-mouse-1.9.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2;
-      sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x";
+      url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2;
+      sha256 = "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
@@ -1515,11 +1515,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
 
   xf86videogeode = (mkDerivation "xf86videogeode" {
-    name = "xf86-video-geode-2.11.15";
+    name = "xf86-video-geode-2.11.16";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2;
-      sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0";
+      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2;
+      sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -2035,11 +2035,11 @@ let
   }) // {inherit ;};
 
   xrandr = (mkDerivation "xrandr" {
-    name = "xrandr-1.4.2";
+    name = "xrandr-1.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2;
-      sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj";
+      url = mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2;
+      sha256 = "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ];
   }) // {inherit libX11 xproto libXrandr libXrender ;};
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 2d105241c2d1..84795ed980b3 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,6 +1,6 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2
+http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 93acd927f3bf..1cc028e60d76 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -118,7 +118,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
@@ -130,7 +130,7 @@ mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2
 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
-mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2
+mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
@@ -176,7 +176,7 @@ mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
 mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2
-mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2
+mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2
 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2
 mirror://xorg/individual/app/xset-1.2.3.tar.bz2
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 11731c1c1c10..29e4455f7cb3 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -154,7 +154,8 @@ let
              || system == "x86_64-kfreebsd-gnu";
       isSunOS = system == "i686-solaris"
              || system == "x86_64-solaris";
-      isCygwin = system == "i686-cygwin";
+      isCygwin = system == "i686-cygwin"
+              || system == "x86_64-cygwin";
       isFreeBSD = system == "i686-freebsd"
               || system == "x86_64-freebsd";
       isOpenBSD = system == "i686-openbsd"
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 23cccf223f4f..6f8b42c2266a 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -35,8 +35,8 @@ rec {
   # The bootstrap process proceeds in several steps.
 
 
-  # 1) Create a standard environment by downloading pre-built binaries
-  # of coreutils, GCC, etc.
+  # Create a standard environment by downloading pre-built binaries of
+  # coreutils, GCC, etc.
 
 
   # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
@@ -46,7 +46,7 @@ rec {
     builder = bootstrapFiles.sh;
 
     args =
-      if system == "armv5tel-linux" || system == "armv6l-linux" 
+      if system == "armv5tel-linux" || system == "armv6l-linux"
         || system == "armv7l-linux"
       then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
       else [ ./scripts/unpack-bootstrap-tools.sh ];
@@ -66,137 +66,136 @@ rec {
   };
 
 
-  # This function builds the various standard environments used during
-  # the bootstrap.
-  stdenvBootFun =
-    {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}:
-
-    import ../generic {
-      inherit system config;
-      name = "stdenv-linux-boot";
-      preHook =
-        ''
-          # Don't patch #!/interpreter because it leads to retained
-          # dependencies on the bootstrapTools in the final stdenv.
-          dontPatchShebangs=1
-          ${commonPreHook}
-        '';
-      shell = "${bootstrapTools}/bin/sh";
-      initialPath = [bootstrapTools] ++ extraPath;
-      fetchurlBoot = fetchurl;
-      inherit gcc;
-      # Having the proper 'platform' in all the stdenvs allows getting proper
-      # linuxHeaders for example.
-      extraAttrs = extraAttrs // { inherit platform; };
-      overrides = pkgs: (overrides pkgs) // {
-        inherit fetchurl;
-      };
-    };
+  # A helper function to call gcc-wrapper.
+  wrapGCC =
+    { gcc, libc, binutils, coreutils, name }:
 
-  # Build a dummy stdenv with no GCC or working fetchurl.  This is
-  # because we need a stdenv to build the GCC wrapper and fetchurl.
-  stdenvLinuxBoot0 = stdenvBootFun {
-    gcc = "/no-such-path";
-    fetchurl = null;
-  };
+    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
+      nativeTools = false;
+      nativeLibc = false;
+      inherit gcc binutils coreutils libc name;
+      stdenv = stage0.stdenv;
+    };
 
 
-  fetchurl = import ../../build-support/fetchurl {
-    stdenv = stdenvLinuxBoot0;
-    curl = bootstrapTools;
-  };
+  # This function builds the various standard environments used during
+  # the bootstrap.  In all stages, we build an stdenv and the package
+  # set that can be built with that stdenv.
+  stageFun =
+    {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}:
+
+    let
+
+      thisStdenv = import ../generic {
+        inherit system config;
+        name = "stdenv-linux-boot";
+        preHook =
+          ''
+            # Don't patch #!/interpreter because it leads to retained
+            # dependencies on the bootstrapTools in the final stdenv.
+            dontPatchShebangs=1
+            ${commonPreHook}
+          '';
+        shell = "${bootstrapTools}/bin/sh";
+        initialPath = [bootstrapTools] ++ extraPath;
+        fetchurlBoot = import ../../build-support/fetchurl {
+          stdenv = stage0.stdenv;
+          curl = bootstrapTools;
+        };
+        inherit gcc;
+        # Having the proper 'platform' in all the stdenvs allows getting proper
+        # linuxHeaders for example.
+        extraAttrs = extraAttrs // { inherit platform; };
+        overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
+      };
 
+      thisPkgs = allPackages {
+        inherit system platform;
+        bootStdenv = thisStdenv;
+      };
 
-  # The Glibc include directory cannot have the same prefix as the GCC
-  # include directory, since GCC gets confused otherwise (it will
-  # search the Glibc headers before the GCC headers).  So create a
-  # dummy Glibc.
-  bootstrapGlibc = stdenvLinuxBoot0.mkDerivation {
-    name = "bootstrap-glibc";
-    buildCommand = ''
-      mkdir -p $out
-      ln -s ${bootstrapTools}/lib $out/lib
-      ln -s ${bootstrapTools}/include-glibc $out/include
-    '';
-  };
+    in { stdenv = thisStdenv; pkgs = thisPkgs; };
 
 
-  # A helper function to call gcc-wrapper.
-  wrapGCC =
-    { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }:
+  # Build a dummy stdenv with no GCC or working fetchurl.  This is
+  # because we need a stdenv to build the GCC wrapper and fetchurl.
+  stage0 = stageFun {
+    gcc = "/no-such-path";
 
-    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
-      nativeTools = false;
-      nativeLibc = false;
-      inherit gcc binutils coreutils libc shell name;
-      stdenv = stdenvLinuxBoot0;
+    overrides = pkgs: {
+      # The Glibc include directory cannot have the same prefix as the
+      # GCC include directory, since GCC gets confused otherwise (it
+      # will search the Glibc headers before the GCC headers).  So
+      # create a dummy Glibc here, which will be used in the stdenv of
+      # stage1.
+      glibc = stage0.stdenv.mkDerivation {
+        name = "bootstrap-glibc";
+        buildCommand = ''
+          mkdir -p $out
+          ln -s ${bootstrapTools}/lib $out/lib
+          ln -s ${bootstrapTools}/include-glibc $out/include
+        '';
+      };
     };
+  };
 
 
   # Create the first "real" standard environment.  This one consists
   # of bootstrap tools only, and a minimal Glibc to keep the GCC
   # configure script happy.
-  stdenvLinuxBoot1 = stdenvBootFun {
+  #
+  # For clarity, we only use the previous stage when specifying these
+  # stages.  So stageN should only ever have references for stage{N-1}.
+  #
+  # If we ever need to use a package from more than one stage back, we
+  # simply re-export those packages in the middle stage(s) using the
+  # overrides attribute and the inherit syntax.
+  stage1 = stageFun {
     gcc = wrapGCC {
-      libc = bootstrapGlibc;
+      gcc = bootstrapTools;
+      libc = stage0.pkgs.glibc;
       binutils = bootstrapTools;
       coreutils = bootstrapTools;
+      name = "bootstrap-gcc-wrapper";
+    };
+    # Rebuild binutils to use from stage2 onwards.
+    overrides = pkgs: {
+      binutils = pkgs.binutils.override { gold = false; };
+      inherit (stage0.pkgs) glibc;
     };
-    inherit fetchurl;
-  };
-
-
-  # 2) These are the packages that we can build with the first
-  #    stdenv.  We only need binutils, because recent Glibcs
-  #    require recent Binutils, and those in bootstrap-tools may
-  #    be too old.
-  stdenvLinuxBoot1Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot1;
   };
 
-  binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; };
 
-
-  # 3) 2nd stdenv that we will use to build only Glibc.
-  stdenvLinuxBoot2 = stdenvBootFun {
+  # 2nd stdenv that contains our own rebuilt binutils and is used for
+  # compiling our own Glibc.
+  stage2 = stageFun {
     gcc = wrapGCC {
-      libc = bootstrapGlibc;
-      binutils = binutils1;
+      gcc = bootstrapTools;
+      libc = stage1.pkgs.glibc;
+      binutils = stage1.pkgs.binutils;
       coreutils = bootstrapTools;
+      name = "bootstrap-gcc-wrapper";
     };
     overrides = pkgs: {
-      inherit (stdenvLinuxBoot1Pkgs) perl;
+      inherit (stage1.pkgs) perl binutils paxctl;
+      # This also contains the full, dynamically linked, final Glibc.
     };
-    inherit fetchurl;
-  };
-
-
-  # 4) These are the packages that we can build with the 2nd
-  #    stdenv.
-  stdenvLinuxBoot2Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot2;
   };
 
 
-  # 5) Build Glibc with the bootstrap tools.  The result is the full,
-  #    dynamically linked, final Glibc.
-  stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc;
-
-
-  # 6) Construct a third stdenv identical to the 2nd, except that this
-  #    one uses the Glibc built in step 5.  It still uses the recent
-  #    binutils and rest of the bootstrap tools, including GCC.
-  stdenvLinuxBoot3 = stdenvBootFun {
+  # Construct a third stdenv identical to the 2nd, except that this
+  # one uses the rebuilt Glibc from stage2.  It still uses the recent
+  # binutils and rest of the bootstrap tools, including GCC.
+  stage3 = stageFun {
     gcc = wrapGCC {
-      binutils = binutils1;
+      gcc = bootstrapTools;
+      libc = stage2.pkgs.glibc;
+      binutils = stage2.pkgs.binutils;
       coreutils = bootstrapTools;
-      libc = stdenvLinuxGlibc;
+      name = "bootstrap-gcc-wrapper";
     };
     overrides = pkgs: {
-      glibc = stdenvLinuxGlibc;
-      inherit (stdenvLinuxBoot1Pkgs) perl;
+      inherit (stage2.pkgs) binutils glibc perl;
       # Link GCC statically against GMP etc.  This makes sense because
       # these builds of the libraries are only used by GCC, so it
       # reduces the size of the stdenv closure.
@@ -208,54 +207,40 @@ rec {
       ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
     };
     extraAttrs = {
-      glibc = stdenvLinuxGlibc;   # Required by gcc47 build
+      glibc = stage2.pkgs.glibc;  # Required by gcc47 build
     };
-    extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ];
-    inherit fetchurl;
+    extraPath = [ stage2.pkgs.paxctl ];
   };
 
 
-  # 7) The packages that can be built using the third stdenv.
-  stdenvLinuxBoot3Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot3;
-  };
-
-
-  # 8) Construct a fourth stdenv identical to the second, except that
-  #    this one uses the new GCC from step 7.  The other tools
-  #    (e.g. coreutils) are still from the bootstrap tools.
-  stdenvLinuxBoot4 = stdenvBootFun {
-    gcc = wrapGCC rec {
-      binutils = binutils1;
+  # Construct a fourth stdenv that uses the new GCC.  But coreutils is
+  # still from the bootstrap tools.
+  stage4 = stageFun {
+    gcc = wrapGCC {
+      gcc = stage3.pkgs.gcc.gcc;
+      libc = stage3.pkgs.glibc;
+      binutils = stage3.pkgs.binutils;
       coreutils = bootstrapTools;
-      libc = stdenvLinuxGlibc;
-      gcc = stdenvLinuxBoot3Pkgs.gcc.gcc;
       name = "";
     };
-    extraPath = [ stdenvLinuxBoot3Pkgs.xz ];
+    extraPath = [ stage3.pkgs.xz ];
     overrides = pkgs: {
-      inherit (stdenvLinuxBoot1Pkgs) perl;
-      inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp;
+      # Zlib has to be inherited and not rebuilt in this stage,
+      # because gcc (since JAR support) already depends on zlib, and
+      # then if we already have a zlib we want to use that for the
+      # other purposes (binutils and top-level pkgs) too.
+      inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib;
     };
-    inherit fetchurl;
   };
 
 
-  # 9) The packages that can be built using the fourth stdenv.
-  stdenvLinuxBoot4Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot4;
-  };
-
-
-  # 10) Construct the final stdenv.  It uses the Glibc and GCC, and
-  #     adds in a new binutils that doesn't depend on bootstrap-tools,
-  #     as well as dynamically linked versions of all other tools.
+  # Construct the final stdenv.  It uses the Glibc and GCC, and adds
+  # in a new binutils that doesn't depend on bootstrap-tools, as well
+  # as dynamically linked versions of all other tools.
   #
-  #     When updating stdenvLinux, make sure that the result has no
-  #     dependency (`nix-store -qR') on bootstrapTools or the
-  #     first binutils built.
+  # When updating stdenvLinux, make sure that the result has no
+  # dependency (`nix-store -qR') on bootstrapTools or the first
+  # binutils built.
   stdenvLinux = import ../generic rec {
     inherit system config;
 
@@ -268,35 +253,32 @@ rec {
       '';
 
     initialPath =
-      ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;})
-      ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ];
-
-    gcc = wrapGCC rec {
-      inherit (stdenvLinuxBoot4Pkgs) binutils coreutils;
-      libc = stdenvLinuxGlibc;
-      gcc = stdenvLinuxBoot4.gcc.gcc;
-      shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
-      name = "";
-    };
+      ((import ../common-path.nix) {pkgs = stage4.pkgs;})
+      ++ [stage4.pkgs.patchelf stage4.pkgs.paxctl ];
+
+    shell = stage4.pkgs.bash + "/bin/bash";
 
-    shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
+    gcc = (wrapGCC rec {
+      gcc = stage4.stdenv.gcc.gcc;
+      libc = stage4.pkgs.glibc;
+      inherit (stage4.pkgs) binutils coreutils;
+      name = "";
+    }).override { inherit shell; };
 
-    fetchurlBoot = fetchurl;
+    inherit (stage4.stdenv) fetchurlBoot;
 
     extraAttrs = {
-      inherit (stdenvLinuxBoot3Pkgs) glibc;
+      inherit (stage4.pkgs) glibc;
       inherit platform bootstrapTools;
-      shellPackage = stdenvLinuxBoot4Pkgs.bash;
+      shellPackage = stage4.pkgs.bash;
     };
 
     overrides = pkgs: {
       inherit gcc;
-      inherit (stdenvLinuxBoot3Pkgs) glibc;
-      inherit (stdenvLinuxBoot4Pkgs) binutils;
-      inherit (stdenvLinuxBoot4Pkgs)
-        gzip bzip2 xz bash coreutils diffutils findutils gawk
-        gnumake gnused gnutar gnugrep gnupatch patchelf
-        attr acl paxctl;
+      inherit (stage4.pkgs)
+        gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
+        glibc gnumake gnused gnutar gnugrep gnupatch patchelf
+        attr acl paxctl zlib;
     };
   };
 
diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix
index 34cff9ac93f4..91042fe05911 100644
--- a/pkgs/test/openftd/default.nix
+++ b/pkgs/test/openftd/default.nix
@@ -6,7 +6,7 @@ Systeemvereisten
 * glib >= 2.2.0
 * gtk >= 2.2.0
 
-Glib 2 is een 'dependancy' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
+Glib 2 is een 'dependency' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
 Alhoewel FTD4Linux gtk 2.2 als minimumvereiste heeft raden we toch aan om gtk 2.4 te gebruiken. Dit vanwege een bug in gtk versies 2.2.2 t/m 2.2.4.
 
 * libxml2 >= 2.2.5
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index a88c0b345d72..9ef93a30b681 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -1,32 +1,29 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.1.5";
+  version = "5.1.7";
 in
 stdenv.mkDerivation {
   name = "unrar-${version}";
 
   src = fetchurl {
     url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912";
+    sha256 = "13ida8vcamiagl40d9yfjma9k6givxczhx278f1p7bv9wgb8gfmc";
   };
 
-  patchPhase = ''
-    sed -i \
-      -e "/CXX=/d" \
-      -e "/CXXFLAGS=/d" \
-      makefile
-  '';
-
   installPhase = ''
-    mkdir -p $out/bin
-    cp unrar $out/bin
+    installBin unrar
+
+    mkdir -p $out/share/doc/unrar
+    cp acknow.txt license.txt \
+        $out/share/doc/unrar
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Utility for RAR archives";
-    license = "freeware";
-    maintainers = [ stdenv.lib.maintainers.emery ];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary
+    homepage = http://www.rarlab.com/;
+    license = licenses.unfreeRedistributable;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix
index 69c62985154c..9bf9ee0d2245 100644
--- a/pkgs/tools/audio/gvolicon/default.nix
+++ b/pkgs/tools/audio/gvolicon/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A simple and lightweight volume icon that sits in your system tray.";
-    homepage = "https://github.com/Unia/gvolicon";
+    homepage = https://github.com/Unia/gvolicon;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bennofs;
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/audio/volumeicon/default.nix b/pkgs/tools/audio/volumeicon/default.nix
new file mode 100644
index 000000000000..0de3af28c19e
--- /dev/null
+++ b/pkgs/tools/audio/volumeicon/default.nix
@@ -0,0 +1,23 @@
+{ pkgs, fetchurl, stdenv, gtk3, pkgconfig, intltool, alsaLib }:
+
+stdenv.mkDerivation rec {
+  name = "volumeicon-${version}";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz";
+    sha256 = "10np3fvfzyxkjw0kfzg81a7kcxda1fz6nkqffkijbay5ksgigwg5";
+  };
+
+  buildInputs = [ gtk3 pkgconfig intltool alsaLib ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight volume control that sits in your systray.";
+    homepage = "http://softwarebakery.com/maato/volumeicon.html";
+    platforms = pkgs.lib.platforms.linux;
+    maintainers = with maintainers; [ bobvanderlinden ];
+    license = pkgs.lib.licenses.gpl3;
+  };
+
+}
+
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
index 4df142afe3a5..fc5b83305224 100644
--- a/pkgs/tools/backup/httrack/default.nix
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "3.48.17";
+  version = "3.48.19";
   name = "httrack-${version}";
 
   src = fetchurl {
     url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
-    sha256 = "03q8sk7qihw9x4bfgfhv6523khgj13nilqps28qy7ndpzpggw9vn";
+    sha256 = "1zlayvl6x0ck1g5rvmj7cc88w0an5f4y93r3g5l10hhhl87cvw0n";
   };
 
   buildInputs = [ zlib openssl ];
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.httrack.com";
     description = "Easy-to-use offline browser utility";
     license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 095337d12510..a9a167355edb 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -5,11 +5,11 @@
 }:
    
 stdenv.mkDerivation rec {
-  name = "blueman-1.21";
+  name = "blueman-1.23";
    
   src = fetchurl {
     url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
-    sha256 = "1bz31w0cqcl77r7vfjwm9c4gmk4hvq3nqn1pjnd5qndia2mhs846";
+    sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh";
   };
 
   configureFlags = "--disable-polkit";
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 516f07508072..9c538842816f 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }:
 
-let version = "603"; in
+let version = "608"; in
 
 stdenv.mkDerivation {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "03nhy1w9q0ycpcni6w61ps1mji859nvmvr1bhnlzi04z0s5ldbwx";
+    sha256 = "1010ccdrblsjr5zid6wl3c3b75ld37lrr1a1xc6dlrhz1gvcb6ff";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index b644f46dff86..e1d7c26fa430 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  preHook = "unset CONFIG_SHELL";
+
   meta = {
     homepage = http://tukaani.org/xz/;
     description = "XZ, general-purpose data compression software, successor of LZMA";
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 66152f9589b7..79566d15bb9a 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
 
-let version = "3.14.2"; in
+let version = "3.16"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh";
+    sha256 = "0phbrgipl04q8cdj9nnshik7b6p2bg51jxb3l1gvfc04dkgm2xls";
   };
 
   buildInputs = [
@@ -16,15 +16,18 @@ stdenv.mkDerivation rec {
     asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
+  patches = [ ./multiple_mounts.patch ];
+
   # for btrfs to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
 
   makeFlags = "prefix=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ raskin wkennington ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
new file mode 100644
index 000000000000..0ba6550a2d3b
--- /dev/null
+++ b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
@@ -0,0 +1,13 @@
+Only in btrfs-progs-v3.16-orig: btrfs-progs-v3.16
+diff -U3 -r btrfs-progs-v3.16-orig/utils.c btrfs-progs-v3.16/utils.c
+--- btrfs-progs-v3.16-orig/utils.c	2014-09-03 09:57:45.644858545 +0400
++++ btrfs-progs-v3.16/utils.c	2014-09-03 09:59:26.968855663 +0400
+@@ -2360,7 +2360,7 @@
+ 		len = strlen(ent->mnt_dir);
+ 		if (strncmp(ent->mnt_dir, path, len) == 0) {
+ 			/* match found */
+-			if (longest_matchlen < len) {
++			if ((longest_matchlen < len) || (longest_matchlen==len && not_btrfs)) {
+ 				free(longest_match);
+ 				longest_matchlen = len;
+ 				longest_match = strdup(ent->mnt_dir);
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index c9078a0cb8be..e33f46ea9ccd 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -6,17 +6,17 @@ let
   p = if stdenv.is64bit then {
       arch = "x86_64";
       gcclib = "${stdenv.gcc.gcc}/lib64";
-      sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim";
+      sha256 = "09kw7f0qsvx3vx1c1zb117yf3yk7kkz66agspz5xx9b0zh6i82jw";
     }
     else {
       arch = "i386";
       gcclib = "${stdenv.gcc.gcc}/lib";
-      sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f";
+      sha256 = "0f2230c91120f05159281b39c620ab6bad6559ce8a17a0874d0a82350ebba426";
     };
 in 
 stdenv.mkDerivation rec {
 
-  name = "yandex-disk-0.1.2.481";
+  name = "yandex-disk-0.1.4.504";
 
   src = fetchurl {
     url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index b27e5132804b..0419732949d8 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.7.76";
+  name = "pngcrush-1.7.77";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "0jbv3ijc0nfhy6pkhv4dwbk2v488rwixd8rv1c7lfs59wblb44hv";
+    sha256 = "0404275rb6934aiwrysgapg0irbimcb2y8giqlc63gfspnvy67fa";
   };
 
   configurePhase = ''
diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix
index 892ef54cdeee..936956cbd177 100644
--- a/pkgs/tools/graphics/qrencode/default.nix
+++ b/pkgs/tools/graphics/qrencode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qrencode-3.4.3";
+  name = "qrencode-3.4.4";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz";
+    sha256 = "198zvsfa2y5bb3ccikrhmhd4i43apr3b26dqcf3zkjyv3n5iirgg";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index 84b271acf2b0..2f3929b82b8e 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -1,22 +1,88 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchgit, qt4, fontconfig, freetype, libpng, zlib, libjpeg
+, openssl, libX11, libXext, libXrender, overrideDerivation }:
 
 stdenv.mkDerivation rec {
-  name = "wkhtmltopdf-0.11.0_rc1";
+  version = "0.12.1";
+  name = "wkhtmltopdf-${version}";
 
-  src = fetchurl {
-    url = "http://wkhtmltopdf.googlecode.com/files/${name}.tar.bz2";
-    sha1 = "db03922d281856e503b3d562614e3936285728c7";
+  src = fetchgit {
+    url = "https://github.com/wkhtmltopdf/wkhtmltopdf.git";
+    rev = "refs/tags/${version}";
+    sha256 = "0wjzaaviy1k3z8r2kzb2rmyx6xdj23a338b86sxcb15ws3kzwgwh";
   };
 
-  buildInputs = [ qt4 ];
+  wkQt = overrideDerivation qt4 (deriv: {
+    name = "qt-mod-4.8.6";
+    src = fetchgit {
+      url = "https://github.com/wkhtmltopdf/qt.git";
+      rev = "82b568b"; # From git submodule spec in wkhtml repo.
+      sha256 = "0whppwxnymh5bdayqsqx54n074m99yk6v78z7f0k5prja55yvwyx";
+    };
+    configureFlags =
+      ''
+        -v -no-separate-debug-info -release -confirm-license -opensource
+        -qdbus -glib -dbus-linked -openssl-linked
+      ''
+      + # This is taken from the wkhtml build script that we don't run
+      ''
+        -fast
+        -static
+        -exceptions
+        -xmlpatterns
+        -webkit
+        -system-zlib
+        -system-libpng
+        -system-libjpeg
+        -no-libmng
+        -no-libtiff
+        -no-accessibility
+        -no-stl
+        -no-qt3support
+        -no-phonon
+        -no-phonon-backend
+        -no-opengl
+        -no-declarative
+        -no-sql-ibase
+        -no-sql-mysql
+        -no-sql-odbc
+        -no-sql-psql
+        -no-sql-sqlite
+        -no-sql-sqlite2
+        -no-mmx
+        -no-3dnow
+        -no-sse
+        -no-sse2
+        -no-multimedia
+        -nomake demos
+        -nomake docs
+        -nomake examples
+        -nomake tools
+        -nomake tests
+        -nomake translations
+      '';
+  });
+
+  buildInputs = [ wkQt fontconfig freetype libpng zlib libjpeg openssl
+    libX11 libXext libXrender
+    ];
 
   configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out";
   
+  patches = [ ./makefix.patch ];
+
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://code.google.com/p/wkhtmltopdf/;
+    homepage = http://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
+    longDescription = ''
+      wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools
+      to render HTML into PDF and various image formats using the QT Webkit
+      rendering engine. These run entirely "headless" and do not require a
+      display or display service.
+
+      There is also a C library, if you're into that kind of thing.
+    '';
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/graphics/wkhtmltopdf/makefix.patch b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
new file mode 100644
index 000000000000..0642a23afa9e
--- /dev/null
+++ b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
@@ -0,0 +1,24 @@
+diff -Naur a/src/image/image.pro b/src/image/image.pro
+--- a/src/image/image.pro	2014-08-28 14:07:51.024561967 +0200
++++ b/src/image/image.pro	2014-08-28 14:08:22.383623390 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltoimage.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltoimage.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
+diff -Naur a/src/pdf/pdf.pro b/src/pdf/pdf.pro
+--- a/src/pdf/pdf.pro	2014-08-28 14:10:02.305818775 +0200
++++ b/src/pdf/pdf.pro	2014-08-28 14:09:47.360789555 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltopdf.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltopdf.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 2795b0d4d871..2db5d36a10d8 100644
--- a/pkgs/tools/inputmethods/fcitx/default.nix
+++ b/pkgs/tools/inputmethods/fcitx/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "fcitx-4.2.8.3";
+  name = "fcitx-4.2.8.4";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
-    sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb";
+    sha256 = "1yhvqg4q0knywdrh8sljqjn1i72rd8ya0fr70pc0w7fq25013x37";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
new file mode 100644
index 000000000000..2099220f2a1f
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, fcitx, anthy }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-anthy-0.2.1";
+
+  meta = with stdenv.lib; {
+    description = "Fcitx Wrapper for anthy";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
+    sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x";
+  };
+
+  buildInputs = [ cmake fcitx anthy ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+}
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 1b6205db7ce7..36d49ce9b235 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ethtool-3.14";
+  name = "ethtool-3.15";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3";
+    sha256 = "16kgw9y4fisldf1z6zpw3v965cc8nram0dycacwkc0js4l76klw8";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 16c7f652deca..cc07ac95db8d 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig, gtkmm, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.18.0";
+  name = "gparted-0.19.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.bz2";
-    sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz";
+    sha256 = "1x0mbks94jpzphb8hm8w0iqjrn665jkdm4qnzrvxrnvy0x3m2fwd";
   };
 
   configureFlags = "--disable-doc";
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index b1877bdcf98c..e5471a6c404c 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,30 +1,52 @@
-{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu
-, devicemapper, EFIsupport ? false }:
-
+{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake
+, gettext, ncurses, libusb, freetype, qemu, devicemapper
+, linuxPackages ? null
+, efiSupport ? false
+, zfsSupport ? false
+}:
+
+with stdenv.lib;
 let
+  efiSystems = {
+    "i686-linux".target = "i386";
+    "x86_64-linux".target = "x86_64";
+  };
 
-  prefix = "grub${if EFIsupport then "-efi" else ""}";
+  canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems);
 
-  version = "2.00";
+  prefix = "grub${if efiSupport then "-efi" else ""}${optionalString zfsSupport "-zfs"}";
+
+  version = "2.02-git-1de3a4";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
     sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
   };
 
-in
+  po_src = fetchurl {
+    name = "grub-2.02-beta2.tar.gz";
+    url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.gz";
+    sha256 = "1lr9h3xcx0wwrnkxdnkfjwy08j7g7mdlmmbdip2db4zfgi69h0rm";
+  };
+
+in (
+
+assert efiSupport -> canEfi;
+assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null;
 
 stdenv.mkDerivation rec {
   name = "${prefix}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnu/grub/grub-${version}.tar.xz";
-    sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq";
+  src = fetchgit {
+    url = "git://git.savannah.gnu.org/grub.git";
+    rev = "1de3a48098053aaebd35232bd73e3ce3f3fdf51c";
+    sha256 = "0d1953nmi251czkm1dmd7vnm3iz2rkqbznlp6ph33va0d7kw1kfc";
   };
 
-  nativeBuildInputs = [ flex bison ];
+  nativeBuildInputs = [ autogen flex bison python autoconf automake ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
-    ++ stdenv.lib.optional doCheck qemu;
+    ++ optional doCheck qemu
+    ++ optional zfsSupport linuxPackages.zfs;
 
   preConfigure =
     '' for i in "tests/util/"*.in
@@ -43,27 +65,22 @@ stdenv.mkDerivation rec {
        # See <http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html>.
        sed -i "tests/util/grub-shell.in" \
            -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
-
-       # Fix for building on Glibc 2.16.  Won't be needed once the
-       # gnulib in grub is updated.
-       sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h
     '';
 
   prePatch =
-    '' gunzip < "${unifont_bdf}" > "unifont.bdf"
+    '' tar zxf ${po_src} grub-2.02~beta2/po
+       rm -rf po
+       mv grub-2.02~beta2/po po
+       sh autogen.sh
+       gunzip < "${unifont_bdf}" > "unifont.bdf"
        sed -i "configure" \
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
   patches = [ ./fix-bash-completion.patch ];
 
-  configureFlags =
-    let arch = if stdenv.system == "i686-linux" then "i386"
-               else if stdenv.system == "x86_64-linux" then "x86_64"
-               else throw "unsupported EFI firmware architecture";
-    in
-      stdenv.lib.optionals EFIsupport
-        [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ];
+  configureFlags = optional zfsSupport "--enable-libzfs"
+    ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ];
 
   doCheck = false;
   enableParallelBuilding = true;
@@ -72,7 +89,7 @@ stdenv.mkDerivation rec {
     paxmark pms $out/sbin/grub-{probe,bios-setup}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
 
     longDescription =
@@ -89,11 +106,8 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/grub/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = if EFIsupport then
-      [ "i686-linux" "x86_64-linux" ]
-    else
-      stdenv.lib.platforms.gnu;
+    platforms = platforms.gnu;
   };
-}
+})
diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix
index 02cb65b1060a..96acc6c8ab93 100644
--- a/pkgs/tools/misc/ised/default.nix
+++ b/pkgs/tools/misc/ised/default.nix
@@ -10,16 +10,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ised";
-    version="2.5.0";
+    version = "2.6.0";
     name="${baseName}-${version}";
     url="mirror://sourceforge/project/ised/${name}.tar.bz2";
-    hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0rf9brqkrad8f3czpfc1bxq9ybv3nxci9276wdxas033c82cqkjs";
   };
 
   inherit (sourceInfo) name version;
@@ -37,11 +36,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl3Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ised.sf.net";
-    };
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream
new file mode 100644
index 000000000000..6539bf477e54
--- /dev/null
+++ b/pkgs/tools/misc/ised/default.upstream
@@ -0,0 +1,4 @@
+url http://ised.sourceforge.net/web_nav.html
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index 2805514965ea..b97af331093b 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -3,12 +3,13 @@
   scrollkeeper}:
 
 stdenv.mkDerivation {
-  name = "mdbtools-git";
+  name = "mdbtools-git-2014-07-25";
 
   src = fetchgit {
     url = "http://github.com/brianb/mdbtools.git";
-    rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b";
-    sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n";
+    rev = "9ab40e83e6789015c965c92bdb62f92f8cdd0dbd";
+    sha256 = "18j1a9y9xhl7hhx30zvmx2n4w7dc8c7sdr6722sf3mh5230mvv59";
+    name = "mdbtools-git-export";
   };
 
   buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake
diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix
index ebf0a89a7075..6fccff7781d4 100644
--- a/pkgs/tools/misc/memtest86/default.nix
+++ b/pkgs/tools/misc/memtest86/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "memtest86-4.3.3";
+  name = "memtest86-4.3.6";
   
   src = fetchurl {
-    url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz;
-    sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl";
+    url = http://www.memtest86.com/downloads/memtest86-4.3.6-src.tar.gz;
+    sha256 = "0qbksyl2hmkm12n7zbmf2m2n3q811skhykxx6a9a7y6r7k8y5qmv";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index a8b6e046a9b2..0af7143a320a 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.5.3";
+  name = "pv-1.5.7";
 
   src = fetchurl {
     url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
-    sha256 = "03prg025kzivl1a5xqlf45szpnpqrmkzcvnf7lb2fc1v3jdrkwvn";
+    sha256 = "15srxzyssr8l25bl3rws476nx3fl58bdlh55gyv8cc3hpdhm0ly8";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
new file mode 100644
index 000000000000..f8e7dfaddc9e
--- /dev/null
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "1.0.3.2";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-portable-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
+    sha256 = "040nmls7qbgw8yn502lym4kgqh5zxr2ks734bqajpi2ricnasvhl";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "admin/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/libexec"       > conf-install-libexec
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/libexec"
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-portable-utils/;
+    description = "A set of tiny general Unix utilities optimized for simplicity and small size.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 0ebc712fcf0d..826f4e4d869f 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, xdpyinfo, xprop }:
 
 let
-  version = "2014-05-27";
+  version = "3.6.2";
 in
 stdenv.mkDerivation {
   name = "screenFetch-${version}";
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://github.com/KittyKatt/screenFetch.git;
-    rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470";
-    sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j";
+    rev = "dec1cd6c2471defe4459967fbc8ae15b55714338";
+    sha256 = "138a7g0za5dq27jx7x8gqg7gjkgyq0017v0nbcg68ys7dqlxsdl3";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
index 6d2bee238130..53945113e7f2 100644
--- a/pkgs/tools/misc/sutils/default.nix
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small command-line utilities.";
-     homepage = "https://github.com/baskerville/sutils";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/sutils;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix
index 79c6a743bce4..df1a7eedeffd 100644
--- a/pkgs/tools/misc/xdaliclock/default.nix
+++ b/pkgs/tools/misc/xdaliclock/default.nix
@@ -12,17 +12,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="xdaliclock";
-    version="2.40";
+    version = "2.41";
     name="${baseName}-${version}";
     project="${baseName}";
     url="http://www.jwz.org/${project}/${name}.tar.gz";
-    hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1crkjvza692irkqm9vwgn58m8ps93n0rxigm6pasgl5dnx3p6d1d";
   };
 
   inherit (sourceInfo) name version;
@@ -46,10 +45,8 @@ rec {
     platforms = with a.lib.platforms;
       linux ++ freebsd;
     license = "free"; #TODO BSD on Gentoo, looks like MIT
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.jwz.org/xdaliclock/";
-    };
+    downloadPage = "http://www.jwz.org/xdaliclock/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
index 9a059c9dbb5a..e7a3d91967e6 100644
--- a/pkgs/tools/misc/xdo/default.nix
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small X utility to perform elementary actions on windows";
-     homepage = "https://github.com/baskerville/xdo";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xdo;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
index ca8be4c08eac..600f40a67b7d 100644
--- a/pkgs/tools/misc/xtitle/default.nix
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Outputs X window titles";
-     homepage = "https://github.com/baskerville/xtitle";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xtitle;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index acd71ea893df..b6bdfc7fabc6 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchurl, pcre, readline }:
-
+{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper }:
+assert stdenv.isLinux;
+assert stdenv.gcc.gcc != null;
+let
+version = "0.7";
+debianPatch = fetchurl {
+url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg-11.diff.gz";
+sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
+};
+in
 stdenv.mkDerivation {
-  name = "atftp-0.7.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/atftp/atftp-0.7.1.tar.gz";
-    sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f";
-  };
-
-  buildInputs = [ pcre readline ];
-
-  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
-
-  configureFlags = [
-    "--enable-libreadline"
-    "--enable-libpcre"
-    "--enable-mtftp"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Advanced TFTP server and client";
-    homepage = http://sourceforge.net/projects/atftp/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
+name = "atftp";
+inherit version;
+src = fetchurl {
+url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz";
+sha256 = "0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q";
+};
+buildInputs = [ readline tcp_wrappers pcre makeWrapper ];
+patches = [ debianPatch ];
+postInstall = ''
+wrapProgram $out/sbin/atftpd --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib${if stdenv.system == "x86_64-linux" then "64" else ""}
+'';
+meta = {
+description = "Advanced tftp tools";
+maintainers = lib.maintainers.raskin;
+platforms = lib.platforms.linux;
+license = lib.licenses.gpl2Plus;
+passthru = {
+updateInfo = {
+downloadPage = "http://packages.debian.org/source/wheezy/atftp";
+};
+};
+};
 }
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index 48e21f4507e5..be107dfa81e7 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,21 +1,27 @@
 { stdenv, fetchgit, nodejs, which, python27 }:
 
 let
-  date = "20140303";
-  rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb";
+  date = "20140829";
+  rev = "9595d67f9edd759054c5bd3aaee0968ff55e361a";
 in
 stdenv.mkDerivation {
   name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
-    url = "git://github.com/cjdelisle/cjdns.git";
+    url = "https://github.com/cjdelisle/cjdns.git";
     inherit rev;
-    sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8";
+    sha256 = "519c549c42ae26c5359ae13a4548c44b51e36db403964b4d9f78c19b749dfb83";
   };
 
   buildInputs = [ which python27 nodejs];
 
-  builder = ./builder.sh;
+  patches = [ ./makekey.patch ];
+
+  buildPhase = "bash do";
+  installPhase = ''
+    mkdir -p $out/sbin
+    cp cjdroute makekey $out/sbin
+  '';
 
   meta = {
     homepage = https://github.com/cjdelisle/cjdns;
diff --git a/pkgs/tools/networking/cjdns/makekey.patch b/pkgs/tools/networking/cjdns/makekey.patch
new file mode 100644
index 000000000000..fcce5e3e728e
--- /dev/null
+++ b/pkgs/tools/networking/cjdns/makekey.patch
@@ -0,0 +1,64 @@
+diff --git a/contrib/c/makekey.c b/contrib/c/makekey.c
+new file mode 100644
+index 0000000..c7184e5
+--- /dev/null
++++ b/contrib/c/makekey.c
+@@ -0,0 +1,46 @@
++/* vim: set expandtab ts=4 sw=4: */
++/*
++ * You may redistribute this program and/or modify it under the terms of
++ * the GNU General Public License as published by the Free Software Foundation,
++ * either version 3 of the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
++ */
++#include "crypto/random/Random.h"
++#include "memory/MallocAllocator.h"
++#include "crypto/AddressCalc.h"
++#include "util/AddrTools.h"
++#include "util/Hex.h"
++
++#include "crypto_scalarmult_curve25519.h"
++
++#include <stdio.h>
++
++int main(int argc, char** argv)
++{
++    struct Allocator* alloc = MallocAllocator_new(1<<22);
++    struct Random* rand = Random_new(alloc, NULL, NULL);
++
++    uint8_t privateKey[32];
++    uint8_t publicKey[32];
++    uint8_t ip[16];
++    uint8_t hexPrivateKey[65];
++
++    for (;;) {
++        Random_bytes(rand, privateKey, 32);
++        crypto_scalarmult_curve25519_base(publicKey, privateKey);
++        if (AddressCalc_addressForPublicKey(ip, publicKey)) {
++            Hex_encode(hexPrivateKey, 65, privateKey, 32);
++            printf(hexPrivateKey);
++            return 0;
++        }
++    }
++    return 0;
++}
++
+diff --git a/node_build/make.js b/node_build/make.js
+index 5e51645..11465e3 100644
+--- a/node_build/make.js
++++ b/node_build/make.js
+@@ -339,6 +339,7 @@ Builder.configure({
+     builder.buildExecutable('contrib/c/privatetopublic.c');
+     builder.buildExecutable('contrib/c/sybilsim.c');
+     builder.buildExecutable('contrib/c/makekeys.c');
++    builder.buildExecutable('contrib/c/makekey.c');
+ 
+     builder.buildExecutable('crypto/random/randombytes.c');
+ 
diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix
new file mode 100644
index 000000000000..88d75ba570e0
--- /dev/null
+++ b/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, go }:
+
+stdenv.mkDerivation {
+  name = "curl-unix-socket";
+
+  src = fetchFromGitHub {
+    owner = "Soulou";
+    repo = "curl-unix-socket";
+    rev = "e926dca77ba7d4a1eeae073918fdd3db92f1a350";
+    sha256 = "1ynrrav90y3dhk8jq2fxm3jswj5nvrffwslgykj429hk6n0czb3d";
+  };
+
+  buildInputs = [ go ];
+  buildPhase = "go build";
+  installPhase = "install -D curl-unix-socket* $out/bin/curl-unix-socket";
+
+  meta = with stdenv.lib; {
+    description = "Run HTTP requests over UNIX socket";
+    license = licenses.mit;
+    homepage = https://github.com/Soulou/curl-unix-socket;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 8e93c424cb1e..451e2954f402 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-6.4.2";
+  name = "dhcpcd-6.4.3";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf";
+    sha256 = "175bsmif76vigzljc4rpcjs5skx171y1bl37aj0w66p8krhh3b9n";
   };
 
   patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 10f31fb8297d..c71f6b040843 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-3.8";
+  name = "fping-3.10";
 
   src = fetchurl {
     url = "http://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "04iwj4x3wns09wp777mb3kwfi7ypb4m9m73p0s2y699px77hcx67";
+    sha256 = "1n2psfxgww6wg5rz8rly06xkghgp8lshx2lx6rramrigyd1fhiyd";
   };
 
   meta = {
     homepage = "http://fping.org/";
     description = "Send ICMP echo probes to network hosts";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 6d9666506b88..8c9103790b9b 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "getmail-4.43.0";
+  version = "4.46.0";
+  name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy";
+    sha256 = "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl";
   };
 
   doCheck = false;
@@ -15,5 +16,9 @@ buildPythonPackage rec {
     description = "A program for retrieving mail";
     maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.linux;
+
+    homepage = "http://pyropus.ca/software/getmail/";
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index c40764866eb5..cb1bf546bf60 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index fec6679a14b0..a894de647588 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -10,8 +10,8 @@ assert withKerberos -> kerberos != null;
 let
 
   hpnSrc = fetchurl {
-    url = mirror://sourceforge/hpnssh/openssh-6.3p1-hpnssh14v2.diff.gz;
-    sha256 = "1jldqjwry9qpxxzb3mikfmmmv90mfb7xkmcfdbvwqac6nl3r7bi3";
+    url = mirror://sourceforge/hpnssh/openssh-6.6p1-hpnssh14v5.diff.gz;
+    sha256 = "682b4a6880d224ee0b7447241b684330b731018585f1ba519f46660c10d63950";
   };
   optionalString = stdenv.lib.optionalString;
 
@@ -83,6 +83,5 @@ stdenv.mkDerivation rec {
     license = "bsd"; # multi BSD GPL-2
     platforms = platforms.unix;
     maintainers = with maintainers; [ eelco ];
-    broken = hpnSupport; # cf. https://github.com/NixOS/nixpkgs/pull/1640
   };
 }
diff --git a/pkgs/tools/networking/p2p/bittorrent/builder.sh b/pkgs/tools/networking/p2p/bittorrent/builder.sh
deleted file mode 100644
index 3f30aa5c851f..000000000000
--- a/pkgs/tools/networking/p2p/bittorrent/builder.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-source $stdenv/setup
-
-
-# Workaround for:
-#  File "...-python-2.4.4/lib/python2.4/posixpath.py", line 62, in join
-#    elif path == '' or path.endswith('/'):
-# AttributeError: 'NoneType' object has no attribute 'endswith'
-export HOME=$TMP
-
-
-buildPhase() {
-    python setup.py build
-}
-
-
-installPhase() {
-    python setup.py install --prefix=$out
-
-    # Create wrappers that set the environment correctly.
-    for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-            --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH"
-    done
-}
-
-
-genericBuild
diff --git a/pkgs/tools/networking/p2p/bittorrent/default.nix b/pkgs/tools/networking/p2p/bittorrent/default.nix
deleted file mode 100644
index 1d4f43445bf1..000000000000
--- a/pkgs/tools/networking/p2p/bittorrent/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ gui ? false
-, stdenv, fetchurl, makeWrapper
-, python, wxPython ? null, pycrypto, twisted
-}:
-
-assert gui -> wxPython != null;
-
-stdenv.mkDerivation {
-  name = "bittorrent-5.2.2";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz;
-    sha256 = "05k803hbwsyn51j4aibzdsnqxz24kw4rvr60v2c0wji8gcvy3kx9";
-  };
-  
-  buildInputs = [ python pycrypto twisted makeWrapper ]
-    ++ stdenv.lib.optional gui wxPython;
-
-  meta = {
-    description = "The original client for the BitTorrent peer-to-peer file sharing protocol";
-  };
-}
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
new file mode 100644
index 000000000000..3165434de3da
--- /dev/null
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "0.1.0.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-dns-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-dns/${name}.tar.gz";
+    sha256 = "1r82l5fnz2rrwm5wq2sldqp74lk9fifr0d8hyq98xdyh24hish68";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "web/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-dns/;
+    description = "A suite of DNS client programs and libraries for Unix systems.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
new file mode 100644
index 000000000000..3d5e3e048110
--- /dev/null
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, execline
+, fetchurl
+, s6Dns
+, skalibs
+}:
+
+let
+
+  version = "0.1.0.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-networking-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-networking/${name}.tar.gz";
+    sha256 = "1np9m2j1i2450mbcjvpbb56kv3wc2fbyvmv2a039q61j2lk6vjz7";
+  };
+
+  buildInputs = [ skalibs s6Dns execline ];
+
+  sourceRoot = "net/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+
+    rm -f path-include
+    rm -f path-library
+    for dep in "${execline}" "${s6Dns}" "${skalibs}"; do
+      printf "%s\n" "$dep/include" >> path-include
+      printf "%s\n" "$dep/lib"     >> path-library
+    done
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-networking/;
+    description = "A suite of small networking utilities for Unix systems.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
index fbd249463812..9f9e8dbe3745 100644
--- a/pkgs/tools/networking/socat/2.x.nix
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 84ba2106a26a..e33edaa32da9 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix
index fa3221a77598..67daab083598 100644
--- a/pkgs/tools/networking/sproxy-web/default.nix
+++ b/pkgs/tools/networking/sproxy-web/default.nix
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "Web interface to sproxy";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/tools/networking/sshpass/default.nix b/pkgs/tools/networking/sshpass/default.nix
new file mode 100644
index 000000000000..3a8e106155f3
--- /dev/null
+++ b/pkgs/tools/networking/sshpass/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "sshpass-${version}";
+  version = "1.05";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/sshpass/sshpass-${version}.tar.gz";
+    sha256 = "0gj8r05h1hy01vh4csygyw21z2hcxb72qcxkxxi3y34alr98gxy3";
+  };
+  
+  meta = {
+    homepage = http://sourceforge.net/projects/sshpass/;
+    description = "Non-interactive ssh password auth";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index ed295e95a38b..2db270c3f666 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
new file mode 100644
index 000000000000..030cb30a1502
--- /dev/null
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "tinc-1.1pre38d7e73";
+
+  src = fetchgit {
+    url = "git://tinc-vpn.org/tinc";
+    rev = "38d7e730e619a8b86dfbf68d77773564595f12a1";
+    sha256 = "0xac1jm6x9lkybd6sz8lfcdrb8h69kh1ckg35ag1rssr45hxikbz";
+  };
+
+  buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "VPN daemon with full mesh routing";
+    longDescription = ''
+      tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and
+      encryption to create a secure private network between hosts on the
+      Internet.  It features full mesh routing, as well as encryption,
+      authentication, compression and ethernet bridging.
+    '';
+    homepage="http://www.tinc-vpn.org/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
new file mode 100644
index 000000000000..1be71942e70a
--- /dev/null
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  name = "urlwatch-1.16";
+
+  src = fetchurl {
+    url = "http://thp.io/2008/urlwatch/${name}.tar.gz";
+    sha256 = "0yf1m909awfm06z7xwn20qxbbgslb1vjwwb6rygp6bn7sq022f1f";
+  };
+
+  patchPhase = ''
+    ./convert-to-python3.sh
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/urlwatch" --prefix "PYTHONPATH" : "$PYTHONPATH"
+  '';
+
+  meta = {
+    description = "A tool for monitoring webpages for updates";
+    homepage = https://thp.io/2008/urlwatch/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+}
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index e9c102817e10..b5927fd24780 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -11,16 +11,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="wavemon";
-    version="0.7.5";
+    version = "0.7.6";
     name="${baseName}-${version}";
     url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2";
-    hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y";
   };
 
   inherit (sourceInfo) name version;
@@ -38,11 +37,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl2Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
-    };
+    downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
 
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 61e998fd545e..b6b88aef0225 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7";
+  name = "disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz;
-    sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4";
+    url = http://hydra.nixos.org/build/13612993/download/4/disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc.tar.gz;
+    sha256 = "0ml8g6h7x79mvv84il9vb9b88kqak9m3yzavmar66i3dvyqr1dwb";
   };
   
   buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 65ae91f6e187..0190a5fd679c 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, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
+  name = "disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz;
-    sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2";
+    url = http://hydra.nixos.org/build/13617499/download/3/disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d.tar.gz;
+    sha256 = "1kcpzzwy9jc1zz700whnp6sc77yp3wxzr935f07jy55ddkl8mdi5";
   };
   
   buildInputs = [ socat pkgconfig disnix getopt ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index a1914224dbdb..574bf8f9ab39 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -19,10 +19,10 @@ assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82";
+  name = "dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz;
-    sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz";
+    url = http://hydra.nixos.org/build/13281061/download/1/dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530.tar.gz;
+    sha256 = "0xiqpz2c3dh4pbdprvrd7plvq3ipngqbjkwpmbhw1nw90x5rpa2d";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 01dea9c35e31..8ef32dab95a0 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/package-management/gem-nix/default.nix b/pkgs/tools/package-management/gem-nix/default.nix
new file mode 100644
index 000000000000..de5f3a9e0444
--- /dev/null
+++ b/pkgs/tools/package-management/gem-nix/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, rubygems, rubyLibs, ruby, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gem-nix";
+
+  buildInputs = [ ruby rubygems rubyLibs.nix makeWrapper ];
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    echo 'exec ${rubygems}/bin/gem nix "$@"' >> $out/bin/gem-nix
+    chmod +x $out/bin/gem-nix
+    wrapProgram $out/bin/gem-nix \
+      --set GEM_PATH $GEM_PATH
+  '';
+
+  meta = with stdenv.lib; {
+    description = "gem nix command in a nice wrapper";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index bba53b0002fc..5c20c7eb72aa 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.8pre3766_809ca33";
+  name = "nix-1.8pre3782_d2d5543";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz";
-    sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd";
+    url = "http://hydra.nixos.org/build/13991590/download/5/${name}.tar.xz";
+    sha256 = "dcef54f49d2ea6fcb7f31ec3fdcb64ac74b2d4ca4224eaf2d00587ae1133a64c";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 93c671287d63..0bd10dd66d32 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -7,7 +7,7 @@ pythonPackages.buildPythonPackage rec {
   src = fetchgit {
     url = "git://github.com/madjar/nox.git";
     rev = "49e4bb7de473ac5e446a76c292bdaefa7e20a1c6";
-    sha256 = "1w1b2g44lj6nbs7f2j5dz5pijhfah3fyldspfb34zcv17j2nlv0b";
+    sha256 = "0rsw0hs5swv6lwkfmj5fw3j22ah8g5gdb0hb5ikk321c6ww5dm5p";
     leaveDotGit = true; # required by pbr
   };
 
diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix
index dbbdb8e57a66..2fad2fe29e69 100644
--- a/pkgs/tools/security/aespipe/default.nix
+++ b/pkgs/tools/security/aespipe/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "AES encrypting or decrypting pipe";
     homepage = http://loop-aes.sourceforge.net/aespipe.README;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.goibhniu;
+    maintainers = [ stdenv.lib.maintainers.goibhniu ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index fc43f01b344f..f5c4a4e9b4e6 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,19 +1,23 @@
-{ stdenv, fetchurl, zlib, bzip2, libiconv }:
+{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }:
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.98.1";
+  version = "0.98.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
-    sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m";
+    sha256 = "071yzamalj3rf7kl2jvc35ipnk1imdkq5ylbb8whyxfgmd3nf06k";
   };
 
-  buildInputs = [ zlib bzip2 libiconv ];
+  buildInputs = [ zlib bzip2 libiconv libxml2 openssl ncurses curl ];
 
   configureFlags = [
     "--with-zlib=${zlib}"
     "--with-libbz2-prefix=${bzip2}"
     "--with-iconv-dir=${libiconv}"
+    "--with-xml=${libxml2}"
+    "--with-openssl=${openssl}"
+    "--with-libncurses-prefix=${ncurses}"
+    "--with-libcurl=${curl}"
     "--disable-clamav" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index 1701d4cb46fd..91949cf0893a 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.issihosts.com/haveged/;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.iElectric;
+    maintainers = [ stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
new file mode 100644
index 000000000000..97f67dfbd71f
--- /dev/null
+++ b/pkgs/tools/security/john/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, openssl, nss, nspr, krb5, gmp, zlib, libpcap, re2 }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "JohnTheRipper-${version}";
+  version = "8a3e3c1d";
+  buildInputs = [ openssl nss nspr krb5 gmp zlib libpcap re2 ];
+  preConfigure = ''cd src'';
+  installPhase = ''
+    ensureDir $out/share/john/
+    ensureDir $out/bin
+    cp -R ../run/* $out/share/john
+    ln -s $out/share/john/john $out/bin/john
+  '';
+  src = fetchgit {
+    url = https://github.com/magnumripper/JohnTheRipper.git;
+    rev = "93f061bc41652c94ae049b52572aac709d18aa4c";
+    sha256 = "1rnfi09830n34jcqaxmsam54p4zsq9a49ic2ljh44lahcipympvy";
+  };
+  meta = {
+    description = "John the Ripper password cracker";
+    license = licenses.gpl2;
+    homepage = https://github.com/magnumripper/JohnTheRipper/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix
new file mode 100644
index 000000000000..ae7fa2316bcb
--- /dev/null
+++ b/pkgs/tools/security/logkeys/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, which, procps, kbd }:
+
+stdenv.mkDerivation rec {
+  name = "logkeys-${version}";
+  version = "5ef6b0dcb9e3";
+
+  src = fetchgit {
+    url = "https://code.google.com/p/logkeys/";
+    rev = "5ef6b0dcb9e38e6137ad1579d624ec12107c56c3";
+    sha256 = "02p0l92l0fq069g31ks6xbqavzxa9njj9460vw2jsa7livcn2z9d";
+  };
+
+  buildInputs = [ which procps kbd ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile.in --replace 'root' '$(id -u)'
+    substituteInPlace configure --replace '/dev/input' '/tmp'
+ '';
+
+  meta = with stdenv.lib; {
+    description = "A GNU/Linux keylogger that works!";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/logkeys/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index ab46af5a1cd9..167c369e3bb9 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, coreutils, pam, groff }:
+{ stdenv, fetchurl, coreutils, pam, groff
+, sendmailPath ? "/var/setuid-wrappers/sendmail"
+}:
 
 stdenv.mkDerivation rec {
   name = "sudo-1.8.10p3";
@@ -17,6 +19,11 @@ stdenv.mkDerivation rec {
     "--with-rundir=/var/run"
     "--with-vardir=/var/db/sudo"
     "--with-logpath=/var/log/sudo.log"
+    "--with-sendmail=${sendmailPath}"
+  ];
+
+  configureFlagsArray = [
+    "--with-passprompt=[sudo] password for %p: "  # intentional trailing space
   ];
 
   postConfigure =
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index 2964db34e124..5108174c8870 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -1,26 +1,22 @@
-{ fetchurl, stdenv, bison, flex, pam, ssmtp }:
+{ fetchurl, stdenv, bison, flex, pam, sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
 stdenv.mkDerivation {
-  name = "at-3.1.14";
+  name = "at-3.1.15";
 
   src = fetchurl {
     # Debian is apparently the last location where it can be found.
-    url = mirror://debian/pool/main/a/at/at_3.1.14.orig.tar.gz;
-    sha256 = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae";
+    url = mirror://debian/pool/main/a/at/at_3.1.15.orig.tar.gz;
+    sha256 = "1z7pgglr0zmwapb4sc1bdb3z0hgig1asyzqv4gs5xafmjd94za03";
   };
 
   patches = [ ./install.patch ];
 
   buildInputs =
-    [ bison flex pam
-      # `configure' and `atd' want the `sendmail' command.
-      ssmtp
-    ];
+    [ bison flex pam ];
 
   preConfigure =
     ''
-      export PATH="${ssmtp}/sbin:$PATH"
-
+      export SENDMAIL=${sendmailPath}
       # Purity: force atd.pid to be placed in /var/run regardless of
       # whether it exists now.
       substituteInPlace ./configure --replace "test -d /var/run" "true"
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 48562adffebe..8f94b21a7712 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.3.4";
+  version = "1.4.5";
+  name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63";
+    sha256 = "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz";
   };
 
   buildInputs = [ libgcrypt readline ];
@@ -30,10 +31,14 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/freeipmi/;
+    downloadPage = "http://www.gnu.org/software/freeipmi/download.html";
 
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    updateWalker = true;
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix
index 52d32b4e838e..588da0624ce6 100644
--- a/pkgs/tools/system/ioping/default.nix
+++ b/pkgs/tools/system/ioping/default.nix
@@ -10,16 +10,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ioping";
-    version="0.7";
+    version = "0.8";
     name="${baseName}-${version}";
     url="http://ioping.googlecode.com/files/${name}.tar.gz";
-    hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0j7yal61nby1lkg9wnr6lxfljbd7wl3n0z8khqwvc9lf57bxngz2";
   };
 
   inherit (sourceInfo) name version;
@@ -40,11 +39,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl3Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/ioping/downloads/list";
-    };
+    downloadPage = "http://code.google.com/p/ioping/downloads/list";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/system/ioping/default.upstream b/pkgs/tools/system/ioping/default.upstream
new file mode 100644
index 000000000000..e51cb487852d
--- /dev/null
+++ b/pkgs/tools/system/ioping/default.upstream
@@ -0,0 +1,5 @@
+url http://code.google.com/p/ioping/downloads/list
+version_link '[.]tar[.][a-z0-9]+$'
+process 'code[.]google[.]com//' ''
+
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index c5f33c323594..6590b1ad2091 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "2.9.3";
+  version = "2.7.3";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27";
+    sha256 = "0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq";
   };
 
   buildInputs = [ openssl ];
@@ -26,11 +26,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.bsd3;
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
-    };
+    downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream
new file mode 100644
index 000000000000..18dc096a36b6
--- /dev/null
+++ b/pkgs/tools/system/ipmiutil/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/ipmiutil/files/ipmiutil/
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index 0148e3c699eb..016e2ccda37c 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sleuthkit-3.2.2";
+  version = "4.1.3";
+  name = "sleuthkit-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sleuthkit/${name}.tar.gz";
-    sha256 = "02hik5xvbgh1dpisvc3wlhhq1aprnlsk0spbw6h5khpbq9wqnmgj";
+    sha256 = "09q3ky4rpv18jasf5gc2hlivzadzl70jy4nnk23db1483aix5yb7";
   };
 
   enableParallelBuilding = true;
@@ -20,5 +21,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = "IBM Public License";
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream
new file mode 100644
index 000000000000..f8ffe9352ede
--- /dev/null
+++ b/pkgs/tools/system/sleuthkit/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index e70dfaedddf5..62b696715d9c 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.58";
+  name = "diffstat-1.59";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/diffstat/${name}.tgz";
-    sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs";
+    sha256 = "0w7jvfilbnfa9v3h8j8ipirvrj7n2x5gszfanzxvx748p10i8z96";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index a87901eb5eb9..6851ca896783 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl, gettext }:
 
 stdenv.mkDerivation {
-  name = "dos2unix-6.0.5";
+  name = "dos2unix-6.0.6";
   
   src = fetchurl {
-    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz;
-    sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx";
+    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.6.tar.gz;
+    sha256 = "0xnj4gmav1ypkgwmqldnq41b6l3cg08dyngkbygn9vrhlvlx9fwa";
   };
 
   configurePhase = ''
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 9bca0a91d4fd..585f501e1fcd 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,19 +1,16 @@
-{ stdenv, fetchurl, getopt, lua, boost }:
-        
+{ stdenv, fetchurl, getopt, lua, boost, pkgconfig }:
+
 stdenv.mkDerivation rec {
-  name = "highlight-3.9";
+  name = "highlight-3.18";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/${name}.tar.bz2";
-    sha256 = "1vysj34zz8gk5yhlzm7g6lbphb8y6zfbd9smfgsgwkyawfargrja";
+    sha256 = "0jsq78qb75sawwggbpx5pdqxk00wgjr1a0la0w8wihmamsjzgijm";
   };
 
-  buildInputs = [ getopt lua boost ];
+  buildInputs = [ getopt lua boost pkgconfig ];
 
-  makeFlags = [
-    "PREFIX=$(out)"
-    "conf_dir=$(out)/etc/highlight/"
-  ];
+  preConfigure = ''makeFlags="PREFIX=$out conf_dir=$out/etc/highlight"'';
 
   meta = {
     description = "Source code highlighting tool";
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index d5f8bb9ff35f..9cef82e5e530 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation {
       line by line and field by field, ignoring small numeric differences
       or/and different numeric formats.
     '';
-    homepage = "http://www.nongnu.org/numdiff/";
+    homepage = http://www.nongnu.org/numdiff/;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bbenoist;
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix
index 426cef3c85d1..1b8d7b5e8d8d 100644
--- a/pkgs/tools/typesetting/pdfjam/default.nix
+++ b/pkgs/tools/typesetting/pdfjam/default.nix
@@ -7,6 +7,6 @@
   };
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index 8b06cbb5a2bd..8afaf7b5f3ed 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -20,6 +20,6 @@ rec {
 
   meta = {
     description = "Extra components for TeXLive: beamer class";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b58114113bb5..19ce6712f3ce 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -262,9 +262,14 @@ let
   };
 
   buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv {
-    inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils;
-    inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk;
-    inherit less buildEnv;
+    inherit buildEnv system;
+    inherit stdenv glibc glibc_multi glibcLocales;
+    inherit bashInteractive coreutils less shadow su;
+    inherit gawk gcc gcc_multi diffutils findutils gnused gnugrep;
+    inherit gnutar gzip bzip2 xz;
+
+    nixpkgs      = pkgs;
+    nixpkgs_i686 = pkgsi686Linux;
   };
 
   dotnetenv = import ../build-support/dotnetenv {
@@ -418,6 +423,8 @@ let
     { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; }
     ../build-support/setup-hooks/make-coverage-analysis-report.sh;
 
+  # intended to be used like nix-build -E 'with <nixpkgs> {}; enableDebugging fooPackage'
+  enableDebugging = pkg : pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; };
 
   ### TOOLS
 
@@ -437,7 +444,6 @@ let
 
   aegisub = callPackage ../applications/video/aegisub {
     wxGTK = wxGTK30;
-    lua = lua5_1;
   };
 
   aespipe = callPackage ../tools/security/aespipe { };
@@ -528,7 +534,7 @@ let
     pkgs_i686 = pkgsi686Linux;
   };
 
-  inherit (androidenv) androidsdk_4_1;
+  inherit (androidenv) androidsdk_4_4 androidndk;
 
   aria2 = callPackage ../tools/networking/aria2 { };
   aria = aria2;
@@ -605,8 +611,11 @@ let
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
-  consul = callPackage ../servers/consul { };
-  consul_ui = callPackage ../servers/consul/ui.nix { };
+  consul = callPackage ../servers/consul {
+    inherit ruby rubyLibs;
+  };
+
+  consul_ui = consul.ui;
 
   chntpw = callPackage ../tools/security/chntpw { };
 
@@ -685,10 +694,6 @@ let
     inherit (strategoPackages016) strategoxt sdf;
   };
 
-  bittorrent = callPackage ../tools/networking/p2p/bittorrent {
-    gui = true;
-  };
-
   bittornado = callPackage ../tools/networking/p2p/bit-tornado { };
 
   blueman = callPackage ../tools/bluetooth/blueman {
@@ -753,6 +758,10 @@ let
 
   chkrootkit = callPackage ../tools/security/chkrootkit { };
 
+  chocolateDoom = callPackage ../games/chocolate-doom { };
+  # master is here because chocolateDoom v2.0 has broken netplay
+  chocolateDoomMaster = callPackage ../games/chocolate-doom/master.nix { };
+
   chrony = callPackage ../tools/networking/chrony { };
 
   chunkfs = callPackage ../tools/filesystems/chunkfs { };
@@ -855,6 +864,8 @@ let
     sslSupport = zlibSupport;
   };
 
+  curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
+
   cunit = callPackage ../tools/misc/cunit { };
 
   curlftpfs = callPackage ../tools/filesystems/curlftpfs { };
@@ -933,6 +944,9 @@ let
 
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
+  dolphinEmu = callPackage ../misc/emulators/dolphin-emu { };
+  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { };
+
   dropbear = callPackage ../tools/networking/dropbear { };
 
   dtach = callPackage ../tools/misc/dtach { };
@@ -993,6 +1007,8 @@ let
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
+  eternity = callPackage ../games/eternity-engine { };
+
   ettercap = callPackage ../applications/networking/sniffers/ettercap { };
 
   euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; };
@@ -1029,6 +1045,8 @@ let
 
   fcitx = callPackage ../tools/inputmethods/fcitx { };
 
+  fcitx-anthy = callPackage ../tools/inputmethods/fcitx/fcitx-anthy.nix { };
+
   fcron = callPackage ../tools/system/fcron { };
 
   fdm = callPackage ../tools/networking/fdm {};
@@ -1213,7 +1231,7 @@ let
    * objections before removal. The feature is integer coordinates
    */
   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
-  
+
   /* Readded by Michael Raskin. There are programs in the wild
    * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for
    * objections before removal. The feature is libgraph.
@@ -1232,9 +1250,11 @@ let
     buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
   };
 
-  grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; };
+  grub2 = callPackage ../tools/misc/grub/2.0x.nix { };
+
+  grub2_efi = grub2.override { efiSupport = true; };
 
-  grub2_efi = grub2.override { EFIsupport = true; };
+  grub2_zfs = grub2.override { zfsSupport = true; };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome) libsoup;
@@ -1243,6 +1263,7 @@ let
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
+  gmock = callPackage ../development/libraries/gmock {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
@@ -1386,6 +1407,8 @@ let
 
   jnettop = callPackage ../tools/networking/jnettop { };
 
+  john = callPackage ../tools/security/john { };
+
   jq = callPackage ../development/tools/jq {};
 
   jscoverage = callPackage ../development/tools/misc/jscoverage { };
@@ -1468,6 +1491,8 @@ let
     inherit (perlPackages) mimeConstruct;
   };
 
+  logkeys = callPackage ../tools/security/logkeys { };
+
   logrotate = callPackage ../tools/system/logrotate { };
 
   logstalgia = callPackage ../tools/graphics/logstalgia {};
@@ -1788,6 +1813,8 @@ let
 
   openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
 
+  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
   };
@@ -1969,6 +1996,10 @@ let
 
   qjoypad = callPackage ../tools/misc/qjoypad { };
 
+  qscintilla = callPackage ../development/libraries/qscintilla {
+    qt = qt4;
+  };
+
   qshowdiff = callPackage ../tools/text/qshowdiff { };
 
   quilt = callPackage ../development/tools/quilt { };
@@ -2059,6 +2090,14 @@ let
     ruby = ruby18;
   };
 
+  s6Dns = callPackage ../tools/networking/s6-dns { };
+
+  s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { };
+
+  s6Networking = callPackage ../tools/networking/s6-networking { };
+
+  s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { };
+
   sablotron = callPackage ../tools/text/xml/sablotron { };
 
   safecopy = callPackage ../tools/system/safecopy { };
@@ -2175,6 +2214,8 @@ let
 
   ssdeep = callPackage ../tools/security/ssdeep { };
 
+  sshpass = callPackage ../tools/networking/sshpass { };
+
   ssmtp = callPackage ../tools/networking/ssmtp {
     tlsSupport = true;
   };
@@ -2246,6 +2287,8 @@ let
 
   tinc = callPackage ../tools/networking/tinc { };
 
+  tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
+
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
 
   tmpwatch = callPackage ../tools/misc/tmpwatch  { };
@@ -2437,6 +2480,8 @@ let
 
   uptimed = callPackage ../tools/system/uptimed { };
 
+  urlwatch = callPackage ../tools/networking/urlwatch { };
+
   varnish = callPackage ../servers/varnish { };
 
   varnish2 = callPackage ../servers/varnish/2.1.nix { };
@@ -2447,6 +2492,8 @@ let
 
   vlan = callPackage ../tools/networking/vlan { };
 
+  volumeicon = callPackage ../tools/audio/volumeicon { };
+
   wakelan = callPackage ../tools/networking/wakelan { };
 
   wavemon = callPackage ../tools/networking/wavemon { };
@@ -2476,7 +2523,10 @@ let
 
   wicd = callPackage ../tools/networking/wicd { };
 
-  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
+  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf {
+    overrideDerivation = lib.overrideDerivation;
+    inherit (xlibs) libX11 libXext libXrender;
+  };
 
   wv = callPackage ../tools/misc/wv { };
 
@@ -2587,7 +2637,6 @@ let
 
   bashInteractive = appendToName "interactive" (callPackage ../shells/bash {
     interactive = true;
-    readline = readline63; # Includes many vi mode fixes
   });
 
   bashCompletion = callPackage ../shells/bash-completion { };
@@ -2697,7 +2746,8 @@ let
 
   gambit = callPackage ../development/compilers/gambit { };
 
-  gcc = gcc48;
+  gcc       = gcc48;
+  gcc_multi = gcc48_multi;
 
   gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 {
     inherit fetchurl stdenv noSysDirs;
@@ -3042,6 +3092,8 @@ let
 
   fsharp = callPackage ../development/compilers/fsharp {};
 
+  gem-nix = callPackage ../tools/package-management/gem-nix { };
+
   go_1_0 = callPackage ../development/compilers/go { };
 
   go_1_1 =
@@ -3256,6 +3308,8 @@ let
 
     camlp5_transitional = camlp5_6_transitional;
 
+    calendar = callPackage ../development/ocaml-modules/calendar { };
+
     camlzip = callPackage ../development/ocaml-modules/camlzip { };
 
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
@@ -3270,6 +3324,8 @@ let
 
     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
+    cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
+
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
@@ -3280,6 +3336,8 @@ let
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eliom = callPackage ../development/ocaml-modules/eliom { };
+
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
     javalib = callPackage ../development/ocaml-modules/javalib {
@@ -3292,6 +3350,8 @@ let
 
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
+
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
 
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
@@ -3326,6 +3386,8 @@ let
 
     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
 
+    ocaml_ipaddr = callPackage ../development/ocaml-modules/ocaml-ipaddr { };
+
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
@@ -3336,6 +3398,8 @@ let
 
     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
 
+    ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { };
+
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
       inherit pcre;
     };
@@ -3350,8 +3414,12 @@ let
 
     ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
 
+    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
+    tyxml = callPackage ../development/ocaml-modules/tyxml { };
+
     ulex = callPackage ../development/ocaml-modules/ulex { };
 
     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
@@ -3375,6 +3443,10 @@ let
     opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
     opam = opam_1_1;
 
+    sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
+
+    twt = callPackage ../development/ocaml-modules/twt { };
+
     utop = callPackage ../development/tools/ocaml/utop { };
 
     sawja = callPackage ../development/ocaml-modules/sawja { };
@@ -3390,6 +3462,8 @@ let
 
     zed = callPackage ../development/ocaml-modules/zed { };
 
+    ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving { };
+
   };
 
   ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
@@ -3423,6 +3497,10 @@ let
   sbcl = callPackage ../development/compilers/sbcl {
     clisp = clisp;
   };
+  # For ACL2
+  sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix {
+    clisp = clisp;
+  };
 
   scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
   scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
@@ -3514,11 +3592,13 @@ let
   ### DEVELOPMENT / INTERPRETERS
 
   acl2 = builderDefsPackage ../development/interpreters/acl2 {
-    inherit sbcl;
+    sbcl = sbcl_1_2_0;
   };
 
   angelscript = callPackage ../development/interpreters/angelscript {};
 
+  chibi = callPackage ../development/interpreters/chibi { };
+
   clisp = callPackage ../development/interpreters/clisp { };
 
   # compatibility issues in 2.47 - at list 2.44.1 is known good
@@ -3534,8 +3614,11 @@ let
   erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { };
   erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { };
   erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { };
+  erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; };
   erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { };
+  erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; };
   erlang = erlangR17;
+  erlang_odbc = erlangR17_odbc;
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3555,6 +3638,8 @@ let
 
   j = callPackage ../development/interpreters/j {};
 
+  jimtcl = callPackage ../development/interpreters/jimtcl {};
+
   jmeter = callPackage ../applications/networking/jmeter {};
 
   davmail = callPackage ../applications/networking/davmail {};
@@ -3574,13 +3659,15 @@ let
   lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix {
     compat = true;
   };
-  lua5 = lua5_1;
+  lua5 = lua5_2_compat;
   lua = lua5;
 
-  lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {};
+  lua5_1_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {
+    lua5 = lua5_1; # version 2.* only works with 5.1
+  };
   lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {};
   lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {};
-  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {};
+  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { };
 
   luarocks = callPackage ../development/tools/misc/luarocks {
      lua = lua5;
@@ -3612,7 +3699,6 @@ let
     suitesparse = null;
     openjdk = null;
     gnuplot = null;
-    readline = readline63;
   };
   octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
     fltk = fltk13;
@@ -3774,8 +3860,6 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
-  xulrunner_30 = firefox30Pkgs.xulrunner;
-
 
   ### DEVELOPMENT / MISC
 
@@ -3882,9 +3966,11 @@ let
 
   bam = callPackage ../development/tools/build-managers/bam {};
 
-  binutils = callPackage ../development/tools/misc/binutils {
-    inherit noSysDirs;
-  };
+  binutils = if stdenv.isDarwin
+    then stdenv.gcc.binutils
+    else callPackage ../development/tools/misc/binutils {
+      inherit noSysDirs;
+    };
 
   binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
     inherit noSysDirs;
@@ -4205,6 +4291,15 @@ let
     rubyBindings = config.radare.rubyBindings or false;
     luaBindings = config.radare.luaBindings or false;
   };
+  radare2 = callPackage ../development/tools/analysis/radare2 {
+    inherit (gnome) vte;
+    lua = lua5;
+    useX11 = config.radare.useX11 or false;
+    pythonBindings = config.radare.pythonBindings or false;
+    rubyBindings = config.radare.rubyBindings or false;
+    luaBindings = config.radare.luaBindings or false;
+  };
+
 
   ragel = callPackage ../development/tools/parsing/ragel { };
 
@@ -4223,7 +4318,8 @@ let
 
   scons = callPackage ../development/tools/build-managers/scons { };
 
-  simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { };
+  sbt = callPackage ../development/tools/build-managers/sbt { };
+  simpleBuildTool = sbt;
 
   sigrok-cli = callPackage ../development/tools/sigrok-cli { };
 
@@ -4289,11 +4385,13 @@ let
   };
 
   gdb = callPackage ../development/tools/misc/gdb {
+    guile = null;
     hurd = gnu.hurdCross;
-    readline = readline63;
     inherit (gnu) mig;
   };
 
+  gdbGuile = lowPrio (gdb.override { inherit guile; });
+
   gdbCross = lowPrio (callPackage ../development/tools/misc/gdb {
     target = crossSystem;
   });
@@ -4422,6 +4520,8 @@ let
 
   capnproto = callPackage ../development/libraries/capnproto { };
 
+  cimg = callPackage  ../development/libraries/cimg { };
+
   scmccid = callPackage ../development/libraries/scmccid { };
 
   ccrtp = callPackage ../development/libraries/ccrtp { };
@@ -4532,7 +4632,9 @@ let
   dbus_cplusplus  = callPackage ../development/libraries/dbus-cplusplus { };
   dbus_glib       = callPackage ../development/libraries/dbus-glib { };
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
-  dbus_python     = callPackage ../development/python-modules/dbus { };
+  dbus_python     = callPackage ../development/python-modules/dbus {
+    isPyPy = python.executable == "pypy";
+  };
 
   # Should we deprecate these? Currently there are many references.
   dbus_tools = pkgs.dbus.tools;
@@ -4680,6 +4782,8 @@ let
 
   gdbm = callPackage ../development/libraries/gdbm { };
 
+  gecode = callPackage ../development/libraries/gecode { };
+
   gegl = callPackage ../development/libraries/gegl {
     #  avocodec avformat librsvg
   };
@@ -4959,6 +5063,8 @@ let
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
 
+  gtkspellmm = callPackage ../development/libraries/gtkspellmm { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; };
@@ -5060,7 +5166,6 @@ let
 
   keybinder3 = callPackage ../development/libraries/keybinder3 {
     automake = automake111x;
-    lua = lua5_1;
   };
 
   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
@@ -5085,9 +5190,7 @@ let
     libpng = libpng12;
   };
 
-  lgi = callPackage ../development/libraries/lgi {
-    lua = lua5_1;
-  };
+  lgi = callPackage ../development/libraries/lgi { };
 
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
@@ -5278,6 +5381,8 @@ let
 
   libffi = callPackage ../development/libraries/libffi { };
 
+  libfreefare = callPackage ../development/libraries/libfreefare { };
+
   libftdi = callPackage ../development/libraries/libftdi { };
 
   libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { };
@@ -5920,7 +6025,11 @@ let
 
   openexr = callPackage ../development/libraries/openexr { };
 
-  openldap = callPackage ../development/libraries/openldap { };
+  openldap = callPackage ../development/libraries/openldap {
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   openlierox = callPackage ../games/openlierox { };
 
@@ -5987,7 +6096,7 @@ let
 
   pocketsphinx = callPackage ../development/libraries/pocketsphinx { };
 
-  podofo = callPackage ../development/libraries/podofo { };
+  podofo = callPackage ../development/libraries/podofo { lua5 = lua5_1; };
 
   polkit = callPackage ../development/libraries/polkit {
     spidermonkey = spidermonkey_185;
@@ -6058,24 +6167,24 @@ let
       else stdenv;
   };
 
-  qt48Full = qt48.override {
+  qt48Full = appendToName "full" (qt48.override {
     docs = true;
     demos = true;
     examples = true;
     developerBuild = true;
-  };
+  });
 
   qt4SDK = qtcreator.override {
     sdkBuild = true;
     qtLib = qt48Full;
   };
 
-  qt53Full = qt53.override {
+  qt53Full = appendToName "full" (qt53.override {
     buildDocs = true;
     buildExamples = true;
     buildTests = true;
     developerBuild = true;
-  };
+  });
 
   qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix {
     mesa = mesa_noglu;
@@ -6093,12 +6202,12 @@ let
     bison = bison2; # error: too few arguments to function 'int yylex(...
   };
 
-  qt5Full = qt5.override {
+  qt5Full = appendToName "full" (qt5.override {
     buildDocs = true;
     buildExamples = true;
     buildTests = true;
     developerBuild = true;
-  };
+  });
 
   qt5SDK = qtcreator.override {
     sdkBuild = true;
@@ -6123,15 +6232,14 @@ let
 
   raul = callPackage ../development/libraries/audio/raul { };
 
-  readline = readline6; # 6.2 works, 6.3 breaks python, parted
+  readline = readline6;
+  readline6 = readline63;
 
-  readline4 = callPackage ../development/libraries/readline/readline4.nix { };
+  readline5 = callPackage ../development/libraries/readline/5.x.nix { };
 
-  readline5 = callPackage ../development/libraries/readline/readline5.nix { };
+  readline62 = callPackage ../development/libraries/readline/6.2.nix { };
 
-  readline6 = callPackage ../development/libraries/readline/readline6.nix { };
-
-  readline63 = callPackage ../development/libraries/readline/readline6.3.nix { };
+  readline63 = callPackage ../development/libraries/readline/6.3.nix { };
 
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
 
@@ -6264,6 +6372,8 @@ let
 
   sphinxbase = callPackage ../development/libraries/sphinxbase { };
 
+  sphinxsearch = callPackage ../servers/search/sphinxsearch { };
+
   spice = callPackage ../development/libraries/spice {
     celt = celt_0_5_1;
     inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama;
@@ -6529,6 +6639,22 @@ let
 
   zziplib = callPackage ../development/libraries/zziplib { };
 
+  ### DEVELOPMENT / LIBRARIES / AGDA
+
+  agda = callPackage ../build-support/agda {
+    glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null;
+    extension = self : super : {};
+    Agda = haskellPackages.Agda;
+    inherit writeScriptBin;
+  };
+
+  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {
+    inherit (haskellPackages) ghc filemanip;
+  };
+
+  AgdaSheaves = callPackage ../development/libraries/agda/AgdaSheaves {};
+
+  bitvector = callPackage ../development/libraries/agda/bitvector {};
 
   ### DEVELOPMENT / LIBRARIES / JAVA
 
@@ -6593,7 +6719,9 @@ let
 
   ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
 
-  jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
+  jquery = callPackage ../development/libraries/javascript/jquery { };
+
+  jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
   yuicompressor = callPackage ../development/tools/yuicompressor { };
 
@@ -6723,7 +6851,7 @@ let
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  sip = callPackage ../development/python-modules/sip { };
+  sip = pythonPackages.sip;
 
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     stdenv = if stdenv.isDarwin
@@ -6827,7 +6955,7 @@ let
 
   dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {};
 
-  diod = callPackage ../servers/diod { };
+  diod = callPackage ../servers/diod { lua = lua5_1; };
 
   dovecot = dovecot21;
 
@@ -6924,7 +7052,7 @@ let
 
   nix-binary-cache = callPackage ../servers/http/nix-binary-cache {};
 
-  nsd = callPackage ../servers/dns/nsd { };
+  nsd = callPackage ../servers/dns/nsd (config.nsd or {});
 
   nsq = callPackage ../servers/nsq { };
 
@@ -7016,6 +7144,8 @@ let
 
   postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { };
 
+  postgresql94 = callPackage ../servers/sql/postgresql/9.4.x.nix { };
+
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
@@ -7089,8 +7219,14 @@ let
 
   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
 
+  tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { };
+
+  tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { };
+
   tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { };
 
+  torque = callPackage ../servers/computing/torque { };
+
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
   unifi = callPackage ../servers/unifi { };
@@ -7794,6 +7930,8 @@ let
 
   shadow = callPackage ../os-specific/linux/shadow { };
 
+  smem = callPackage ../os-specific/linux/smem { };
+
   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
 
   sysdig = callPackage ../os-specific/linux/sysdig {
@@ -8010,6 +8148,8 @@ let
 
   aurulent-sans = callPackage ../data/fonts/aurulent-sans { };
 
+  baekmuk-ttf = callPackage ../data/fonts/baekmuk-ttf { };
+
   bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
 
   cacert = callPackage ../data/misc/cacert { };
@@ -8115,6 +8255,8 @@ let
 
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
+  proggyfonts = callPackage ../data/fonts/proggyfonts { };
+
   pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { };
 
   shared_mime_info = callPackage ../data/misc/shared-mime-info { };
@@ -8123,6 +8265,8 @@ let
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
+  stix-otf = callPackage ../data/fonts/stix-otf { };
+
   symbola = callPackage ../data/fonts/symbola { };
 
   iana_etc = callPackage ../data/misc/iana-etc { };
@@ -8265,18 +8409,20 @@ let
   avxsynth = callPackage ../applications/video/avxsynth { };
 
   awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
-    lua = lua5;
     cairo = cairo.override { xcbSupport = true; };
   };
   awesome-3-5 = callPackage ../applications/window-managers/awesome {
-    lua   = lua5_1;
     cairo = cairo.override { xcbSupport = true; };
   };
   awesome = awesome-3-5;
 
   inherit (gnome3) baobab;
 
-  backintime = callPackage ../applications/networking/sync/backintime { };
+  backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
+
+  backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { };
+
+  backintime = backintime-gnome;
 
   bar = callPackage ../applications/window-managers/bar { };
 
@@ -8303,13 +8449,11 @@ let
   bitcoind = callPackage ../applications/misc/bitcoin { gui = false; };
 
   altcoins = recurseIntoAttrs (
-    callPackage ../applications/misc/bitcoin/altcoins.nix {}
+    (callPackage ../applications/misc/bitcoin/altcoins.nix {}) //
+    (callPackage ../applications/misc/bitcoin/dogecoin.nix {})
   );
 
-  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee {
-    gnutls = gnutls;
-    libotr = libotr_3_2;
-  };
+  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
 
   blender = callPackage  ../applications/misc/blender {
     python = python34;
@@ -8547,9 +8691,9 @@ let
 
     darcsum = callPackage ../applications/editors/emacs-modes/darcsum { };
 
-    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
+    dash = callPackage ../applications/editors/emacs-modes/dash { };
 
-    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
+    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
 
     emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { };
 
@@ -8559,6 +8703,8 @@ let
 
     emms = callPackage ../applications/editors/emacs-modes/emms { };
 
+    ensime = callPackage ../applications/editors/emacs-modes/ensime { };
+
     ess = callPackage ../applications/editors/emacs-modes/ess { };
 
     flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { };
@@ -8569,31 +8715,21 @@ let
 
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
-    idris = callPackage ../applications/editors/emacs-modes/idris { };
-
-    jade = callPackage ../applications/editors/emacs-modes/jade { };
-
-    jdee = callPackage ../applications/editors/emacs-modes/jdee {
-      # Requires Emacs 23, for `avl-tree'.
-    };
-
-    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
+    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
 
-    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
 
-    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
+    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
 
-    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+    idris = callPackage ../applications/editors/emacs-modes/idris { };
 
-    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
-      inherit (haskellPackages) cabal haskellSrcExts;
-    };
+    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
 
-    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+    jade = callPackage ../applications/editors/emacs-modes/jade { };
 
-    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
+    jdee = callPackage ../applications/editors/emacs-modes/jdee { };
 
-    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
+    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
 
     logito = callPackage ../applications/editors/emacs-modes/logito { };
 
@@ -8607,6 +8743,8 @@ let
 
     notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
 
+    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+
     offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
 
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
@@ -8637,19 +8775,31 @@ let
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };
 
+    rainbowDelimiters = callPackage ../applications/editors/emacs-modes/rainbow-delimiters { };
+
     rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { };
 
     remember = callPackage ../applications/editors/emacs-modes/remember { };
 
     rudel = callPackage ../applications/editors/emacs-modes/rudel { };
 
+    s = callPackage ../applications/editors/emacs-modes/s { };
+
     sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { };
 
     scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { };
     scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { };
 
+    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+
+    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
+      inherit (haskellPackages) cabal haskellSrcExts;
+    };
+
     sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { };
 
+    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+
     writeGood = callPackage ../applications/editors/emacs-modes/writegood { };
 
     xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { };
@@ -8777,12 +8927,6 @@ let
 
   firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; };
 
-  firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix {
-    inherit (gnome) libIDL;
-    inherit (pythonPackages) pysqlite;
-    libpng = libpng_apng;
-  };
-
   firefox = callPackage ../applications/networking/browsers/firefox {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
@@ -8805,6 +8949,11 @@ let
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
+  fme = callPackage ../applications/misc/fme {
+    inherit (gnome) libglademm;
+    inherit pkgconfig autoconf automake gettext;
+  };
+
   freecad = callPackage ../applications/graphics/freecad {
     opencascade = opencascade_6_5;
     inherit (pythonPackages) matplotlib pycollada;
@@ -8894,11 +9043,16 @@ let
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  linssid = callPackage ../applications/networking/linssid { };
+
   mi2ly = callPackage ../applications/audio/mi2ly {};
 
   praat = callPackage ../applications/audio/praat { };
 
-  quvi = callPackage ../applications/video/quvi/tool.nix { };
+  quvi = callPackage ../applications/video/quvi/tool.nix {
+    lua5_sockets = lua5_1_sockets;
+    lua5 = lua5_1;
+  };
 
   quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
 
@@ -9044,7 +9198,7 @@ let
 
   ii = callPackage ../applications/networking/irc/ii { };
 
-  ike = callPackage ../applications/ike { };
+  ike = callPackage ../applications/networking/ike { };
 
   ikiwiki = callPackage ../applications/misc/ikiwiki {
     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
@@ -9362,6 +9516,7 @@ let
 
   mpv = callPackage ../applications/video/mpv {
     lua = lua5_1;
+    lua5_sockets = lua5_1_sockets;
     bs2bSupport = config.mpv.bs2bSupport or true;
     quviSupport = config.mpv.quviSupport or false;
     cacaSupport = config.mpv.cacaSupport or true;
@@ -9389,8 +9544,13 @@ let
     iceSupport = config.murmur.iceSupport or true;
   };
 
+  musescore = callPackage ../applications/audio/musescore { };
+
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
 
+  namecoin = callPackage ../applications/misc/namecoin { };
+  namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   ruby_gpgme = callPackage ../development/libraries/ruby_gpgme {
@@ -9724,6 +9884,8 @@ let
     conf = config.st.conf or null;
   };
 
+  stella = callPackage ../misc/emulators/stella { };
+
   linuxstopmotion = callPackage ../applications/video/linuxstopmotion { };
 
   sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d { })
@@ -9736,6 +9898,8 @@ let
 
   bittorrentSync = callPackage ../applications/networking/bittorrentsync { };
 
+  copy-com = callPackage ../applications/networking/copy-com { };
+
   dropbox = callPackage ../applications/networking/dropbox { };
 
   dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
@@ -9760,6 +9924,8 @@ let
     libpng = libpng12;
   };
 
+  smartgithg = callPackage ../applications/version-management/smartgithg { };
+
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
   snd = callPackage ../applications/audio/snd { };
@@ -9957,6 +10123,8 @@ let
 
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
+  vanubi = callPackage ../applications/editors/vanubi { };
+
   vbindiff = callPackage ../applications/editors/vbindiff { };
 
   vcprompt = callPackage ../applications/version-management/vcprompt { };
@@ -10117,8 +10285,36 @@ let
       gtk_modules = [ libcanberra ];
     };
 
+  wrapRetroArch = { retroarch }:
+  let
+    cfg = stdenv.lib.attrByPath [ "retroarch" ] {} config;
+  in
+    import ../misc/emulators/retroarch/wrapper.nix {
+      inherit stdenv lib makeWrapper retroarch;
+      cores = with libretro;
+      ([ ]
+      ++ lib.optional (cfg.enable4do or false) _4do
+      ++ lib.optional (cfg.enableDesmume or false) desmume
+      ++ lib.optional (cfg.enableFceumm or false) fceumm
+      ++ lib.optional (cfg.enableMupen64Plus or false) mupen64plus
+      ++ lib.optional (cfg.enablePicodrive or false) picodrive
+      ++ lib.optional (cfg.enablePPSSPP or false) ppsspp
+      ++ lib.optional (cfg.enableScummVM or false) scummvm
+      ++ lib.optional (cfg.enableSnes9xNext or false) snes9x-next
+      ++ lib.optional (cfg.enableStella or false) stella
+      ++ lib.optional (cfg.enableVbaNext or false) vba-next
+      );
+  };
+
   wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
 
+  wxcam = callPackage ../applications/video/wxcam {
+    inherit (gnome) libglade;
+    inherit intltool;
+    wxGTK = wxGTK28;
+    gtk = gtk2;
+  };
+
   x11vnc = callPackage ../tools/X11/x11vnc { };
 
   x2vnc = callPackage ../tools/X11/x2vnc { };
@@ -10185,6 +10381,13 @@ let
     inherit (gnome) libglade GConf;
   };
 
+  xiphos = callPackage ../applications/misc/xiphos {
+    gconf = gnome2.GConf;
+    inherit (gnome2) gtkhtml libgtkhtml libglade scrollkeeper;
+    python = python27;
+    webkitgtk = webkitgtk2;
+  };
+
   xournal = callPackage ../applications/graphics/xournal {
     inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas;
   };
@@ -10261,12 +10464,13 @@ let
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
-  zotero = callPackage ../applications/office/zotero {
-    xulrunner = xulrunner_30;
+  zim = callPackage ../applications/office/zim {
+    pygtk = pyGtkGlade;
   };
 
-  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
+  zotero = callPackage ../applications/office/zotero { };
 
+  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
   ### GAMES
 
@@ -10436,7 +10640,7 @@ let
 
   oilrush = callPackage ../games/oilrush { };
 
-  openra = callPackage ../games/openra { };
+  openra = callPackage ../games/openra { lua = lua5_1; };
 
   openttd = callPackage ../games/openttd {
     zlib = zlibStatic;
@@ -10511,11 +10715,9 @@ let
 
   stardust = callPackage ../games/stardust {};
 
-  steam = callPackage_i686 ../games/steam {};
+  steam = callPackage ../games/steam {};
 
-  steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix {
-    zenity = gnome2.zenity;
-  };
+  steamChrootEnv = callPackage ../games/steam/chrootenv.nix { };
 
   stuntrally = callPackage ../games/stuntrally { };
 
@@ -10747,6 +10949,8 @@ let
 
       kdiff3 = callPackage ../tools/text/kdiff3 { };
 
+      kgraphviewer = callPackage ../applications/graphics/kgraphviewer { };
+
       kile = callPackage ../applications/editors/kile { };
 
       kmplayer = callPackage ../applications/video/kmplayer { };
@@ -10781,6 +10985,8 @@ let
 
       libnm-qt = callPackage ../development/libraries/libnm-qt { };
 
+      massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { };
+
       networkmanagement = callPackage ../tools/networking/networkmanagement { };
 
       partitionManager = callPackage ../tools/misc/partition-manager { };
@@ -10844,7 +11050,11 @@ let
     geoclue = geoclue2;
   };
 
-  oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+  oxygen-gtk2 = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+
+  oxygen-gtk3 = callPackage ../misc/themes/gtk3/oxygen-gtk3 { };
+
+  oxygen_gtk = oxygen-gtk2; # backwards compatibility
 
   gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
 
@@ -11347,6 +11557,8 @@ let
 
   pgfplots = callPackage ../tools/typesetting/tex/pgfplots { };
 
+  phabricator = callPackage ../misc/phabricator { };
+
   pjsip = callPackage ../applications/networking/pjsip { };
 
   polytable = callPackage ../tools/typesetting/tex/polytable { };
@@ -11357,7 +11569,15 @@ let
 
   putty = callPackage ../applications/networking/remote/putty { };
 
-  retroarch = callPackage ../misc/emulators/retroarch { };
+  retroarchBare = callPackage ../misc/emulators/retroarch { };
+
+  retroarchBareMaster = callPackage ../misc/emulators/retroarch/master.nix { };
+
+  retroarch = wrapRetroArch { retroarch = retroarchBareMaster; };
+
+  libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix {
+    retroarch = retroarchBareMaster;
+  });
 
   rssglx = callPackage ../misc/screensavers/rss-glx { };
 
@@ -11604,6 +11824,7 @@ let
   asciidocFull = asciidoc-full;  # added 2014-06-22
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
+  jquery_ui = jquery-ui;  # added 2014-09-07
 
 
 }; in self; in pkgs
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index cfb06b0880d2..942e4be2ca7a 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -873,6 +873,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   fuzzcheck = callPackage ../development/libraries/haskell/fuzzcheck {};
 
+  functorInfix = callPackage ../development/libraries/haskell/functor-infix {};
+
   gamma = callPackage ../development/libraries/haskell/gamma {};
 
   geniplate = callPackage ../development/libraries/haskell/geniplate {};
@@ -901,12 +903,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled
   };
 
+
+  ghcServer = callPackage ../development/libraries/haskell/ghc-server {};
+
   ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
 
   ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
 
   ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { inherit (pkgs) emacs; };
-  ghcMod_5_0_1_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.1.nix { inherit (pkgs) emacs; };
+  ghcMod_5_0_1_2 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.2.nix { inherit (pkgs) emacs; };
   ghcMod = self.ghcMod_4_1_6;
 
   ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {};
@@ -1188,6 +1193,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hi = callPackage ../development/libraries/haskell/hi {};
 
+  hindent = callPackage ../development/libraries/haskell/hindent {};
+
   hint = callPackage ../development/libraries/haskell/hint {};
 
   hit = callPackage ../development/libraries/haskell/hit {};
@@ -1227,9 +1234,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {};
 
   hoogle = callPackage ../development/libraries/haskell/hoogle {};
-  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {
-    parallel = pkgs.parallel;
-  };
+  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {};
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
 
@@ -1543,6 +1548,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   machines = callPackage ../development/libraries/haskell/machines {};
 
+  managed = callPackage ../development/libraries/haskell/managed {};
+
   markdown = callPackage ../development/libraries/haskell/markdown {};
 
   markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {};
@@ -1719,8 +1726,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
   network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {};
   network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {};
-  network_2_6_0_1 = callPackage ../development/libraries/haskell/network/2.6.0.1.nix {};
-  network = self.network_2_5_0_0; # the latest version break HTTP on all platforms
+  network_2_6_0_2 = callPackage ../development/libraries/haskell/network/2.6.0.2.nix {};
+  network = self.network_2_5_0_0;
 
   networkCarbon = callPackage ../development/libraries/haskell/network-carbon {};
 
@@ -1793,7 +1800,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   options = callPackage ../development/libraries/haskell/options {};
 
-  optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
+  optparseApplicative_0_9_1_1 = callPackage ../development/libraries/haskell/optparse-applicative/0.9.1.1.nix {};
+  optparseApplicative_0_10_0 = callPackage ../development/libraries/haskell/optparse-applicative/0.10.0.nix {};
+  optparseApplicative = self.optparseApplicative_0_9_1_1;       # version 0.10.0 breaks too many builds
 
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
 
@@ -2065,6 +2074,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {};
 
+  regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {};
+
   regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {};
   regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
   regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
@@ -2130,6 +2141,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   robotsTxt = callPackage ../development/libraries/haskell/robots-txt {};
 
+  rope = callPackage ../development/libraries/haskell/rope {};
+
   rosezipper = callPackage ../development/libraries/haskell/rosezipper {};
 
   RSA = callPackage ../development/libraries/haskell/RSA {};
@@ -2541,13 +2554,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   timeCompat = callPackage ../development/libraries/haskell/time-compat {};
 
-  tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {};
-  tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {};
-  tls = self.tls_1_2_8;
-
-  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {
-    tls = self.tls_1_1_5;
-  };
+  tls = callPackage ../development/libraries/haskell/tls {};
 
   tostring = callPackage ../development/libraries/haskell/tostring {};
 
@@ -2890,7 +2897,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   # Compilers.
 
   Agda = callPackage ../development/compilers/agda {};
-  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {};
 
   uhc = callPackage ../development/compilers/uhc {};
 
@@ -2928,7 +2934,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {};
   haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {};
   haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {};
-  haddock = self.haddock_2_14_3;
+  haddock_2_15_0 = callPackage ../development/tools/documentation/haddock/2.15.0.nix {};
+  haddock = self.haddock_2_15_0;
+
+  haddockApi = callPackage ../development/libraries/haskell/haddock-api {};
 
   haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {};
 
@@ -2994,6 +3003,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   idris_plain = callPackage ../development/compilers/idris {
     llvmGeneral = self.llvmGeneral_3_3_8_2;
     llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
+    optparseApplicative = self.optparseApplicative_0_10_0;
   };
 
   idris = callPackage ../development/compilers/idris/wrapper.nix {};
@@ -3027,12 +3037,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
 
   # Build a cabal package given a local .cabal file
-  buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
-    cabalExpr = pkgs.stdenv.mkDerivation ({
+  buildLocalCabalWithArgs = { src
+                            , name
+                            , args ? {}
+                            , cabalDrvArgs ? { jailbreak = true; }
+                            # for import-from-derivation, want to use current system
+                            , nativePkgs ? import pkgs.path {}
+                            }: let
+    cabalExpr = nativePkgs.stdenv.mkDerivation ({
       name = "${name}.nix";
 
       buildCommand = ''
-      ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
+      export HOME="$TMPDIR"
+      ${nativePkgs.haskellPackages.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
           | grep -v FILTERME | sed \
             -e 's/licenses.proprietary/licenses.unfree/' \
             -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
@@ -3041,9 +3058,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
             -e 's/pname = \([^\n]*\)/pname = \1\n  inherit src;\n/'  > $out
       '';
 
-    } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+    } // pkgs.lib.optionalAttrs nativePkgs.stdenv.isLinux {
       LANG = "en_US.UTF-8";
-      LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+      LOCALE_ARCHIVE = "${nativePkgs.glibcLocales}/lib/locale/locale-archive";
     });
   in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
 
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index fb12a10e5df3..c1b0eafcb7d1 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -4,7 +4,8 @@
   by-spec."Base64"."~0.2.0" =
     self.by-version."Base64"."0.2.1";
   by-version."Base64"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-Base64-0.2.1";
+    name = "Base64-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
@@ -14,8 +15,8 @@
     ];
     buildInputs =
       (self.nativeDeps."Base64" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "Base64" ];
@@ -23,7 +24,8 @@
   by-spec."JSONStream"."~0.7.1" =
     self.by-version."JSONStream"."0.7.4";
   by-version."JSONStream"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-JSONStream-0.7.4";
+    name = "JSONStream-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz";
@@ -33,10 +35,10 @@
     ];
     buildInputs =
       (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "JSONStream" ];
@@ -45,6 +47,7 @@
     self.by-version."JSONStream"."0.8.4";
   by-version."JSONStream"."0.8.4" = lib.makeOverridable self.buildNodePackage {
     name = "JSONStream-0.8.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
@@ -54,10 +57,10 @@
     ];
     buildInputs =
       (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "JSONStream" ];
@@ -67,7 +70,8 @@
   by-spec."StringScanner"."~0.0.3" =
     self.by-version."StringScanner"."0.0.3";
   by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-StringScanner-0.0.3";
+    name = "StringScanner-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz";
@@ -77,8 +81,8 @@
     ];
     buildInputs =
       (self.nativeDeps."StringScanner" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "StringScanner" ];
@@ -86,7 +90,8 @@
   by-spec."abbrev"."1" =
     self.by-version."abbrev"."1.0.5";
   by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-abbrev-1.0.5";
+    name = "abbrev-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
@@ -96,8 +101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."abbrev" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "abbrev" ];
@@ -109,7 +114,8 @@
   by-spec."accepts"."1.0.0" =
     self.by-version."accepts"."1.0.0";
   by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.0";
+    name = "accepts-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz";
@@ -119,18 +125,19 @@
     ];
     buildInputs =
       (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."negotiator"."0.3.0"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "accepts" ];
   };
-  by-spec."accepts"."~1.0.0" =
+  by-spec."accepts"."~1.0.7" =
     self.by-version."accepts"."1.0.7";
   by-version."accepts"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.7";
+    name = "accepts-1.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
@@ -140,24 +147,41 @@
     ];
     buildInputs =
       (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."negotiator"."0.4.7"
+    deps = {
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "accepts" ];
+  };
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.0";
+  by-version."accepts"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "accepts-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz";
+        name = "accepts-1.1.0.tgz";
+        sha1 = "43ba6d946374c80f91823eaec6bb43dc4955500b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."accepts" or []);
+    deps = {
+      "mime-types-2.0.1" = self.by-version."mime-types"."2.0.1";
+      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "accepts" ];
   };
-  by-spec."accepts"."~1.0.4" =
-    self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.0.5" =
-    self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.0.7" =
-    self.by-version."accepts"."1.0.7";
   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 = "node-active-x-obfuscator-0.0.1";
+    name = "active-x-obfuscator-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
@@ -167,9 +191,9 @@
     ];
     buildInputs =
       (self.nativeDeps."active-x-obfuscator" or []);
-    deps = [
-      self.by-version."zeparser"."0.0.5"
-    ];
+    deps = {
+      "zeparser-0.0.5" = self.by-version."zeparser"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "active-x-obfuscator" ];
@@ -177,7 +201,8 @@
   by-spec."addressparser"."~0.2.1" =
     self.by-version."addressparser"."0.2.1";
   by-version."addressparser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-addressparser-0.2.1";
+    name = "addressparser-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
@@ -187,8 +212,8 @@
     ];
     buildInputs =
       (self.nativeDeps."addressparser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "addressparser" ];
@@ -196,7 +221,8 @@
   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 = "node-adm-zip-0.2.1";
+    name = "adm-zip-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
@@ -206,8 +232,8 @@
     ];
     buildInputs =
       (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
@@ -215,7 +241,8 @@
   by-spec."adm-zip"."~0.4.3" =
     self.by-version."adm-zip"."0.4.4";
   by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-adm-zip-0.4.4";
+    name = "adm-zip-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
@@ -225,36 +252,38 @@
     ];
     buildInputs =
       (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
   by-spec."almond"."*" =
-    self.by-version."almond"."0.2.9";
-  by-version."almond"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-almond-0.2.9";
+    self.by-version."almond"."0.3.0";
+  by-version."almond"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "almond-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/almond/-/almond-0.2.9.tgz";
-        name = "almond-0.2.9.tgz";
-        sha1 = "ee4543d653a2306d682091c11050d441034f5ed8";
+        url = "http://registry.npmjs.org/almond/-/almond-0.3.0.tgz";
+        name = "almond-0.3.0.tgz";
+        sha1 = "701510c31038354f85ea31410b89ff3392058014";
       })
     ];
     buildInputs =
       (self.nativeDeps."almond" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "almond" ];
   };
-  "almond" = self.by-version."almond"."0.2.9";
+  "almond" = self.by-version."almond"."0.3.0";
   by-spec."amdefine"."*" =
     self.by-version."amdefine"."0.1.0";
   by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-amdefine-0.1.0";
+    name = "amdefine-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
@@ -264,8 +293,8 @@
     ];
     buildInputs =
       (self.nativeDeps."amdefine" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
@@ -276,7 +305,8 @@
   by-spec."ansi"."~0.3.0" =
     self.by-version."ansi"."0.3.0";
   by-version."ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-0.3.0";
+    name = "ansi-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz";
@@ -286,35 +316,17 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  by-spec."ansi-regex"."^0.1.0" =
-    self.by-version."ansi-regex"."0.1.0";
-  by-version."ansi-regex"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz";
-        name = "ansi-regex-0.1.0.tgz";
-        sha1 = "55ca60db6900857c423ae9297980026f941ed903";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-regex" ];
-  };
   by-spec."ansi-regex"."^0.2.0" =
     self.by-version."ansi-regex"."0.2.1";
   by-version."ansi-regex"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.2.1";
+    name = "ansi-regex-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
@@ -324,8 +336,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-regex" ];
@@ -335,7 +347,8 @@
   by-spec."ansi-remover"."*" =
     self.by-version."ansi-remover"."0.0.2";
   by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-remover-0.0.2";
+    name = "ansi-remover-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
@@ -345,8 +358,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-remover" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
@@ -355,7 +368,8 @@
   by-spec."ansi-styles"."^1.1.0" =
     self.by-version."ansi-styles"."1.1.0";
   by-version."ansi-styles"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.1.0";
+    name = "ansi-styles-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
@@ -365,8 +379,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
@@ -374,7 +388,8 @@
   by-spec."ansi-styles"."~1.0.0" =
     self.by-version."ansi-styles"."1.0.0";
   by-version."ansi-styles"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.0.0";
+    name = "ansi-styles-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
@@ -384,8 +399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
@@ -393,7 +408,8 @@
   by-spec."ansicolors"."~0.3.2" =
     self.by-version."ansicolors"."0.3.2";
   by-version."ansicolors"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansicolors-0.3.2";
+    name = "ansicolors-0.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
@@ -403,8 +419,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansicolors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
@@ -412,7 +428,8 @@
   by-spec."ansistyles"."~0.1.3" =
     self.by-version."ansistyles"."0.1.3";
   by-version."ansistyles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansistyles-0.1.3";
+    name = "ansistyles-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
@@ -422,8 +439,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansistyles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansistyles" ];
@@ -431,7 +448,8 @@
   by-spec."apparatus".">= 0.0.6" =
     self.by-version."apparatus"."0.0.8";
   by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-apparatus-0.0.8";
+    name = "apparatus-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
@@ -441,35 +459,37 @@
     ];
     buildInputs =
       (self.nativeDeps."apparatus" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-    ];
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "apparatus" ];
   };
-  by-spec."archiver"."~0.10.0" =
-    self.by-version."archiver"."0.10.1";
-  by-version."archiver"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archiver-0.10.1";
+  by-spec."archiver"."~0.11.0" =
+    self.by-version."archiver"."0.11.0";
+  by-version."archiver"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "archiver-0.11.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/archiver/-/archiver-0.10.1.tgz";
-        name = "archiver-0.10.1.tgz";
-        sha1 = "c88a50fe114f744d059a07dfc4690f3a204146e4";
+        url = "http://registry.npmjs.org/archiver/-/archiver-0.11.0.tgz";
+        name = "archiver-0.11.0.tgz";
+        sha1 = "98177da7a6c0192b7f2798f30cd6eab8abd76690";
       })
     ];
     buildInputs =
       (self.nativeDeps."archiver" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."tar-stream"."0.4.5"
-      self.by-version."zip-stream"."0.3.7"
-      self.by-version."lazystream"."0.1.0"
-      self.by-version."file-utils"."0.2.0"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lazystream-0.1.0" = self.by-version."lazystream"."0.1.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "tar-stream-0.4.5" = self.by-version."tar-stream"."0.4.5";
+      "zip-stream-0.4.1" = self.by-version."zip-stream"."0.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "archiver" ];
@@ -477,7 +497,8 @@
   by-spec."archy"."0" =
     self.by-version."archy"."0.0.2";
   by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archy-0.0.2";
+    name = "archy-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
@@ -487,16 +508,19 @@
     ];
     buildInputs =
       (self.nativeDeps."archy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
+  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 = "node-argparse-0.1.15";
+    name = "argparse-0.1.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
@@ -506,10 +530,10 @@
     ];
     buildInputs =
       (self.nativeDeps."argparse" or []);
-    deps = [
-      self.by-version."underscore"."1.4.4"
-      self.by-version."underscore.string"."2.3.3"
-    ];
+    deps = {
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
@@ -519,7 +543,8 @@
   by-spec."asap"."^1.0.0" =
     self.by-version."asap"."1.0.0";
   by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asap-1.0.0";
+    name = "asap-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
@@ -529,8 +554,8 @@
     ];
     buildInputs =
       (self.nativeDeps."asap" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "asap" ];
@@ -538,7 +563,8 @@
   by-spec."ascii-json"."~0.2" =
     self.by-version."ascii-json"."0.2.0";
   by-version."ascii-json"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ascii-json-0.2.0";
+    name = "ascii-json-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
@@ -548,8 +574,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ascii-json" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ascii-json" ];
@@ -557,7 +583,8 @@
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asn1-0.1.11";
+    name = "asn1-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
@@ -567,39 +594,41 @@
     ];
     buildInputs =
       (self.nativeDeps."asn1" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "asn1" ];
   };
   by-spec."assert"."*" =
-    self.by-version."assert"."1.1.1";
-  by-version."assert"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-1.1.1";
+    self.by-version."assert"."1.1.2";
+  by-version."assert"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "assert-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assert/-/assert-1.1.1.tgz";
-        name = "assert-1.1.1.tgz";
-        sha1 = "766549ef4a6014b1e19c7c53f9816eabda440760";
+        url = "http://registry.npmjs.org/assert/-/assert-1.1.2.tgz";
+        name = "assert-1.1.2.tgz";
+        sha1 = "adaa04c46bb58c6dd1f294da3eb26e6228eb6e44";
       })
     ];
     buildInputs =
       (self.nativeDeps."assert" or []);
-    deps = [
-      self.by-version."util"."0.10.2"
-    ];
+    deps = {
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert" ];
   };
-  "assert" = self.by-version."assert"."1.1.1";
+  "assert" = self.by-version."assert"."1.1.2";
   by-spec."assert"."~1.1.0" =
-    self.by-version."assert"."1.1.1";
+    self.by-version."assert"."1.1.2";
   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 = "node-assert-plus-0.1.2";
+    name = "assert-plus-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
@@ -609,8 +638,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
@@ -618,7 +647,8 @@
   by-spec."assert-plus"."0.1.3" =
     self.by-version."assert-plus"."0.1.3";
   by-version."assert-plus"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-plus-0.1.3";
+    name = "assert-plus-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.3.tgz";
@@ -628,8 +658,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
@@ -637,7 +667,8 @@
   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 = "node-assertion-error-1.0.0";
+    name = "assertion-error-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
@@ -647,8 +678,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assertion-error" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assertion-error" ];
@@ -656,7 +687,8 @@
   by-spec."astw"."~1.1.0" =
     self.by-version."astw"."1.1.0";
   by-version."astw"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-astw-1.1.0";
+    name = "astw-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz";
@@ -666,9 +698,9 @@
     ];
     buildInputs =
       (self.nativeDeps."astw" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "astw" ];
@@ -676,7 +708,8 @@
   by-spec."async"."*" =
     self.by-version."async"."0.9.0";
   by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.9.0";
+    name = "async-0.9.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
@@ -686,36 +719,18 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
   "async" = self.by-version."async"."0.9.0";
-  by-spec."async"."0.1.15" =
-    self.by-version."async"."0.1.15";
-  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz";
-        name = "async-0.1.15.tgz";
-        sha1 = "2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
   by-spec."async"."0.1.22" =
     self.by-version."async"."0.1.22";
   by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.22";
+    name = "async-0.1.22";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
@@ -725,8 +740,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -736,7 +751,8 @@
   by-spec."async"."0.2.9" =
     self.by-version."async"."0.2.9";
   by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.9";
+    name = "async-0.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
@@ -746,8 +762,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -755,7 +771,8 @@
   by-spec."async"."0.2.x" =
     self.by-version."async"."0.2.10";
   by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.10";
+    name = "async-0.2.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
@@ -765,8 +782,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -777,6 +794,8 @@
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.1.22" =
     self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.0" =
+    self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.6" =
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.7" =
@@ -786,7 +805,8 @@
   by-spec."async"."~0.7.0" =
     self.by-version."async"."0.7.0";
   by-version."async"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.7.0";
+    name = "async-0.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz";
@@ -796,8 +816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -805,7 +825,8 @@
   by-spec."async"."~0.8" =
     self.by-version."async"."0.8.0";
   by-version."async"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.8.0";
+    name = "async-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.8.0.tgz";
@@ -815,18 +836,19 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
   by-spec."async"."~0.9.0" =
     self.by-version."async"."0.9.0";
-  by-spec."async-some"."~1.0.0" =
+  by-spec."async-some"."~1.0.1" =
     self.by-version."async-some"."1.0.1";
   by-version."async-some"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-some-1.0.1";
+    name = "async-some-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz";
@@ -836,40 +858,42 @@
     ];
     buildInputs =
       (self.nativeDeps."async-some" or []);
-    deps = [
-      self.by-version."dezalgo"."1.0.0"
-    ];
+    deps = {
+      "dezalgo-1.0.0" = self.by-version."dezalgo"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async-some" ];
   };
   by-spec."aws-sdk"."*" =
-    self.by-version."aws-sdk"."2.0.14";
-  by-version."aws-sdk"."2.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-2.0.14";
+    self.by-version."aws-sdk"."2.0.15";
+  by-version."aws-sdk"."2.0.15" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.15";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.14.tgz";
-        name = "aws-sdk-2.0.14.tgz";
-        sha1 = "ee6668b97d62924b3d27d577658411c06ad7f2ad";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.15.tgz";
+        name = "aws-sdk-2.0.15.tgz";
+        sha1 = "2448f90ed553ab9eba130e4e256b6797386293b2";
       })
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."aws-sdk-apis"."3.1.6"
-      self.by-version."xml2js"."0.2.6"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "aws-sdk-apis-3.1.7" = self.by-version."aws-sdk-apis"."3.1.7";
+      "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.by-version."aws-sdk"."2.0.14";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.15";
   by-spec."aws-sdk".">=1.2.0 <2" =
     self.by-version."aws-sdk"."1.18.0";
   by-version."aws-sdk"."1.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-1.18.0";
+    name = "aws-sdk-1.18.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
@@ -879,29 +903,30 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."xml2js"."0.2.4"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "xml2js-0.2.4" = self.by-version."xml2js"."0.2.4";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
   by-spec."aws-sdk-apis".">=3.1.0 <4.0.0" =
-    self.by-version."aws-sdk-apis"."3.1.6";
-  by-version."aws-sdk-apis"."3.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-apis-3.1.6";
+    self.by-version."aws-sdk-apis"."3.1.7";
+  by-version."aws-sdk-apis"."3.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-apis-3.1.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.6.tgz";
-        name = "aws-sdk-apis-3.1.6.tgz";
-        sha1 = "1831a16ef8d5dd7d7278c749aff3d33ee7b1dacb";
+        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.7.tgz";
+        name = "aws-sdk-apis-3.1.7.tgz";
+        sha1 = "646f59b8cf3e2b65b77aa3de2e66f3d1031aac61";
       })
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk-apis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk-apis" ];
@@ -909,7 +934,8 @@
   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 = "node-aws-sign-0.2.0";
+    name = "aws-sign-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
@@ -919,8 +945,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
@@ -928,7 +954,8 @@
   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 = "node-aws-sign-0.3.0";
+    name = "aws-sign-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
@@ -938,8 +965,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
@@ -947,7 +974,8 @@
   by-spec."aws-sign2"."~0.5.0" =
     self.by-version."aws-sign2"."0.5.0";
   by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign2-0.5.0";
+    name = "aws-sign2-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
@@ -957,8 +985,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign2" ];
@@ -966,7 +994,8 @@
   by-spec."backbone"."*" =
     self.by-version."backbone"."1.1.2";
   by-version."backbone"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backbone-1.1.2";
+    name = "backbone-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz";
@@ -976,9 +1005,9 @@
     ];
     buildInputs =
       (self.nativeDeps."backbone" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
@@ -987,7 +1016,8 @@
   by-spec."backoff"."2.1.0" =
     self.by-version."backoff"."2.1.0";
   by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backoff-2.1.0";
+    name = "backoff-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
@@ -997,8 +1027,8 @@
     ];
     buildInputs =
       (self.nativeDeps."backoff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
@@ -1006,7 +1036,8 @@
   by-spec."base62"."0.1.1" =
     self.by-version."base62"."0.1.1";
   by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base62-0.1.1";
+    name = "base62-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz";
@@ -1016,8 +1047,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base62" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base62" ];
@@ -1025,7 +1056,8 @@
   by-spec."base64-js"."~0.0.4" =
     self.by-version."base64-js"."0.0.7";
   by-version."base64-js"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-js-0.0.7";
+    name = "base64-js-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz";
@@ -1035,8 +1067,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base64-js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64-js" ];
@@ -1044,7 +1076,8 @@
   by-spec."base64-url"."1" =
     self.by-version."base64-url"."1.0.0";
   by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-url-1.0.0";
+    name = "base64-url-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
@@ -1054,16 +1087,19 @@
     ];
     buildInputs =
       (self.nativeDeps."base64-url" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64-url" ];
   };
+  by-spec."base64-url"."1.0.0" =
+    self.by-version."base64-url"."1.0.0";
   by-spec."base64id"."0.1.0" =
     self.by-version."base64id"."0.1.0";
   by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64id-0.1.0";
+    name = "base64id-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
@@ -1073,8 +1109,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base64id" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
@@ -1082,7 +1118,8 @@
   by-spec."basic-auth"."1.0.0" =
     self.by-version."basic-auth"."1.0.0";
   by-version."basic-auth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-1.0.0";
+    name = "basic-auth-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
@@ -1092,8 +1129,8 @@
     ];
     buildInputs =
       (self.nativeDeps."basic-auth" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "basic-auth" ];
@@ -1101,7 +1138,8 @@
   by-spec."basic-auth-connect"."1.0.0" =
     self.by-version."basic-auth-connect"."1.0.0";
   by-version."basic-auth-connect"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-connect-1.0.0";
+    name = "basic-auth-connect-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
@@ -1111,8 +1149,8 @@
     ];
     buildInputs =
       (self.nativeDeps."basic-auth-connect" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "basic-auth-connect" ];
@@ -1120,7 +1158,8 @@
   by-spec."batch"."0.5.0" =
     self.by-version."batch"."0.5.0";
   by-version."batch"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.0";
+    name = "batch-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
@@ -1130,8 +1169,8 @@
     ];
     buildInputs =
       (self.nativeDeps."batch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "batch" ];
@@ -1139,7 +1178,8 @@
   by-spec."batch"."0.5.1" =
     self.by-version."batch"."0.5.1";
   by-version."batch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.1";
+    name = "batch-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/batch/-/batch-0.5.1.tgz";
@@ -1149,8 +1189,8 @@
     ];
     buildInputs =
       (self.nativeDeps."batch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "batch" ];
@@ -1158,7 +1198,8 @@
   by-spec."bcrypt"."*" =
     self.by-version."bcrypt"."0.8.0";
   by-version."bcrypt"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bcrypt-0.8.0";
+    name = "bcrypt-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.0.tgz";
@@ -1168,10 +1209,10 @@
     ];
     buildInputs =
       (self.nativeDeps."bcrypt" or []);
-    deps = [
-      self.by-version."bindings"."1.0.0"
-      self.by-version."nan"."1.3.0"
-    ];
+    deps = {
+      "bindings-1.0.0" = self.by-version."bindings"."1.0.0";
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
@@ -1180,7 +1221,8 @@
   by-spec."bindings"."*" =
     self.by-version."bindings"."1.2.1";
   by-version."bindings"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.2.1";
+    name = "bindings-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
@@ -1190,8 +1232,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1199,7 +1241,8 @@
   by-spec."bindings"."1.0.0" =
     self.by-version."bindings"."1.0.0";
   by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.0.0";
+    name = "bindings-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
@@ -1209,8 +1252,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1218,7 +1261,8 @@
   by-spec."bindings"."1.1.1" =
     self.by-version."bindings"."1.1.1";
   by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.1.1";
+    name = "bindings-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
@@ -1228,8 +1272,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1239,29 +1283,33 @@
   by-spec."bindings"."~1.2.1" =
     self.by-version."bindings"."1.2.1";
   by-spec."bl"."^0.9.0" =
-    self.by-version."bl"."0.9.1";
-  by-version."bl"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bl-0.9.1";
+    self.by-version."bl"."0.9.3";
+  by-version."bl"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bl-0.9.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bl/-/bl-0.9.1.tgz";
-        name = "bl-0.9.1.tgz";
-        sha1 = "d262c5b83aa5cf4386cea1d998c82b36d7ae2942";
+        url = "http://registry.npmjs.org/bl/-/bl-0.9.3.tgz";
+        name = "bl-0.9.3.tgz";
+        sha1 = "c41eff3e7cb31bde107c8f10076d274eff7f7d44";
       })
     ];
     buildInputs =
       (self.nativeDeps."bl" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bl" ];
   };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.3";
   by-spec."block-stream"."*" =
     self.by-version."block-stream"."0.0.7";
   by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-block-stream-0.0.7";
+    name = "block-stream-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
@@ -1271,9 +1319,9 @@
     ];
     buildInputs =
       (self.nativeDeps."block-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
@@ -1281,20 +1329,21 @@
   by-spec."block-stream"."0.0.7" =
     self.by-version."block-stream"."0.0.7";
   by-spec."bluebird".">= 1.2.1" =
-    self.by-version."bluebird"."2.3.0";
-  by-version."bluebird"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bluebird-2.3.0";
+    self.by-version."bluebird"."2.3.2";
+  by-version."bluebird"."2.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bluebird-2.3.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.0.tgz";
-        name = "bluebird-2.3.0.tgz";
-        sha1 = "0d9260735ca30c8a28b3427a291fe2b9287da0f8";
+        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.2.tgz";
+        name = "bluebird-2.3.2.tgz";
+        sha1 = "7475ac7ca0c1674077ac3dd4092ddb80233cf26b";
       })
     ];
     buildInputs =
       (self.nativeDeps."bluebird" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bluebird" ];
@@ -1302,7 +1351,8 @@
   by-spec."blueimp-md5"."~1.1.0" =
     self.by-version."blueimp-md5"."1.1.0";
   by-version."blueimp-md5"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-blueimp-md5-1.1.0";
+    name = "blueimp-md5-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
@@ -1312,61 +1362,64 @@
     ];
     buildInputs =
       (self.nativeDeps."blueimp-md5" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "blueimp-md5" ];
   };
-  by-spec."body-parser"."~1.4.3" =
-    self.by-version."body-parser"."1.4.3";
-  by-version."body-parser"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.4.3";
+  by-spec."body-parser"."~1.6.5" =
+    self.by-version."body-parser"."1.6.7";
+  by-version."body-parser"."1.6.7" = lib.makeOverridable self.buildNodePackage {
+    name = "body-parser-1.6.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.4.3.tgz";
-        name = "body-parser-1.4.3.tgz";
-        sha1 = "4727952cff4af0773eefa4b226c2f4122f5e234d";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+        name = "body-parser-1.6.7.tgz";
+        sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
       })
     ];
     buildInputs =
       (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.3.0"
-      self.by-version."iconv-lite"."0.4.3"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."raw-body"."1.2.2"
-      self.by-version."type-is"."1.3.1"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "qs-2.2.2" = self.by-version."qs"."2.2.2";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "body-parser" ];
   };
-  by-spec."body-parser"."~1.6.5" =
-    self.by-version."body-parser"."1.6.5";
-  by-version."body-parser"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.6.5";
+  by-spec."body-parser"."~1.8.1" =
+    self.by-version."body-parser"."1.8.1";
+  by-version."body-parser"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "body-parser-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.6.5.tgz";
-        name = "body-parser-1.6.5.tgz";
-        sha1 = "536f01e08ee2b6df6a941d6c8c9647ee99ee4de7";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.1.tgz";
+        name = "body-parser-1.8.1.tgz";
+        sha1 = "f9f96d221c435c95d18aeaad2bcdea1371902aad";
       })
     ];
     buildInputs =
       (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."iconv-lite"."0.4.4"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."raw-body"."1.3.0"
-      self.by-version."type-is"."1.3.2"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "body-parser" ];
@@ -1374,7 +1427,8 @@
   by-spec."boom"."0.3.x" =
     self.by-version."boom"."0.3.8";
   by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.3.8";
+    name = "boom-0.3.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
@@ -1384,9 +1438,9 @@
     ];
     buildInputs =
       (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
@@ -1394,7 +1448,8 @@
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.4.2";
+    name = "boom-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
@@ -1404,9 +1459,9 @@
     ];
     buildInputs =
       (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
@@ -1414,7 +1469,8 @@
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-broadway-0.2.9";
+    name = "broadway-0.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz";
@@ -1424,23 +1480,47 @@
     ];
     buildInputs =
       (self.nativeDeps."broadway" or []);
-    deps = [
-      self.by-version."cliff"."0.1.8"
-      self.by-version."eventemitter2"."0.4.12"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."winston"."0.7.2"
-      self.by-version."utile"."0.2.1"
-    ];
+    deps = {
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "eventemitter2-0.4.12" = self.by-version."eventemitter2"."0.4.12";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.7.2" = self.by-version."winston"."0.7.2";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
   by-spec."broadway"."0.2.x" =
-    self.by-version."broadway"."0.2.9";
+    self.by-version."broadway"."0.2.10";
+  by-version."broadway"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "broadway-0.2.10";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.10.tgz";
+        name = "broadway-0.2.10.tgz";
+        sha1 = "0f58532be140426e9000e49a93e242a0d1263238";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."broadway" or []);
+    deps = {
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.7.2" = self.by-version."winston"."0.7.2";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "broadway" ];
+  };
   by-spec."browser-pack"."^3.0.0" =
     self.by-version."browser-pack"."3.1.1";
   by-version."browser-pack"."3.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "browser-pack-3.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.1.1.tgz";
@@ -1450,13 +1530,13 @@
     ];
     buildInputs =
       (self.nativeDeps."browser-pack" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."combine-source-map"."0.3.0"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."through2"."0.5.1"
-      self.by-version."umd"."2.1.0"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browser-pack" ];
@@ -1464,7 +1544,8 @@
   by-spec."browser-resolve"."^1.3.0" =
     self.by-version."browser-resolve"."1.3.2";
   by-version."browser-resolve"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browser-resolve-1.3.2";
+    name = "browser-resolve-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.3.2.tgz";
@@ -1474,9 +1555,9 @@
     ];
     buildInputs =
       (self.nativeDeps."browser-resolve" or []);
-    deps = [
-      self.by-version."resolve"."0.7.4"
-    ];
+    deps = {
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browser-resolve" ];
@@ -1486,7 +1567,8 @@
   by-spec."browserchannel"."*" =
     self.by-version."browserchannel"."2.0.0";
   by-version."browserchannel"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserchannel-2.0.0";
+    name = "browserchannel-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browserchannel/-/browserchannel-2.0.0.tgz";
@@ -1496,91 +1578,93 @@
     ];
     buildInputs =
       (self.nativeDeps."browserchannel" or []);
-    deps = [
-      self.by-version."hat"."0.0.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."request"."2.40.0"
-      self.by-version."ascii-json"."0.2.0"
-    ];
+    deps = {
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "connect-2.26.0" = self.by-version."connect"."2.26.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "ascii-json-0.2.0" = self.by-version."ascii-json"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
   "browserchannel" = self.by-version."browserchannel"."2.0.0";
   by-spec."browserify"."*" =
-    self.by-version."browserify"."5.10.1";
-  by-version."browserify"."5.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "browserify-5.10.1";
+    self.by-version."browserify"."5.11.1";
+  by-version."browserify"."5.11.1" = lib.makeOverridable self.buildNodePackage {
+    name = "browserify-5.11.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browserify/-/browserify-5.10.1.tgz";
-        name = "browserify-5.10.1.tgz";
-        sha1 = "a79cc8b647d6bfe25f96434ff8ecaeb5c01f6bae";
+        url = "http://registry.npmjs.org/browserify/-/browserify-5.11.1.tgz";
+        name = "browserify-5.11.1.tgz";
+        sha1 = "138119e82ae8fe7e6d9d518ee1720971b5926fcc";
       })
     ];
     buildInputs =
       (self.nativeDeps."browserify" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."assert"."1.1.1"
-      self.by-version."browser-pack"."3.1.1"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."browserify-zlib"."0.1.4"
-      self.by-version."buffer"."2.5.0"
-      self.by-version."builtins"."0.0.5"
-      self.by-version."commondir"."0.0.1"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."constants-browserify"."0.0.1"
-      self.by-version."crypto-browserify"."3.0.1"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."defined"."0.0.0"
-      self.by-version."deps-sort"."1.3.5"
-      self.by-version."domain-browser"."1.1.2"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."events"."1.0.1"
-      self.by-version."glob"."4.0.5"
-      self.by-version."http-browserify"."1.5.0"
-      self.by-version."https-browserify"."0.0.0"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."insert-module-globals"."6.1.0"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."labeled-stream-splicer"."1.0.0"
-      self.by-version."module-deps"."3.5.5"
-      self.by-version."os-browserify"."0.1.2"
-      self.by-version."parents"."0.0.3"
-      self.by-version."path-browserify"."0.0.0"
-      self.by-version."process"."0.7.0"
-      self.by-version."punycode"."1.2.4"
-      self.by-version."querystring-es3"."0.2.1-0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."shell-quote"."0.0.1"
-      self.by-version."stream-browserify"."1.0.0"
-      self.by-version."stream-combiner"."0.0.4"
-      self.by-version."string_decoder"."0.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."syntax-error"."1.1.1"
-      self.by-version."through2"."1.1.1"
-      self.by-version."timers-browserify"."1.0.3"
-      self.by-version."tty-browserify"."0.0.0"
-      self.by-version."umd"."2.1.0"
-      self.by-version."url"."0.10.1"
-      self.by-version."util"."0.10.3"
-      self.by-version."vm-browserify"."0.0.4"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "assert-1.1.2" = self.by-version."assert"."1.1.2";
+      "browser-pack-3.1.1" = self.by-version."browser-pack"."3.1.1";
+      "browser-resolve-1.3.2" = self.by-version."browser-resolve"."1.3.2";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+      "buffer-2.5.0" = self.by-version."buffer"."2.5.0";
+      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "crypto-browserify-3.0.2" = self.by-version."crypto-browserify"."3.0.2";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "deps-sort-1.3.5" = self.by-version."deps-sort"."1.3.5";
+      "domain-browser-1.1.2" = self.by-version."domain-browser"."1.1.2";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "http-browserify-1.6.0" = self.by-version."http-browserify"."1.6.0";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "insert-module-globals-6.1.0" = self.by-version."insert-module-globals"."6.1.0";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "labeled-stream-splicer-1.0.0" = self.by-version."labeled-stream-splicer"."1.0.0";
+      "module-deps-3.5.5" = self.by-version."module-deps"."3.5.5";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "parents-0.0.3" = self.by-version."parents"."0.0.3";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "process-0.7.0" = self.by-version."process"."0.7.0";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "querystring-es3-0.2.1-0" = self.by-version."querystring-es3"."0.2.1-0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "shasum-1.0.0" = self.by-version."shasum"."1.0.0";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+      "string_decoder-0.0.1" = self.by-version."string_decoder"."0.0.1";
+      "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
+      "syntax-error-1.1.1" = self.by-version."syntax-error"."1.1.1";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "timers-browserify-1.1.0" = self.by-version."timers-browserify"."1.1.0";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+      "url-0.10.1" = self.by-version."url"."0.10.1";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserify" ];
   };
-  "browserify" = self.by-version."browserify"."5.10.1";
+  "browserify" = self.by-version."browserify"."5.11.1";
   by-spec."browserify-zlib"."^0.1.4" =
     self.by-version."browserify-zlib"."0.1.4";
   by-version."browserify-zlib"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserify-zlib-0.1.4";
+    name = "browserify-zlib-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
@@ -1590,9 +1674,9 @@
     ];
     buildInputs =
       (self.nativeDeps."browserify-zlib" or []);
-    deps = [
-      self.by-version."pako"."0.2.5"
-    ];
+    deps = {
+      "pako-0.2.5" = self.by-version."pako"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserify-zlib" ];
@@ -1602,7 +1686,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 = "node-bson-0.1.8";
+    name = "bson-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
@@ -1612,28 +1697,29 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  by-spec."bson"."0.2.11" =
-    self.by-version."bson"."0.2.11";
-  by-version."bson"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.11";
+  by-spec."bson"."0.2.12" =
+    self.by-version."bson"."0.2.12";
+  by-version."bson"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "bson-0.2.12";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.11.tgz";
-        name = "bson-0.2.11.tgz";
-        sha1 = "7a1b9df70b36a247ada83d795e566a049f78bbb8";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.12.tgz";
+        name = "bson-0.2.12.tgz";
+        sha1 = "78bedbef1fd1f629b1c3b8d2f2d1fd87b8d64dd2";
       })
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.2.0"
-    ];
+    deps = {
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1641,7 +1727,8 @@
   by-spec."bson"."0.2.2" =
     self.by-version."bson"."0.2.2";
   by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.2";
+    name = "bson-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
@@ -1651,8 +1738,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1660,7 +1747,8 @@
   by-spec."bson"."0.2.5" =
     self.by-version."bson"."0.2.5";
   by-version."bson"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.5";
+    name = "bson-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.2.5.tgz";
@@ -1670,28 +1758,29 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  by-spec."bson"."0.2.9" =
-    self.by-version."bson"."0.2.9";
-  by-version."bson"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.9";
+  by-spec."bson"."~0.2" =
+    self.by-version."bson"."0.2.15";
+  by-version."bson"."0.2.15" = lib.makeOverridable self.buildNodePackage {
+    name = "bson-0.2.15";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.9.tgz";
-        name = "bson-0.2.9.tgz";
-        sha1 = "ee3716a52c985ff3074b6ece3257c75ee12f3a05";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.15.tgz";
+        name = "bson-0.2.15.tgz";
+        sha1 = "556402c74bf33d8008122cc3091dc8b3b90e330c";
       })
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
+    deps = {
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1699,7 +1788,8 @@
   by-spec."buffer"."^2.3.0" =
     self.by-version."buffer"."2.5.0";
   by-version."buffer"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.5.0";
+    name = "buffer-2.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer/-/buffer-2.5.0.tgz";
@@ -1709,10 +1799,10 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
+    deps = {
+      "base64-js-0.0.7" = self.by-version."base64-js"."0.0.7";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer" ];
@@ -1720,7 +1810,8 @@
   by-spec."buffer"."~2.3.2" =
     self.by-version."buffer"."2.3.4";
   by-version."buffer"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.3.4";
+    name = "buffer-2.3.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer/-/buffer-2.3.4.tgz";
@@ -1730,10 +1821,10 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
+    deps = {
+      "base64-js-0.0.7" = self.by-version."base64-js"."0.0.7";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer" ];
@@ -1741,7 +1832,8 @@
   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 = "node-buffer-crc32-0.1.1";
+    name = "buffer-crc32-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
@@ -1751,8 +1843,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1760,7 +1852,8 @@
   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 = "node-buffer-crc32-0.2.1";
+    name = "buffer-crc32-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
@@ -1770,8 +1863,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1779,7 +1872,8 @@
   by-spec."buffer-crc32"."0.2.3" =
     self.by-version."buffer-crc32"."0.2.3";
   by-version."buffer-crc32"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.2.3";
+    name = "buffer-crc32-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
@@ -1789,8 +1883,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1800,7 +1894,8 @@
   by-spec."buffertools"."*" =
     self.by-version."buffertools"."2.1.2";
   by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-2.1.2";
+    name = "buffertools-2.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz";
@@ -1810,8 +1905,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
@@ -1820,7 +1915,8 @@
   by-spec."buffertools".">=1.1.1 <2.0.0" =
     self.by-version."buffertools"."1.1.1";
   by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-1.1.1";
+    name = "buffertools-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
@@ -1830,27 +1926,28 @@
     ];
     buildInputs =
       (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
   by-spec."builtins"."~0.0.3" =
-    self.by-version."builtins"."0.0.5";
-  by-version."builtins"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-builtins-0.0.5";
+    self.by-version."builtins"."0.0.7";
+  by-version."builtins"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "builtins-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.5.tgz";
-        name = "builtins-0.0.5.tgz";
-        sha1 = "86dd881f9862856e62fd7ed7767b438c4d79b7ab";
+        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz";
+        name = "builtins-0.0.7.tgz";
+        sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
       })
     ];
     buildInputs =
       (self.nativeDeps."builtins" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "builtins" ];
@@ -1859,6 +1956,7 @@
     self.by-version."bunyan"."0.21.1";
   by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
     name = "bunyan-0.21.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
@@ -1868,10 +1966,10 @@
     ];
     buildInputs =
       (self.nativeDeps."bunyan" or []);
-    deps = [
-      self.by-version."mv"."0.0.5"
-      self.by-version."dtrace-provider"."0.2.8"
-    ];
+    deps = {
+      "mv-0.0.5" = self.by-version."mv"."0.0.5";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bunyan" ];
@@ -1879,7 +1977,8 @@
   by-spec."bytes"."0.1.0" =
     self.by-version."bytes"."0.1.0";
   by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.1.0";
+    name = "bytes-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
@@ -1889,8 +1988,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1898,7 +1997,8 @@
   by-spec."bytes"."0.2.0" =
     self.by-version."bytes"."0.2.0";
   by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.0";
+    name = "bytes-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
@@ -1908,8 +2008,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1917,7 +2017,8 @@
   by-spec."bytes"."0.2.1" =
     self.by-version."bytes"."0.2.1";
   by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.1";
+    name = "bytes-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
@@ -1927,8 +2028,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1936,7 +2037,8 @@
   by-spec."bytes"."1" =
     self.by-version."bytes"."1.0.0";
   by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-1.0.0";
+    name = "bytes-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
@@ -1946,8 +2048,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1959,7 +2061,8 @@
   by-spec."callsite"."~1.0.0" =
     self.by-version."callsite"."1.0.0";
   by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-callsite-1.0.0";
+    name = "callsite-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
@@ -1969,16 +2072,37 @@
     ];
     buildInputs =
       (self.nativeDeps."callsite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "callsite" ];
   };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "caseless-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+        name = "caseless-0.6.0.tgz";
+        sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."caseless" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "caseless" ];
+  };
   by-spec."chai"."*" =
     self.by-version."chai"."1.9.1";
   by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chai-1.9.1";
+    name = "chai-1.9.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz";
@@ -1988,10 +2112,10 @@
     ];
     buildInputs =
       (self.nativeDeps."chai" or []);
-    deps = [
-      self.by-version."assertion-error"."1.0.0"
-      self.by-version."deep-eql"."0.1.3"
-    ];
+    deps = {
+      "assertion-error-1.0.0" = self.by-version."assertion-error"."1.0.0";
+      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
@@ -2000,7 +2124,8 @@
   by-spec."chalk"."^0.4.0" =
     self.by-version."chalk"."0.4.0";
   by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.4.0";
+    name = "chalk-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
@@ -2010,11 +2135,11 @@
     ];
     buildInputs =
       (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."has-color"."0.1.7"
-      self.by-version."ansi-styles"."1.0.0"
-      self.by-version."strip-ansi"."0.1.1"
-    ];
+    deps = {
+      "has-color-0.1.7" = self.by-version."has-color"."0.1.7";
+      "ansi-styles-1.0.0" = self.by-version."ansi-styles"."1.0.0";
+      "strip-ansi-0.1.1" = self.by-version."strip-ansi"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
@@ -2022,7 +2147,8 @@
   by-spec."chalk"."^0.5.0" =
     self.by-version."chalk"."0.5.1";
   by-version."chalk"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.5.1";
+    name = "chalk-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
@@ -2032,13 +2158,13 @@
     ];
     buildInputs =
       (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."ansi-styles"."1.1.0"
-      self.by-version."escape-string-regexp"."1.0.1"
-      self.by-version."has-ansi"."0.1.0"
-      self.by-version."strip-ansi"."0.3.0"
-      self.by-version."supports-color"."0.2.0"
-    ];
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.1" = self.by-version."escape-string-regexp"."1.0.1";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
@@ -2050,7 +2176,8 @@
   by-spec."char-spinner"."~1.0.1" =
     self.by-version."char-spinner"."1.0.1";
   by-version."char-spinner"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-char-spinner-1.0.1";
+    name = "char-spinner-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
@@ -2060,8 +2187,8 @@
     ];
     buildInputs =
       (self.nativeDeps."char-spinner" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "char-spinner" ];
@@ -2069,7 +2196,8 @@
   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 = "node-character-parser-1.2.0";
+    name = "character-parser-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
@@ -2079,8 +2207,8 @@
     ];
     buildInputs =
       (self.nativeDeps."character-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "character-parser" ];
@@ -2088,7 +2216,8 @@
   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 = "node-child-process-close-0.1.1";
+    name = "child-process-close-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
@@ -2098,8 +2227,8 @@
     ];
     buildInputs =
       (self.nativeDeps."child-process-close" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
@@ -2107,7 +2236,8 @@
   by-spec."chmodr"."~0.1.0" =
     self.by-version."chmodr"."0.1.0";
   by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chmodr-0.1.0";
+    name = "chmodr-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
@@ -2117,8 +2247,8 @@
     ];
     buildInputs =
       (self.nativeDeps."chmodr" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
@@ -2126,7 +2256,8 @@
   by-spec."chokidar".">=0.8.2" =
     self.by-version."chokidar"."0.8.4";
   by-version."chokidar"."0.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chokidar-0.8.4";
+    name = "chokidar-0.8.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz";
@@ -2136,10 +2267,10 @@
     ];
     buildInputs =
       (self.nativeDeps."chokidar" or []);
-    deps = [
-      self.by-version."fsevents"."0.2.1"
-      self.by-version."recursive-readdir"."0.0.2"
-    ];
+    deps = {
+      "fsevents-0.2.1" = self.by-version."fsevents"."0.2.1";
+      "recursive-readdir-0.0.2" = self.by-version."recursive-readdir"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
@@ -2147,7 +2278,8 @@
   by-spec."chownr"."0" =
     self.by-version."chownr"."0.0.1";
   by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chownr-0.0.1";
+    name = "chownr-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
@@ -2157,69 +2289,53 @@
     ];
     buildInputs =
       (self.nativeDeps."chownr" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  by-spec."clean-css"."2.1.x" =
-    self.by-version."clean-css"."2.1.8";
-  by-version."clean-css"."2.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.1.8";
+  by-spec."clean-css"."2.2.x" =
+    self.by-version."clean-css"."2.2.15";
+  by-version."clean-css"."2.2.15" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.2.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz";
-        name = "clean-css-2.1.8.tgz";
-        sha1 = "2b4b2fd60f32441096216ae25a21faa74580dc83";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.15.tgz";
+        name = "clean-css-2.2.15.tgz";
+        sha1 = "0de5c85219cce60f5cc9e11b3c8ae621a25ff613";
       })
     ];
     buildInputs =
       (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-    ];
+    deps = {
+      "commander-2.2.0" = self.by-version."commander"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
   by-spec."clean-css"."~2.2.0" =
-    self.by-version."clean-css"."2.2.13";
-  by-version."clean-css"."2.2.13" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.13.tgz";
-        name = "clean-css-2.2.13.tgz";
-        sha1 = "c63aba2723a410f79ed7b34ff163aaa627bc2362";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clean-css" ];
-  };
+    self.by-version."clean-css"."2.2.15";
   by-spec."cli"."0.6.x" =
-    self.by-version."cli"."0.6.3";
-  by-version."cli"."0.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cli-0.6.3";
+    self.by-version."cli"."0.6.4";
+  by-version."cli"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cli-0.6.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cli/-/cli-0.6.3.tgz";
-        name = "cli-0.6.3.tgz";
-        sha1 = "31418ed08d60a1b02cf180c6d6fee3204bfe65cd";
+        url = "http://registry.npmjs.org/cli/-/cli-0.6.4.tgz";
+        name = "cli-0.6.4.tgz";
+        sha1 = "105c4e9b29ecdbc1ee0c8e418276f62d8351f88e";
       })
     ];
     buildInputs =
       (self.nativeDeps."cli" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."exit"."0.1.2"
-    ];
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
@@ -2227,7 +2343,8 @@
   by-spec."cliff"."0.1.8" =
     self.by-version."cliff"."0.1.8";
   by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cliff-0.1.8";
+    name = "cliff-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
@@ -2237,11 +2354,11 @@
     ];
     buildInputs =
       (self.nativeDeps."cliff" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."winston"."0.6.2"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
@@ -2249,7 +2366,8 @@
   by-spec."clone"."0.1.5" =
     self.by-version."clone"."0.1.5";
   by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.5";
+    name = "clone-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
@@ -2259,8 +2377,8 @@
     ];
     buildInputs =
       (self.nativeDeps."clone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
@@ -2268,7 +2386,8 @@
   by-spec."clone"."0.1.6" =
     self.by-version."clone"."0.1.6";
   by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.6";
+    name = "clone-0.1.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
@@ -2278,16 +2397,37 @@
     ];
     buildInputs =
       (self.nativeDeps."clone" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "clone" ];
+  };
+  by-spec."clone"."~0.1.5" =
+    self.by-version."clone"."0.1.18";
+  by-version."clone"."0.1.18" = lib.makeOverridable self.buildNodePackage {
+    name = "clone-0.1.18";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clone/-/clone-0.1.18.tgz";
+        name = "clone-0.1.18.tgz";
+        sha1 = "64a0d5d57eaa85a1a8af380cd1db8c7b3a895f66";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clone" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  by-spec."clone-stats"."~0.0.1" =
+  by-spec."clone-stats"."^0.0.1" =
     self.by-version."clone-stats"."0.0.1";
   by-version."clone-stats"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-stats-0.0.1";
+    name = "clone-stats-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
@@ -2297,29 +2437,32 @@
     ];
     buildInputs =
       (self.nativeDeps."clone-stats" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone-stats" ];
   };
-  by-spec."cmd-shim"."~1.1.1" =
-    self.by-version."cmd-shim"."1.1.2";
-  by-version."cmd-shim"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmd-shim-1.1.2";
+  by-spec."clone-stats"."~0.0.1" =
+    self.by-version."clone-stats"."0.0.1";
+  by-spec."cmd-shim"."~2.0.0" =
+    self.by-version."cmd-shim"."2.0.1";
+  by-version."cmd-shim"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "cmd-shim-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.2.tgz";
-        name = "cmd-shim-1.1.2.tgz";
-        sha1 = "e4f9198802e361e8eb43b591959ef4dc6cdb6754";
+        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz";
+        name = "cmd-shim-2.0.1.tgz";
+        sha1 = "4512a373d2391679aec51ad1d4733559e9b85d4a";
       })
     ];
     buildInputs =
       (self.nativeDeps."cmd-shim" or []);
-    deps = [
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."graceful-fs"."2.0.3"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
@@ -2327,7 +2470,8 @@
   by-spec."cmdln"."1.3.2" =
     self.by-version."cmdln"."1.3.2";
   by-version."cmdln"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmdln-1.3.2";
+    name = "cmdln-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cmdln/-/cmdln-1.3.2.tgz";
@@ -2337,60 +2481,43 @@
     ];
     buildInputs =
       (self.nativeDeps."cmdln" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.3"
-      self.by-version."extsprintf"."1.0.2"
-      self.by-version."verror"."1.3.6"
-      self.by-version."dashdash"."1.3.2"
-    ];
+    deps = {
+      "assert-plus-0.1.3" = self.by-version."assert-plus"."0.1.3";
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+      "dashdash-1.3.2" = self.by-version."dashdash"."1.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cmdln" ];
   };
-  by-spec."co"."~3.1.0" =
-    self.by-version."co"."3.1.0";
-  by-version."co"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-co-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/co/-/co-3.1.0.tgz";
-        name = "co-3.1.0.tgz";
-        sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."co" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "co" ];
-  };
   by-spec."coffee-script"."*" =
-    self.by-version."coffee-script"."1.7.1";
-  by-version."coffee-script"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.7.1";
+    self.by-version."coffee-script"."1.8.0";
+  by-version."coffee-script"."1.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-1.8.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz";
-        name = "coffee-script-1.7.1.tgz";
-        sha1 = "62996a861780c75e6d5069d13822723b73404bfc";
+        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.8.0.tgz";
+        name = "coffee-script-1.8.0.tgz";
+        sha1 = "9c9f1d2b4a52a000ded15b659791703648263c1d";
       })
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  "coffee-script" = self.by-version."coffee-script"."1.7.1";
+  "coffee-script" = self.by-version."coffee-script"."1.8.0";
   by-spec."coffee-script"."1.6.3" =
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
@@ -2400,20 +2527,21 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
   by-spec."coffee-script".">= 0.0.1" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.8.0";
   by-spec."coffee-script".">=1.2.0" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.8.0";
   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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
@@ -2423,8 +2551,8 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
@@ -2433,6 +2561,7 @@
     self.by-version."coffee-script-redux"."2.0.0-beta8";
   by-version."coffee-script-redux"."2.0.0-beta8" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-redux-2.0.0-beta8";
+    bin = true;
     src = [
       (self.patchSource fetchurl {
         url = "http://registry.npmjs.org/coffee-script-redux/-/coffee-script-redux-2.0.0-beta8.tgz";
@@ -2442,14 +2571,14 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script-redux" or []);
-    deps = [
-      self.by-version."StringScanner"."0.0.3"
-      self.by-version."nopt"."2.1.2"
-      self.by-version."esmangle"."0.0.17"
-      self.by-version."source-map"."0.1.11"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."cscodegen"."0.1.0"
-    ];
+    deps = {
+      "StringScanner-0.0.3" = self.by-version."StringScanner"."0.0.3";
+      "nopt-2.1.2" = self.by-version."nopt"."2.1.2";
+      "esmangle-0.0.17" = self.by-version."esmangle"."0.0.17";
+      "source-map-0.1.11" = self.by-version."source-map"."0.1.11";
+      "escodegen-0.0.28" = self.by-version."escodegen"."0.0.28";
+      "cscodegen-0.1.0" = self.by-version."cscodegen"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script-redux" ];
@@ -2457,7 +2586,8 @@
   by-spec."collections".">=2.0.1 <3.0.0" =
     self.by-version."collections"."2.0.1";
   by-version."collections"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-collections-2.0.1";
+    name = "collections-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/collections/-/collections-2.0.1.tgz";
@@ -2467,69 +2597,72 @@
     ];
     buildInputs =
       (self.nativeDeps."collections" or []);
-    deps = [
-      self.by-version."weak-map"."1.0.5"
-    ];
+    deps = {
+      "weak-map-1.0.5" = self.by-version."weak-map"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "collections" ];
   };
-  by-spec."color"."~0.6.0" =
-    self.by-version."color"."0.6.0";
-  by-version."color"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-0.6.0";
+  by-spec."color"."~0.7.1" =
+    self.by-version."color"."0.7.1";
+  by-version."color"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "color-0.7.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color/-/color-0.6.0.tgz";
-        name = "color-0.6.0.tgz";
-        sha1 = "53f4b27698e1fe42a19423dc092dd8ee529b4267";
+        url = "http://registry.npmjs.org/color/-/color-0.7.1.tgz";
+        name = "color-0.7.1.tgz";
+        sha1 = "a2676f19c6ccb708b7586dc98b5c6e37dc9a199c";
       })
     ];
     buildInputs =
       (self.nativeDeps."color" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-      self.by-version."color-string"."0.1.3"
-    ];
+    deps = {
+      "color-convert-0.5.0" = self.by-version."color-convert"."0.5.0";
+      "color-string-0.2.1" = self.by-version."color-string"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color" ];
   };
-  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 = "node-color-convert-0.2.1";
+  by-spec."color-convert"."0.5.x" =
+    self.by-version."color-convert"."0.5.0";
+  by-version."color-convert"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "color-convert-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz";
-        name = "color-convert-0.2.1.tgz";
-        sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c";
+        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.5.0.tgz";
+        name = "color-convert-0.5.0.tgz";
+        sha1 = "4032cab2128c81670c7b394d77b6783f49caaaf7";
       })
     ];
     buildInputs =
       (self.nativeDeps."color-convert" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color-convert" ];
   };
-  by-spec."color-string"."0.1.x" =
-    self.by-version."color-string"."0.1.3";
-  by-version."color-string"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-string-0.1.3";
+  by-spec."color-string"."0.2.x" =
+    self.by-version."color-string"."0.2.1";
+  by-version."color-string"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "color-string-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-string/-/color-string-0.1.3.tgz";
-        name = "color-string-0.1.3.tgz";
-        sha1 = "e865d2e3e59f665c3af0de14383f6bf0705685f3";
+        url = "http://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz";
+        name = "color-string-0.2.1.tgz";
+        sha1 = "2f3c1e6c1d04ddf751633b28db7fbc152055d34e";
       })
     ];
     buildInputs =
       (self.nativeDeps."color-string" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-    ];
+    deps = {
+      "color-convert-0.5.0" = self.by-version."color-convert"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color-string" ];
@@ -2537,7 +2670,8 @@
   by-spec."colors"."0.5.x" =
     self.by-version."colors"."0.5.1";
   by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.5.1";
+    name = "colors-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
@@ -2547,8 +2681,8 @@
     ];
     buildInputs =
       (self.nativeDeps."colors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
@@ -2556,7 +2690,8 @@
   by-spec."colors"."0.6.x" =
     self.by-version."colors"."0.6.2";
   by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.6.2";
+    name = "colors-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
@@ -2566,8 +2701,8 @@
     ];
     buildInputs =
       (self.nativeDeps."colors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
@@ -2576,23 +2711,24 @@
     self.by-version."colors"."0.6.2";
   by-spec."colors"."~0.6.2" =
     self.by-version."colors"."0.6.2";
-  by-spec."columnify"."~1.1.0" =
-    self.by-version."columnify"."1.1.0";
-  by-version."columnify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-columnify-1.1.0";
+  by-spec."columnify"."~1.2.1" =
+    self.by-version."columnify"."1.2.1";
+  by-version."columnify"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "columnify-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/columnify/-/columnify-1.1.0.tgz";
-        name = "columnify-1.1.0.tgz";
-        sha1 = "0b908e6d4f1c80194358a1933aaf9dc49271c679";
+        url = "http://registry.npmjs.org/columnify/-/columnify-1.2.1.tgz";
+        name = "columnify-1.2.1.tgz";
+        sha1 = "921ec51c178f4126d3c07e9acecd67a55c7953e4";
       })
     ];
     buildInputs =
       (self.nativeDeps."columnify" or []);
-    deps = [
-      self.by-version."strip-ansi"."0.2.2"
-      self.by-version."wcwidth.js"."0.0.4"
-    ];
+    deps = {
+      "strip-ansi-1.0.0" = self.by-version."strip-ansi"."1.0.0";
+      "wcwidth-1.0.0" = self.by-version."wcwidth"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "columnify" ];
@@ -2600,7 +2736,8 @@
   by-spec."combine-source-map"."~0.3.0" =
     self.by-version."combine-source-map"."0.3.0";
   by-version."combine-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combine-source-map-0.3.0";
+    name = "combine-source-map-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
@@ -2610,11 +2747,11 @@
     ];
     buildInputs =
       (self.nativeDeps."combine-source-map" or []);
-    deps = [
-      self.by-version."inline-source-map"."0.3.0"
-      self.by-version."convert-source-map"."0.3.5"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "inline-source-map-0.3.0" = self.by-version."inline-source-map"."0.3.0";
+      "convert-source-map-0.3.5" = self.by-version."convert-source-map"."0.3.5";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "combine-source-map" ];
@@ -2622,7 +2759,8 @@
   by-spec."combined-stream"."~0.0.4" =
     self.by-version."combined-stream"."0.0.5";
   by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combined-stream-0.0.5";
+    name = "combined-stream-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
@@ -2632,9 +2770,9 @@
     ];
     buildInputs =
       (self.nativeDeps."combined-stream" or []);
-    deps = [
-      self.by-version."delayed-stream"."0.0.5"
-    ];
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "combined-stream" ];
@@ -2642,7 +2780,8 @@
   by-spec."commander"."0.6.1" =
     self.by-version."commander"."0.6.1";
   by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-0.6.1";
+    name = "commander-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
@@ -2652,8 +2791,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2661,7 +2800,8 @@
   by-spec."commander"."1.3.1" =
     self.by-version."commander"."1.3.1";
   by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.1";
+    name = "commander-1.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
@@ -2671,9 +2811,9 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2681,7 +2821,8 @@
   by-spec."commander"."1.3.2" =
     self.by-version."commander"."1.3.2";
   by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.2";
+    name = "commander-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
@@ -2691,9 +2832,9 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2701,7 +2842,8 @@
   by-spec."commander"."2.0.0" =
     self.by-version."commander"."2.0.0";
   by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.0.0";
+    name = "commander-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
@@ -2711,8 +2853,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2720,7 +2862,8 @@
   by-spec."commander"."2.1.0" =
     self.by-version."commander"."2.1.0";
   by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.1.0";
+    name = "commander-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
@@ -2730,18 +2873,17 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  by-spec."commander"."2.1.x" =
-    self.by-version."commander"."2.1.0";
   by-spec."commander"."2.2.x" =
     self.by-version."commander"."2.2.0";
   by-version."commander"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.2.0";
+    name = "commander-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.2.0.tgz";
@@ -2751,8 +2893,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2760,7 +2902,8 @@
   by-spec."commander"."2.x" =
     self.by-version."commander"."2.3.0";
   by-version."commander"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.3.0";
+    name = "commander-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
@@ -2770,8 +2913,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2783,7 +2926,8 @@
   by-spec."commondir"."0.0.1" =
     self.by-version."commondir"."0.0.1";
   by-version."commondir"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commondir-0.0.1";
+    name = "commondir-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
@@ -2793,8 +2937,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commondir" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commondir" ];
@@ -2802,7 +2946,8 @@
   by-spec."component-emitter"."1.1.2" =
     self.by-version."component-emitter"."1.1.2";
   by-version."component-emitter"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-component-emitter-1.1.2";
+    name = "component-emitter-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
@@ -2812,52 +2957,78 @@
     ];
     buildInputs =
       (self.nativeDeps."component-emitter" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "component-emitter" ];
   };
-  by-spec."compressible"."~1.1.1" =
-    self.by-version."compressible"."1.1.1";
-  by-version."compressible"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compressible-1.1.1";
+  by-spec."compress-commons"."~0.1.0" =
+    self.by-version."compress-commons"."0.1.6";
+  by-version."compress-commons"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "compress-commons-0.1.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/compressible/-/compressible-1.1.1.tgz";
-        name = "compressible-1.1.1.tgz";
-        sha1 = "23b71ea90ea6c6a66289701a918182c24d0729ef";
+        url = "http://registry.npmjs.org/compress-commons/-/compress-commons-0.1.6.tgz";
+        name = "compress-commons-0.1.6.tgz";
+        sha1 = "0c740870fde58cba516f0ac0c822e33a0b85dfa3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."compressible" or []);
-    deps = [
+      (self.nativeDeps."compress-commons" or []);
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "crc32-stream-0.3.1" = self.by-version."crc32-stream"."0.3.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "compress-commons" ];
+  };
+  by-spec."compressible"."~2.0.0" =
+    self.by-version."compressible"."2.0.0";
+  by-version."compressible"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "compressible-2.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/compressible/-/compressible-2.0.0.tgz";
+        name = "compressible-2.0.0.tgz";
+        sha1 = "90086ce57102e9e2427ee945a5fb2a98dd51dfb4";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."compressible" or []);
+    deps = {
+      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "compressible" ];
   };
-  by-spec."compression"."~1.0.11" =
-    self.by-version."compression"."1.0.11";
-  by-version."compression"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compression-1.0.11";
+  by-spec."compression"."~1.1.0" =
+    self.by-version."compression"."1.1.0";
+  by-version."compression"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "compression-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/compression/-/compression-1.0.11.tgz";
-        name = "compression-1.0.11.tgz";
-        sha1 = "69700cf1ee8963454356ac192a6e5e91e232bffb";
+        url = "http://registry.npmjs.org/compression/-/compression-1.1.0.tgz";
+        name = "compression-1.1.0.tgz";
+        sha1 = "58243eded272fc531d7c744d8e8daa7cc0b99215";
       })
     ];
     buildInputs =
       (self.nativeDeps."compression" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."compressible"."1.1.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."vary"."1.0.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "compressible-2.0.0" = self.by-version."compressible"."2.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "compression" ];
@@ -2865,7 +3036,8 @@
   by-spec."concat-stream"."^1.4.1" =
     self.by-version."concat-stream"."1.4.6";
   by-version."concat-stream"."1.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-concat-stream-1.4.6";
+    name = "concat-stream-1.4.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz";
@@ -2875,11 +3047,11 @@
     ];
     buildInputs =
       (self.nativeDeps."concat-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."typedarray"."0.0.6"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "concat-stream" ];
@@ -2891,7 +3063,8 @@
   by-spec."config"."0.4.15" =
     self.by-version."config"."0.4.15";
   by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-config-0.4.15";
+    name = "config-0.4.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
@@ -2901,11 +3074,11 @@
     ];
     buildInputs =
       (self.nativeDeps."config" or []);
-    deps = [
-      self.by-version."js-yaml"."0.3.7"
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."vows"."0.7.0"
-    ];
+    deps = {
+      "js-yaml-0.3.7" = self.by-version."js-yaml"."0.3.7";
+      "coffee-script-1.8.0" = self.by-version."coffee-script"."1.8.0";
+      "vows-0.7.0" = self.by-version."vows"."0.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
@@ -2913,7 +3086,8 @@
   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 = "node-config-chain-1.1.8";
+    name = "config-chain-1.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz";
@@ -2923,10 +3097,10 @@
     ];
     buildInputs =
       (self.nativeDeps."config-chain" or []);
-    deps = [
-      self.by-version."proto-list"."1.2.3"
-      self.by-version."ini"."1.2.1"
-    ];
+    deps = {
+      "proto-list-1.2.3" = self.by-version."proto-list"."1.2.3";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
@@ -2936,7 +3110,8 @@
   by-spec."configstore"."^0.3.0" =
     self.by-version."configstore"."0.3.1";
   by-version."configstore"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-configstore-0.3.1";
+    name = "configstore-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/configstore/-/configstore-0.3.1.tgz";
@@ -2946,45 +3121,23 @@
     ];
     buildInputs =
       (self.nativeDeps."configstore" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."js-yaml"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."object-assign"."0.3.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."uuid"."1.4.1"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "js-yaml-3.0.2" = self.by-version."js-yaml"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "object-assign-0.3.1" = self.by-version."object-assign"."0.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "uuid-1.4.1" = self.by-version."uuid"."1.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  by-spec."connect"."*" =
-    self.by-version."connect"."3.1.1";
-  by-version."connect"."3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-3.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-3.1.1.tgz";
-        name = "connect-3.1.1.tgz";
-        sha1 = "a73e2449c3efc2dfd1661865977a09184d120196";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
   by-spec."connect"."1.x" =
     self.by-version."connect"."1.9.2";
   by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-1.9.2";
+    name = "connect-1.9.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
@@ -2994,11 +3147,11 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."1.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."formidable"."1.0.15"
-    ];
+    deps = {
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "formidable-1.0.15" = self.by-version."formidable"."1.0.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3006,7 +3159,8 @@
   by-spec."connect"."2.11.0" =
     self.by-version."connect"."2.11.0";
   by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.11.0";
+    name = "connect-2.11.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
@@ -3016,70 +3170,71 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      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"."1.0.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"
-    ];
+    deps = {
+      "qs-0.6.5" = self.by-version."qs"."0.6.5";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "raw-body-0.0.3" = self.by-version."raw-body"."0.0.3";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  by-spec."connect"."2.25.7" =
-    self.by-version."connect"."2.25.7";
-  by-version."connect"."2.25.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.25.7";
+  by-spec."connect"."2.26.0" =
+    self.by-version."connect"."2.26.0";
+  by-version."connect"."2.26.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.26.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.25.7.tgz";
-        name = "connect-2.25.7.tgz";
-        sha1 = "22a29ebf710c6379ca0e20f0974c268a15ec4d29";
+        url = "http://registry.npmjs.org/connect/-/connect-2.26.0.tgz";
+        name = "connect-2.26.0.tgz";
+        sha1 = "998bebbf54d81225f7794d2fabd076d0f9f0e712";
       })
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."basic-auth-connect"."1.0.0"
-      self.by-version."body-parser"."1.6.5"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."compression"."1.0.11"
-      self.by-version."connect-timeout"."1.2.2"
-      self.by-version."csurf"."1.4.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."errorhandler"."1.1.1"
-      self.by-version."express-session"."1.7.6"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."method-override"."2.1.3"
-      self.by-version."morgan"."1.2.3"
-      self.by-version."multiparty"."3.3.2"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."response-time"."2.0.1"
-      self.by-version."serve-favicon"."2.0.1"
-      self.by-version."serve-index"."1.1.6"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vhost"."2.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.8.1" = self.by-version."body-parser"."1.8.1";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.3" = self.by-version."cookie-parser"."1.3.3";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "compression-1.1.0" = self.by-version."compression"."1.1.0";
+      "connect-timeout-1.3.0" = self.by-version."connect-timeout"."1.3.0";
+      "csurf-1.6.1" = self.by-version."csurf"."1.6.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "errorhandler-1.2.0" = self.by-version."errorhandler"."1.2.0";
+      "express-session-1.8.1" = self.by-version."express-session"."1.8.1";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "method-override-2.2.0" = self.by-version."method-override"."2.2.0";
+      "morgan-1.3.0" = self.by-version."morgan"."1.3.0";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "response-time-2.0.1" = self.by-version."response-time"."2.0.1";
+      "serve-favicon-2.1.3" = self.by-version."serve-favicon"."2.1.3";
+      "serve-index-1.2.1" = self.by-version."serve-index"."1.2.1";
+      "serve-static-1.6.1" = self.by-version."serve-static"."1.6.1";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3087,7 +3242,8 @@
   by-spec."connect"."2.3.x" =
     self.by-version."connect"."2.3.9";
   by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.3.9";
+    name = "connect-2.3.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
@@ -3097,16 +3253,16 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.4.2"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."crc"."0.2.0"
-      self.by-version."cookie"."0.0.4"
-      self.by-version."bytes"."0.1.0"
-      self.by-version."send"."0.0.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "crc-0.2.0" = self.by-version."crc"."0.2.0";
+      "cookie-0.0.4" = self.by-version."cookie"."0.0.4";
+      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
+      "send-0.0.3" = self.by-version."send"."0.0.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3114,7 +3270,8 @@
   by-spec."connect"."2.7.5" =
     self.by-version."connect"."2.7.5";
   by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.5";
+    name = "connect-2.7.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
@@ -3124,18 +3281,18 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      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"."1.0.4"
-    ];
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3143,7 +3300,8 @@
   by-spec."connect"."2.7.6" =
     self.by-version."connect"."2.7.6";
   by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.6";
+    name = "connect-2.7.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
@@ -3153,28 +3311,29 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      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"."1.0.4"
-    ];
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
   by-spec."connect"."~2" =
-    self.by-version."connect"."2.25.7";
+    self.by-version."connect"."2.26.0";
   by-spec."connect"."~2.12.0" =
     self.by-version."connect"."2.12.0";
   by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.12.0";
+    name = "connect-2.12.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz";
@@ -3184,23 +3343,23 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."batch"."0.5.0"
-      self.by-version."qs"."0.6.6"
-      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.8.1"
-      self.by-version."methods"."0.1.0"
-      self.by-version."raw-body"."1.1.2"
-      self.by-version."negotiator"."0.3.0"
-      self.by-version."multiparty"."2.2.0"
-    ];
+    deps = {
+      "batch-0.5.0" = self.by-version."batch"."0.5.0";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "raw-body-1.1.2" = self.by-version."raw-body"."1.1.2";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3208,7 +3367,8 @@
   by-spec."connect-flash"."*" =
     self.by-version."connect-flash"."0.1.1";
   by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-flash-0.1.1";
+    name = "connect-flash-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
@@ -3218,8 +3378,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
@@ -3228,7 +3388,8 @@
   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 = "node-connect-flash-0.1.0";
+    name = "connect-flash-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
@@ -3238,8 +3399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
@@ -3247,7 +3408,8 @@
   by-spec."connect-jade-static"."*" =
     self.by-version."connect-jade-static"."0.1.3";
   by-version."connect-jade-static"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-jade-static-0.1.3";
+    name = "connect-jade-static-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.3.tgz";
@@ -3257,9 +3419,9 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-jade-static" or []);
-    deps = [
-      self.by-version."jade"."1.5.0"
-    ];
+    deps = {
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
@@ -3268,7 +3430,8 @@
   by-spec."connect-mongo"."*" =
     self.by-version."connect-mongo"."0.4.1";
   by-version."connect-mongo"."0.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-mongo-0.4.1";
+    name = "connect-mongo-0.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.1.tgz";
@@ -3278,32 +3441,33 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-mongo" or []);
-    deps = [
-      self.by-version."mongodb"."1.3.23"
-    ];
+    deps = {
+      "mongodb-1.3.23" = self.by-version."mongodb"."1.3.23";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
   "connect-mongo" = self.by-version."connect-mongo"."0.4.1";
-  by-spec."connect-timeout"."~1.2.2" =
-    self.by-version."connect-timeout"."1.2.2";
-  by-version."connect-timeout"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-timeout-1.2.2";
+  by-spec."connect-timeout"."~1.3.0" =
+    self.by-version."connect-timeout"."1.3.0";
+  by-version."connect-timeout"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-timeout-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.2.2.tgz";
-        name = "connect-timeout-1.2.2.tgz";
-        sha1 = "5953602bb66abfd5fa21ae911a7221c5e825a1c0";
+        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.3.0.tgz";
+        name = "connect-timeout-1.3.0.tgz";
+        sha1 = "d9d1d2df2900d490ed54190809f37e6b4508a1ec";
       })
     ];
     buildInputs =
       (self.nativeDeps."connect-timeout" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-headers"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-timeout" ];
@@ -3311,7 +3475,8 @@
   by-spec."connection-parse"."0.0.x" =
     self.by-version."connection-parse"."0.0.7";
   by-version."connection-parse"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connection-parse-0.0.7";
+    name = "connection-parse-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
@@ -3321,8 +3486,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connection-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connection-parse" ];
@@ -3330,7 +3495,8 @@
   by-spec."console-browserify"."1.1.x" =
     self.by-version."console-browserify"."1.1.0";
   by-version."console-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-console-browserify-1.1.0";
+    name = "console-browserify-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
@@ -3340,9 +3506,9 @@
     ];
     buildInputs =
       (self.nativeDeps."console-browserify" or []);
-    deps = [
-      self.by-version."date-now"."0.1.4"
-    ];
+    deps = {
+      "date-now-0.1.4" = self.by-version."date-now"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
@@ -3352,7 +3518,8 @@
   by-spec."constantinople"."~1.0.1" =
     self.by-version."constantinople"."1.0.2";
   by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-1.0.2";
+    name = "constantinople-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
@@ -3362,9 +3529,9 @@
     ];
     buildInputs =
       (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
@@ -3374,7 +3541,8 @@
   by-spec."constantinople"."~2.0.0" =
     self.by-version."constantinople"."2.0.1";
   by-version."constantinople"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-2.0.1";
+    name = "constantinople-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constantinople/-/constantinople-2.0.1.tgz";
@@ -3384,9 +3552,9 @@
     ];
     buildInputs =
       (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
@@ -3394,7 +3562,8 @@
   by-spec."constants-browserify"."~0.0.1" =
     self.by-version."constants-browserify"."0.0.1";
   by-version."constants-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constants-browserify-0.0.1";
+    name = "constants-browserify-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
@@ -3404,8 +3573,8 @@
     ];
     buildInputs =
       (self.nativeDeps."constants-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constants-browserify" ];
@@ -3413,7 +3582,8 @@
   by-spec."convert-source-map"."~0.3.0" =
     self.by-version."convert-source-map"."0.3.5";
   by-version."convert-source-map"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-convert-source-map-0.3.5";
+    name = "convert-source-map-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
@@ -3423,8 +3593,8 @@
     ];
     buildInputs =
       (self.nativeDeps."convert-source-map" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "convert-source-map" ];
@@ -3432,7 +3602,8 @@
   by-spec."cookie"."0.0.4" =
     self.by-version."cookie"."0.0.4";
   by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.4";
+    name = "cookie-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
@@ -3442,8 +3613,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3451,7 +3622,8 @@
   by-spec."cookie"."0.0.5" =
     self.by-version."cookie"."0.0.5";
   by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.5";
+    name = "cookie-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
@@ -3461,8 +3633,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3470,7 +3642,8 @@
   by-spec."cookie"."0.1.0" =
     self.by-version."cookie"."0.1.0";
   by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.0";
+    name = "cookie-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
@@ -3480,8 +3653,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3489,7 +3662,8 @@
   by-spec."cookie"."0.1.2" =
     self.by-version."cookie"."0.1.2";
   by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.2";
+    name = "cookie-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
@@ -3499,8 +3673,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3508,7 +3682,8 @@
   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 = "node-cookie-jar-0.2.0";
+    name = "cookie-jar-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
@@ -3518,8 +3693,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
@@ -3527,7 +3702,8 @@
   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 = "node-cookie-jar-0.3.0";
+    name = "cookie-jar-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
@@ -3537,39 +3713,41 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  by-spec."cookie-parser"."1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
-  by-version."cookie-parser"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-parser-1.3.2";
+  by-spec."cookie-parser"."~1.3.2" =
+    self.by-version."cookie-parser"."1.3.3";
+  by-version."cookie-parser"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-parser-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.2.tgz";
-        name = "cookie-parser-1.3.2.tgz";
-        sha1 = "52211cc82c955d79ff0c088954407724e19cf562";
+        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.3.tgz";
+        name = "cookie-parser-1.3.3.tgz";
+        sha1 = "7e3a2c745f4b460d5a340e578a0baa5d7725fe37";
       })
     ];
     buildInputs =
       (self.nativeDeps."cookie-parser" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-    ];
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-parser" ];
   };
-  by-spec."cookie-parser"."~1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
+  by-spec."cookie-parser"."~1.3.3" =
+    self.by-version."cookie-parser"."1.3.3";
   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 = "node-cookie-signature-1.0.0";
+    name = "cookie-signature-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
@@ -3579,8 +3757,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3588,7 +3766,8 @@
   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 = "node-cookie-signature-1.0.1";
+    name = "cookie-signature-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
@@ -3598,8 +3777,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3607,7 +3786,8 @@
   by-spec."cookie-signature"."1.0.3" =
     self.by-version."cookie-signature"."1.0.3";
   by-version."cookie-signature"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.3";
+    name = "cookie-signature-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
@@ -3617,8 +3797,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3626,7 +3806,8 @@
   by-spec."cookie-signature"."1.0.4" =
     self.by-version."cookie-signature"."1.0.4";
   by-version."cookie-signature"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.4";
+    name = "cookie-signature-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
@@ -3636,8 +3817,28 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3645,7 +3846,8 @@
   by-spec."cookiejar"."1.3.0" =
     self.by-version."cookiejar"."1.3.0";
   by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.0";
+    name = "cookiejar-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
@@ -3655,8 +3857,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3664,7 +3866,8 @@
   by-spec."cookiejar"."1.3.2" =
     self.by-version."cookiejar"."1.3.2";
   by-version."cookiejar"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.2";
+    name = "cookiejar-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz";
@@ -3674,8 +3877,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3683,7 +3886,8 @@
   by-spec."cookiejar"."2.0.1" =
     self.by-version."cookiejar"."2.0.1";
   by-version."cookiejar"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-2.0.1";
+    name = "cookiejar-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
@@ -3693,8 +3897,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3702,7 +3906,8 @@
   by-spec."cookies".">= 0.2.2" =
     self.by-version."cookies"."0.5.0";
   by-version."cookies"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookies-0.5.0";
+    name = "cookies-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookies/-/cookies-0.5.0.tgz";
@@ -3712,19 +3917,18 @@
     ];
     buildInputs =
       (self.nativeDeps."cookies" or []);
-    deps = [
-      self.by-version."keygrip"."1.0.1"
-    ];
+    deps = {
+      "keygrip-1.0.1" = self.by-version."keygrip"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  by-spec."cookies"."~0.5.0" =
-    self.by-version."cookies"."0.5.0";
   by-spec."core-util-is"."~1.0.0" =
     self.by-version."core-util-is"."1.0.1";
   by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-core-util-is-1.0.1";
+    name = "core-util-is-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
@@ -3734,8 +3938,8 @@
     ];
     buildInputs =
       (self.nativeDeps."core-util-is" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "core-util-is" ];
@@ -3743,7 +3947,8 @@
   by-spec."couch-login"."~0.1.15" =
     self.by-version."couch-login"."0.1.20";
   by-version."couch-login"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-couch-login-0.1.20";
+    name = "couch-login-0.1.20";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
@@ -3753,9 +3958,9 @@
     ];
     buildInputs =
       (self.nativeDeps."couch-login" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-    ];
+    deps = {
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
@@ -3764,6 +3969,7 @@
     self.by-version."coveralls"."2.11.1";
   by-version."coveralls"."2.11.1" = lib.makeOverridable self.buildNodePackage {
     name = "coveralls-2.11.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.1.tgz";
@@ -3773,12 +3979,12 @@
     ];
     buildInputs =
       (self.nativeDeps."coveralls" or []);
-    deps = [
-      self.by-version."js-yaml"."3.0.1"
-      self.by-version."lcov-parse"."0.0.6"
-      self.by-version."log-driver"."1.2.4"
-      self.by-version."request"."2.36.0"
-    ];
+    deps = {
+      "js-yaml-3.0.1" = self.by-version."js-yaml"."3.0.1";
+      "lcov-parse-0.0.6" = self.by-version."lcov-parse"."0.0.6";
+      "log-driver-1.2.4" = self.by-version."log-driver"."1.2.4";
+      "request-2.36.0" = self.by-version."request"."2.36.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
@@ -3787,7 +3993,8 @@
   by-spec."crc"."0.2.0" =
     self.by-version."crc"."0.2.0";
   by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc-0.2.0";
+    name = "crc-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
@@ -3797,29 +4004,30 @@
     ];
     buildInputs =
       (self.nativeDeps."crc" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crc" ];
   };
-  by-spec."crc32-stream"."~0.2.0" =
-    self.by-version."crc32-stream"."0.2.0";
-  by-version."crc32-stream"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc32-stream-0.2.0";
+  by-spec."crc32-stream"."~0.3.1" =
+    self.by-version."crc32-stream"."0.3.1";
+  by-version."crc32-stream"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "crc32-stream-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.2.0.tgz";
-        name = "crc32-stream-0.2.0.tgz";
-        sha1 = "5c80d480c8682f904b6f15530dbbe0b8c063dbbe";
+        url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.1.tgz";
+        name = "crc32-stream-0.3.1.tgz";
+        sha1 = "615fcf05ed08342a3d1e938041aed84430ce7837";
       })
     ];
     buildInputs =
       (self.nativeDeps."crc32-stream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crc32-stream" ];
@@ -3827,7 +4035,8 @@
   by-spec."crossroads"."~0.12.0" =
     self.by-version."crossroads"."0.12.0";
   by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crossroads-0.12.0";
+    name = "crossroads-0.12.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz";
@@ -3837,9 +4046,9 @@
     ];
     buildInputs =
       (self.nativeDeps."crossroads" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
@@ -3847,7 +4056,8 @@
   by-spec."cryptiles"."0.1.x" =
     self.by-version."cryptiles"."0.1.3";
   by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.1.3";
+    name = "cryptiles-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
@@ -3857,9 +4067,9 @@
     ];
     buildInputs =
       (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.3.8"
-    ];
+    deps = {
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
@@ -3867,7 +4077,8 @@
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.2.2";
+    name = "cryptiles-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
@@ -3877,9 +4088,9 @@
     ];
     buildInputs =
       (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.4.2"
-    ];
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
@@ -3887,7 +4098,8 @@
   by-spec."crypto"."0.0.3" =
     self.by-version."crypto"."0.0.3";
   by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-0.0.3";
+    name = "crypto-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
@@ -3897,29 +4109,30 @@
     ];
     buildInputs =
       (self.nativeDeps."crypto" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crypto" ];
   };
   by-spec."crypto-browserify"."^3.0.0" =
-    self.by-version."crypto-browserify"."3.0.1";
-  by-version."crypto-browserify"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-browserify-3.0.1";
+    self.by-version."crypto-browserify"."3.0.2";
+  by-version."crypto-browserify"."3.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "crypto-browserify-3.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.1.tgz";
-        name = "crypto-browserify-3.0.1.tgz";
-        sha1 = "770fd68e8422f9b1e53d6812f1c2ce2ea7ab917c";
+        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.2.tgz";
+        name = "crypto-browserify-3.0.2.tgz";
+        sha1 = "43218365d9d086e8c1b88f968fb7134f13505c84";
       })
     ];
     buildInputs =
       (self.nativeDeps."crypto-browserify" or []);
-    deps = [
-      self.by-version."ripemd160"."0.2.0"
-      self.by-version."sha.js"."2.1.7"
-    ];
+    deps = {
+      "ripemd160-0.2.0" = self.by-version."ripemd160"."0.2.0";
+      "sha.js-2.1.8" = self.by-version."sha.js"."2.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crypto-browserify" ];
@@ -3928,6 +4141,7 @@
     self.by-version."cscodegen"."0.1.0";
   by-version."cscodegen"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "cscodegen-0.1.0";
+    bin = true;
     src = [
       (fetchgit {
         url = "git://github.com/michaelficarra/cscodegen.git";
@@ -3937,39 +4151,41 @@
     ];
     buildInputs =
       (self.nativeDeps."cscodegen" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cscodegen" ];
   };
-  by-spec."csrf-tokens"."~2.0.0" =
-    self.by-version."csrf-tokens"."2.0.0";
-  by-version."csrf-tokens"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csrf-tokens-2.0.0";
+  by-spec."csrf"."~2.0.1" =
+    self.by-version."csrf"."2.0.1";
+  by-version."csrf"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "csrf-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/csrf-tokens/-/csrf-tokens-2.0.0.tgz";
-        name = "csrf-tokens-2.0.0.tgz";
-        sha1 = "c821003fb8b6ad17bc977d6fd1a84bedc3ed619b";
+        url = "http://registry.npmjs.org/csrf/-/csrf-2.0.1.tgz";
+        name = "csrf-2.0.1.tgz";
+        sha1 = "d673a2efb4db7d0e6805dadd838c57e30ae0ee73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."csrf-tokens" or []);
-    deps = [
-      self.by-version."rndm"."1.0.0"
-      self.by-version."scmp"."0.0.3"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
+      (self.nativeDeps."csrf" or []);
+    deps = {
+      "rndm-1.0.0" = self.by-version."rndm"."1.0.0";
+      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "csrf-tokens" ];
+    passthru.names = [ "csrf" ];
   };
   by-spec."css"."~1.0.8" =
     self.by-version."css"."1.0.8";
   by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-1.0.8";
+    name = "css-1.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
@@ -3979,10 +4195,10 @@
     ];
     buildInputs =
       (self.nativeDeps."css" or []);
-    deps = [
-      self.by-version."css-parse"."1.0.4"
-      self.by-version."css-stringify"."1.0.5"
-    ];
+    deps = {
+      "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4";
+      "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
@@ -3990,7 +4206,8 @@
   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 = "node-css-parse-1.0.4";
+    name = "css-parse-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
@@ -4000,8 +4217,8 @@
     ];
     buildInputs =
       (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
@@ -4009,7 +4226,8 @@
   by-spec."css-parse"."1.7.x" =
     self.by-version."css-parse"."1.7.0";
   by-version."css-parse"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-parse-1.7.0";
+    name = "css-parse-1.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
@@ -4019,8 +4237,8 @@
     ];
     buildInputs =
       (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
@@ -4028,7 +4246,8 @@
   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 = "node-css-stringify-1.0.5";
+    name = "css-stringify-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
@@ -4038,30 +4257,31 @@
     ];
     buildInputs =
       (self.nativeDeps."css-stringify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  by-spec."csurf"."~1.4.0" =
-    self.by-version."csurf"."1.4.0";
-  by-version."csurf"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csurf-1.4.0";
+  by-spec."csurf"."~1.6.1" =
+    self.by-version."csurf"."1.6.1";
+  by-version."csurf"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "csurf-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/csurf/-/csurf-1.4.0.tgz";
-        name = "csurf-1.4.0.tgz";
-        sha1 = "035628ab6644d7709ac9d1adc78ef05a2d576efe";
+        url = "http://registry.npmjs.org/csurf/-/csurf-1.6.1.tgz";
+        name = "csurf-1.6.1.tgz";
+        sha1 = "78da376f016bcaa48275d553d133585e478f4054";
       })
     ];
     buildInputs =
       (self.nativeDeps."csurf" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."csrf-tokens"."2.0.0"
-    ];
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "csrf-2.0.1" = self.by-version."csrf"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "csurf" ];
@@ -4069,7 +4289,8 @@
   by-spec."ctype"."0.5.0" =
     self.by-version."ctype"."0.5.0";
   by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.0";
+    name = "ctype-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
@@ -4079,8 +4300,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
@@ -4088,7 +4309,8 @@
   by-spec."ctype"."0.5.2" =
     self.by-version."ctype"."0.5.2";
   by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.2";
+    name = "ctype-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
@@ -4098,8 +4320,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
@@ -4107,7 +4329,8 @@
   by-spec."cycle"."1.0.x" =
     self.by-version."cycle"."1.0.3";
   by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cycle-1.0.3";
+    name = "cycle-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
@@ -4117,8 +4340,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cycle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
@@ -4126,7 +4349,8 @@
   by-spec."dashdash"."1.3.2" =
     self.by-version."dashdash"."1.3.2";
   by-version."dashdash"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.3.2";
+    name = "dashdash-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dashdash/-/dashdash-1.3.2.tgz";
@@ -4136,9 +4360,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dashdash" ];
@@ -4146,7 +4370,8 @@
   by-spec."dashdash"."1.5.0" =
     self.by-version."dashdash"."1.5.0";
   by-version."dashdash"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.5.0";
+    name = "dashdash-1.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dashdash/-/dashdash-1.5.0.tgz";
@@ -4156,9 +4381,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dashdash" ];
@@ -4166,7 +4391,8 @@
   by-spec."date-now"."^0.1.4" =
     self.by-version."date-now"."0.1.4";
   by-version."date-now"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-date-now-0.1.4";
+    name = "date-now-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
@@ -4176,8 +4402,8 @@
     ];
     buildInputs =
       (self.nativeDeps."date-now" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "date-now" ];
@@ -4185,7 +4411,8 @@
   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 = "node-dateformat-1.0.2-1.2.3";
+    name = "dateformat-1.0.2-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
@@ -4195,16 +4422,17 @@
     ];
     buildInputs =
       (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  by-spec."dateformat"."~1.0.6" =
+  by-spec."dateformat"."^1.0.7-1.2.3" =
     self.by-version."dateformat"."1.0.8-1.2.3";
   by-version."dateformat"."1.0.8-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dateformat-1.0.8-1.2.3";
+    name = "dateformat-1.0.8-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.8-1.2.3.tgz";
@@ -4214,28 +4442,31 @@
     ];
     buildInputs =
       (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.8-1.2.3";
   by-spec."debug"."*" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.4";
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        name = "debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
       })
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4243,7 +4474,8 @@
   by-spec."debug"."0.5.0" =
     self.by-version."debug"."0.5.0";
   by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.5.0";
+    name = "debug-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
@@ -4253,8 +4485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4262,7 +4494,8 @@
   by-spec."debug"."0.7.4" =
     self.by-version."debug"."0.7.4";
   by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.7.4";
+    name = "debug-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
@@ -4272,58 +4505,38 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  by-spec."debug"."1.0.2" =
-    self.by-version."debug"."1.0.2";
-  by-version."debug"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.2.tgz";
-        name = "debug-1.0.2.tgz";
-        sha1 = "3849591c10cce648476c3c7c2e2e3416db5963c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."debug"."1.0.3" =
-    self.by-version."debug"."1.0.3";
-  by-version."debug"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.3";
+  by-spec."debug"."1.0.4" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.3.tgz";
-        name = "debug-1.0.3.tgz";
-        sha1 = "fc8c6b2d6002804b4081c0208e0f6460ba1fa3e4";
+        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        name = "debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
       })
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  by-spec."debug"."1.0.4" =
-    self.by-version."debug"."1.0.4";
   by-spec."debug".">= 0.7.3 < 1" =
     self.by-version."debug"."0.8.1";
   by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.8.1";
+    name = "debug-0.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
@@ -4333,8 +4546,8 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4347,12 +4560,33 @@
     self.by-version."debug"."0.8.1";
   by-spec."debug"."~1.0.1" =
     self.by-version."debug"."1.0.4";
-  by-spec."debug"."~1.0.2" =
-    self.by-version."debug"."1.0.4";
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-spec."debuglog"."^1.0.1" =
+    self.by-version."debuglog"."1.0.1";
+  by-version."debuglog"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "debuglog-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
+        name = "debuglog-1.0.1.tgz";
+        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debuglog" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debuglog" ];
+  };
   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 = "node-deep-eql-0.1.3";
+    name = "deep-eql-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
@@ -4362,9 +4596,9 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-eql" or []);
-    deps = [
-      self.by-version."type-detect"."0.1.1"
-    ];
+    deps = {
+      "type-detect-0.1.1" = self.by-version."type-detect"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
@@ -4372,7 +4606,8 @@
   by-spec."deep-equal"."*" =
     self.by-version."deep-equal"."0.2.1";
   by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-equal-0.2.1";
+    name = "deep-equal-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
@@ -4382,8 +4617,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
@@ -4391,7 +4626,8 @@
   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 = "node-deep-equal-0.0.0";
+    name = "deep-equal-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
@@ -4401,8 +4637,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
@@ -4411,10 +4647,11 @@
     self.by-version."deep-equal"."0.0.0";
   by-spec."deep-equal"."~0.2.1" =
     self.by-version."deep-equal"."0.2.1";
-  by-spec."deep-extend"."~0.2.10" =
+  by-spec."deep-extend"."~0.2.11" =
     self.by-version."deep-extend"."0.2.11";
   by-version."deep-extend"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-extend-0.2.11";
+    name = "deep-extend-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
@@ -4424,8 +4661,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
@@ -4435,7 +4672,8 @@
   by-spec."deepmerge"."*" =
     self.by-version."deepmerge"."0.2.7";
   by-version."deepmerge"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deepmerge-0.2.7";
+    name = "deepmerge-0.2.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz";
@@ -4445,56 +4683,59 @@
     ];
     buildInputs =
       (self.nativeDeps."deepmerge" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deepmerge" ];
   };
   "deepmerge" = self.by-version."deepmerge"."0.2.7";
-  by-spec."defined"."~0.0.0" =
-    self.by-version."defined"."0.0.0";
-  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-defined-0.0.0";
+  by-spec."defaults"."^1.0.0" =
+    self.by-version."defaults"."1.0.0";
+  by-version."defaults"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "defaults-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
-        name = "defined-0.0.0.tgz";
-        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
+        url = "http://registry.npmjs.org/defaults/-/defaults-1.0.0.tgz";
+        name = "defaults-1.0.0.tgz";
+        sha1 = "3ae25f44416c6c01f9809a25fcdd285912d2a6b1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."defined" or []);
-    deps = [
-    ];
+      (self.nativeDeps."defaults" or []);
+    deps = {
+      "clone-0.1.18" = self.by-version."clone"."0.1.18";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "defined" ];
+    passthru.names = [ "defaults" ];
   };
-  by-spec."deflate-crc32-stream"."~0.1.0" =
-    self.by-version."deflate-crc32-stream"."0.1.1";
-  by-version."deflate-crc32-stream"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deflate-crc32-stream-0.1.1";
+  by-spec."defined"."~0.0.0" =
+    self.by-version."defined"."0.0.0";
+  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "defined-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deflate-crc32-stream/-/deflate-crc32-stream-0.1.1.tgz";
-        name = "deflate-crc32-stream-0.1.1.tgz";
-        sha1 = "5df9e343174f56e7d6056e8ba1f91e5576c02160";
+        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+        name = "defined-0.0.0.tgz";
+        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deflate-crc32-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
+      (self.nativeDeps."defined" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "deflate-crc32-stream" ];
+    passthru.names = [ "defined" ];
   };
   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 = "node-delayed-stream-0.0.5";
+    name = "delayed-stream-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
@@ -4504,73 +4745,57 @@
     ];
     buildInputs =
       (self.nativeDeps."delayed-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "delayed-stream" ];
   };
-  by-spec."delegates"."0.0.3" =
-    self.by-version."delegates"."0.0.3";
-  by-version."delegates"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-delegates-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delegates/-/delegates-0.0.3.tgz";
-        name = "delegates-0.0.3.tgz";
-        sha1 = "4f25cbf8e1c061967f834e003f3bd18ded4baeea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delegates" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "delegates" ];
-  };
-  by-spec."depd"."0.3.0" =
-    self.by-version."depd"."0.3.0";
-  by-version."depd"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.3.0";
+  by-spec."depd"."0.4.4" =
+    self.by-version."depd"."0.4.4";
+  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "depd-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.3.0.tgz";
-        name = "depd-0.3.0.tgz";
-        sha1 = "11c9bc28e425325fbd8b38940beff69fa5326883";
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        name = "depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
       })
     ];
     buildInputs =
       (self.nativeDeps."depd" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "depd" ];
   };
-  by-spec."depd"."0.4.4" =
-    self.by-version."depd"."0.4.4";
-  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.4.4";
+  by-spec."deprecated"."^0.0.1" =
+    self.by-version."deprecated"."0.0.1";
+  by-version."deprecated"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "deprecated-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
-        name = "depd-0.4.4.tgz";
-        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+        url = "http://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz";
+        name = "deprecated-0.0.1.tgz";
+        sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
       })
     ];
     buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = [
-    ];
+      (self.nativeDeps."deprecated" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "depd" ];
+    passthru.names = [ "deprecated" ];
   };
   by-spec."deps-sort"."^1.3.5" =
     self.by-version."deps-sort"."1.3.5";
   by-version."deps-sort"."1.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "deps-sort-1.3.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz";
@@ -4580,13 +4805,13 @@
     ];
     buildInputs =
       (self.nativeDeps."deps-sort" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."through2"."0.5.1"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "shasum-1.0.0" = self.by-version."shasum"."1.0.0";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deps-sort" ];
@@ -4594,7 +4819,8 @@
   by-spec."destroy"."1.0.3" =
     self.by-version."destroy"."1.0.3";
   by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-destroy-1.0.3";
+    name = "destroy-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
@@ -4604,8 +4830,8 @@
     ];
     buildInputs =
       (self.nativeDeps."destroy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "destroy" ];
@@ -4613,7 +4839,8 @@
   by-spec."detective"."^3.1.0" =
     self.by-version."detective"."3.1.0";
   by-version."detective"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-detective-3.1.0";
+    name = "detective-3.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/detective/-/detective-3.1.0.tgz";
@@ -4623,37 +4850,19 @@
     ];
     buildInputs =
       (self.nativeDeps."detective" or []);
-    deps = [
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "escodegen-1.1.0" = self.by-version."escodegen"."1.1.0";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "detective" ];
   };
-  by-spec."dethroy"."~1.0.0" =
-    self.by-version."dethroy"."1.0.2";
-  by-version."dethroy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dethroy-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dethroy/-/dethroy-1.0.2.tgz";
-        name = "dethroy-1.0.2.tgz";
-        sha1 = "c82003317693dcbcda3f752b0182e3bf16dd4421";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dethroy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dethroy" ];
-  };
   by-spec."dezalgo"."^1.0.0" =
     self.by-version."dezalgo"."1.0.0";
   by-version."dezalgo"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dezalgo-1.0.0";
+    name = "dezalgo-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.0.tgz";
@@ -4663,9 +4872,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dezalgo" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-    ];
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dezalgo" ];
@@ -4673,7 +4882,8 @@
   by-spec."di"."~0.0.1" =
     self.by-version."di"."0.0.1";
   by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-di-0.0.1";
+    name = "di-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
@@ -4683,8 +4893,8 @@
     ];
     buildInputs =
       (self.nativeDeps."di" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "di" ];
@@ -4692,7 +4902,8 @@
   by-spec."diff"."1.0.7" =
     self.by-version."diff"."1.0.7";
   by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.7";
+    name = "diff-1.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
@@ -4702,8 +4913,8 @@
     ];
     buildInputs =
       (self.nativeDeps."diff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
@@ -4711,7 +4922,8 @@
   by-spec."diff"."~1.0.3" =
     self.by-version."diff"."1.0.8";
   by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.8";
+    name = "diff-1.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
@@ -4721,8 +4933,8 @@
     ];
     buildInputs =
       (self.nativeDeps."diff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
@@ -4732,7 +4944,8 @@
   by-spec."director"."1.1.10" =
     self.by-version."director"."1.1.10";
   by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-director-1.1.10";
+    name = "director-1.1.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
@@ -4742,8 +4955,8 @@
     ];
     buildInputs =
       (self.nativeDeps."director" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "director" ];
@@ -4751,7 +4964,8 @@
   by-spec."dkim-signer"."~0.1.1" =
     self.by-version."dkim-signer"."0.1.2";
   by-version."dkim-signer"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dkim-signer-0.1.2";
+    name = "dkim-signer-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.2.tgz";
@@ -4761,10 +4975,10 @@
     ];
     buildInputs =
       (self.nativeDeps."dkim-signer" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-      self.by-version."mimelib"."0.2.17"
-    ];
+    deps = {
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "mimelib-0.2.17" = self.by-version."mimelib"."0.2.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dkim-signer" ];
@@ -4772,7 +4986,8 @@
   by-spec."domain-browser"."~1.1.0" =
     self.by-version."domain-browser"."1.1.2";
   by-version."domain-browser"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domain-browser-1.1.2";
+    name = "domain-browser-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.2.tgz";
@@ -4782,8 +4997,8 @@
     ];
     buildInputs =
       (self.nativeDeps."domain-browser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domain-browser" ];
@@ -4791,7 +5006,8 @@
   by-spec."domelementtype"."1" =
     self.by-version."domelementtype"."1.1.1";
   by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domelementtype-1.1.1";
+    name = "domelementtype-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
@@ -4801,8 +5017,8 @@
     ];
     buildInputs =
       (self.nativeDeps."domelementtype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domelementtype" ];
@@ -4810,7 +5026,8 @@
   by-spec."domhandler"."2.2" =
     self.by-version."domhandler"."2.2.0";
   by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domhandler-2.2.0";
+    name = "domhandler-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz";
@@ -4820,9 +5037,9 @@
     ];
     buildInputs =
       (self.nativeDeps."domhandler" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
+    deps = {
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domhandler" ];
@@ -4830,7 +5047,8 @@
   by-spec."domutils"."1.5" =
     self.by-version."domutils"."1.5.0";
   by-version."domutils"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domutils-1.5.0";
+    name = "domutils-1.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz";
@@ -4840,9 +5058,9 @@
     ];
     buildInputs =
       (self.nativeDeps."domutils" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
+    deps = {
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
@@ -4851,6 +5069,7 @@
     self.by-version."dox"."0.4.6";
   by-version."dox"."0.4.6" = lib.makeOverridable self.buildNodePackage {
     name = "dox-0.4.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dox/-/dox-0.4.6.tgz";
@@ -4860,10 +5079,10 @@
     ];
     buildInputs =
       (self.nativeDeps."dox" or []);
-    deps = [
-      self.by-version."marked"."0.3.2"
-      self.by-version."commander"."0.6.1"
-    ];
+    deps = {
+      "marked-0.3.2" = self.by-version."marked"."0.3.2";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dox" ];
@@ -4871,7 +5090,8 @@
   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 = "node-dtrace-provider-0.2.8";
+    name = "dtrace-provider-0.2.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
@@ -4881,8 +5101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."dtrace-provider" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dtrace-provider" ];
@@ -4890,7 +5110,8 @@
   by-spec."duplexer"."~0.1.1" =
     self.by-version."duplexer"."0.1.1";
   by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer-0.1.1";
+    name = "duplexer-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
@@ -4900,8 +5121,8 @@
     ];
     buildInputs =
       (self.nativeDeps."duplexer" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "duplexer" ];
@@ -4909,7 +5130,8 @@
   by-spec."duplexer2"."0.0.2" =
     self.by-version."duplexer2"."0.0.2";
   by-version."duplexer2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer2-0.0.2";
+    name = "duplexer2-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
@@ -4919,9 +5141,9 @@
     ];
     buildInputs =
       (self.nativeDeps."duplexer2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "duplexer2" ];
@@ -4931,7 +5153,8 @@
   by-spec."editor"."~0.1.0" =
     self.by-version."editor"."0.1.0";
   by-version."editor"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-editor-0.1.0";
+    name = "editor-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/editor/-/editor-0.1.0.tgz";
@@ -4941,35 +5164,17 @@
     ];
     buildInputs =
       (self.nativeDeps."editor" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "editor" ];
   };
-  by-spec."ee-first"."1.0.3" =
-    self.by-version."ee-first"."1.0.3";
-  by-version."ee-first"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz";
-        name = "ee-first-1.0.3.tgz";
-        sha1 = "6c98c4089abecb5a7b85c1ac449aa603d3b3dabe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
-  };
   by-spec."ee-first"."1.0.5" =
     self.by-version."ee-first"."1.0.5";
   by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.5";
+    name = "ee-first-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
@@ -4979,8 +5184,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ee-first" ];
@@ -4988,7 +5193,8 @@
   by-spec."ejs"."0.8.3" =
     self.by-version."ejs"."0.8.3";
   by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ejs-0.8.3";
+    name = "ejs-0.8.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
@@ -4998,8 +5204,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ejs" ];
@@ -5007,7 +5213,8 @@
   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 = "node-emitter-component-0.0.6";
+    name = "emitter-component-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz";
@@ -5017,8 +5224,8 @@
     ];
     buildInputs =
       (self.nativeDeps."emitter-component" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
@@ -5026,7 +5233,8 @@
   by-spec."encoding"."~0.1.7" =
     self.by-version."encoding"."0.1.8";
   by-version."encoding"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-encoding-0.1.8";
+    name = "encoding-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/encoding/-/encoding-0.1.8.tgz";
@@ -5036,29 +5244,51 @@
     ];
     buildInputs =
       (self.nativeDeps."encoding" or []);
-    deps = [
-      self.by-version."iconv-lite"."0.4.4"
-    ];
+    deps = {
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "encoding" ];
   };
   by-spec."end-of-stream"."^1.0.0" =
-    self.by-version."end-of-stream"."1.0.0";
-  by-version."end-of-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-end-of-stream-1.0.0";
+    self.by-version."end-of-stream"."1.1.0";
+  by-version."end-of-stream"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "end-of-stream-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
-        name = "end-of-stream-1.0.0.tgz";
-        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
+        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz";
+        name = "end-of-stream-1.1.0.tgz";
+        sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
       })
     ];
     buildInputs =
       (self.nativeDeps."end-of-stream" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "end-of-stream" ];
+  };
+  by-spec."end-of-stream"."~0.1.5" =
+    self.by-version."end-of-stream"."0.1.5";
+  by-version."end-of-stream"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "end-of-stream-0.1.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz";
+        name = "end-of-stream-0.1.5.tgz";
+        sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."end-of-stream" or []);
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "end-of-stream" ];
@@ -5066,7 +5296,8 @@
   by-spec."entities"."1.0" =
     self.by-version."entities"."1.0.0";
   by-version."entities"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-entities-1.0.0";
+    name = "entities-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
@@ -5076,8 +5307,8 @@
     ];
     buildInputs =
       (self.nativeDeps."entities" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "entities" ];
@@ -5086,6 +5317,7 @@
     self.by-version."envify"."2.0.1";
   by-version."envify"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "envify-2.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/envify/-/envify-2.0.1.tgz";
@@ -5095,52 +5327,34 @@
     ];
     buildInputs =
       (self.nativeDeps."envify" or []);
-    deps = [
-      self.by-version."xtend"."2.1.2"
-      self.by-version."through"."2.3.4"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."jstransform"."3.0.0"
-    ];
+    deps = {
+      "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+      "jstransform-3.0.0" = self.by-version."jstransform"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "envify" ];
   };
-  by-spec."error-inject"."~1.0.0" =
-    self.by-version."error-inject"."1.0.0";
-  by-version."error-inject"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-error-inject-1.0.0";
+  by-spec."errorhandler"."~1.2.0" =
+    self.by-version."errorhandler"."1.2.0";
+  by-version."errorhandler"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "errorhandler-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz";
-        name = "error-inject-1.0.0.tgz";
-        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."error-inject" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "error-inject" ];
-  };
-  by-spec."errorhandler"."1.1.1" =
-    self.by-version."errorhandler"."1.1.1";
-  by-version."errorhandler"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-errorhandler-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
-        name = "errorhandler-1.1.1.tgz";
-        sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
+        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.2.0.tgz";
+        name = "errorhandler-1.2.0.tgz";
+        sha1 = "2f89db72c150580c65e8dd5180504f5b8a398bd9";
       })
     ];
     buildInputs =
       (self.nativeDeps."errorhandler" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."escape-html"."1.0.1"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "errorhandler" ];
@@ -5148,7 +5362,8 @@
   by-spec."escape-html"."*" =
     self.by-version."escape-html"."1.0.1";
   by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-html-1.0.1";
+    name = "escape-html-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
@@ -5158,8 +5373,8 @@
     ];
     buildInputs =
       (self.nativeDeps."escape-html" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escape-html" ];
@@ -5167,12 +5382,11 @@
   "escape-html" = self.by-version."escape-html"."1.0.1";
   by-spec."escape-html"."1.0.1" =
     self.by-version."escape-html"."1.0.1";
-  by-spec."escape-html"."~1.0.1" =
-    self.by-version."escape-html"."1.0.1";
   by-spec."escape-string-regexp"."^1.0.0" =
     self.by-version."escape-string-regexp"."1.0.1";
   by-version."escape-string-regexp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-string-regexp-1.0.1";
+    name = "escape-string-regexp-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.1.tgz";
@@ -5182,8 +5396,8 @@
     ];
     buildInputs =
       (self.nativeDeps."escape-string-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escape-string-regexp" ];
@@ -5192,6 +5406,7 @@
     self.by-version."escodegen"."1.3.3";
   by-version."escodegen"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-1.3.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
@@ -5201,12 +5416,12 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esutils"."1.0.0"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esprima"."1.1.1"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esprima-1.1.1" = self.by-version."esprima"."1.1.1";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5215,6 +5430,7 @@
     self.by-version."escodegen"."0.0.28";
   by-version."escodegen"."0.0.28" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-0.0.28";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
@@ -5224,11 +5440,11 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-1.3.2" = self.by-version."estraverse"."1.3.2";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5239,6 +5455,7 @@
     self.by-version."escodegen"."1.1.0";
   by-version."escodegen"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-1.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz";
@@ -5248,12 +5465,12 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esutils"."1.0.0"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5261,7 +5478,8 @@
   by-spec."escope"."~ 1.0.0" =
     self.by-version."escope"."1.0.1";
   by-version."escope"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escope-1.0.1";
+    name = "escope-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escope/-/escope-1.0.1.tgz";
@@ -5271,9 +5489,9 @@
     ];
     buildInputs =
       (self.nativeDeps."escope" or []);
-    deps = [
-      self.by-version."estraverse"."1.5.1"
-    ];
+    deps = {
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escope" ];
@@ -5282,6 +5500,7 @@
     self.by-version."esmangle"."0.0.17";
   by-version."esmangle"."0.0.17" = lib.makeOverridable self.buildNodePackage {
     name = "esmangle-0.0.17";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esmangle/-/esmangle-0.0.17.tgz";
@@ -5291,15 +5510,15 @@
     ];
     buildInputs =
       (self.nativeDeps."esmangle" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."escope"."1.0.1"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."esshorten"."0.0.2"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "escope-1.0.1" = self.by-version."escope"."1.0.1";
+      "escodegen-0.0.28" = self.by-version."escodegen"."0.0.28";
+      "estraverse-1.3.2" = self.by-version."estraverse"."1.3.2";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "esshorten-0.0.2" = self.by-version."esshorten"."0.0.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esmangle" ];
@@ -5308,6 +5527,7 @@
     self.by-version."esprima"."1.2.2";
   by-version."esprima"."1.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.2.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz";
@@ -5317,8 +5537,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5327,6 +5547,7 @@
     self.by-version."esprima"."1.0.4";
   by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.0.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
@@ -5336,8 +5557,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5350,6 +5571,7 @@
     self.by-version."esprima"."1.1.1";
   by-version."esprima"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
@@ -5359,8 +5581,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5369,6 +5591,7 @@
     self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
   by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-fb-3001.1.0-dev-harmony-fb";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
@@ -5378,8 +5601,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima-fb" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima-fb" ];
@@ -5389,7 +5612,8 @@
   by-spec."esshorten"."~ 0.0.2" =
     self.by-version."esshorten"."0.0.2";
   by-version."esshorten"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esshorten-0.0.2";
+    name = "esshorten-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz";
@@ -5399,10 +5623,10 @@
     ];
     buildInputs =
       (self.nativeDeps."esshorten" or []);
-    deps = [
-      self.by-version."escope"."1.0.1"
-      self.by-version."estraverse"."1.2.0"
-    ];
+    deps = {
+      "escope-1.0.1" = self.by-version."escope"."1.0.1";
+      "estraverse-1.2.0" = self.by-version."estraverse"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esshorten" ];
@@ -5410,7 +5634,8 @@
   by-spec."estraverse".">= 0.0.2" =
     self.by-version."estraverse"."1.5.1";
   by-version."estraverse"."1.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.5.1";
+    name = "estraverse-1.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
@@ -5420,8 +5645,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5429,7 +5654,8 @@
   by-spec."estraverse"."~ 1.2.0" =
     self.by-version."estraverse"."1.2.0";
   by-version."estraverse"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.2.0";
+    name = "estraverse-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz";
@@ -5439,8 +5665,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5448,7 +5674,8 @@
   by-spec."estraverse"."~ 1.3.2" =
     self.by-version."estraverse"."1.3.2";
   by-version."estraverse"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.3.2";
+    name = "estraverse-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
@@ -5458,8 +5685,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5471,7 +5698,8 @@
   by-spec."esutils"."~1.0.0" =
     self.by-version."esutils"."1.0.0";
   by-version."esutils"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esutils-1.0.0";
+    name = "esutils-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
@@ -5481,16 +5709,38 @@
     ];
     buildInputs =
       (self.nativeDeps."esutils" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esutils" ];
   };
+  by-spec."etag"."~1.3.0" =
+    self.by-version."etag"."1.3.0";
+  by-version."etag"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "etag-1.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/etag/-/etag-1.3.0.tgz";
+        name = "etag-1.3.0.tgz";
+        sha1 = "c837debfbfe0baf7eb8e2f0bbb3d1d9cc3229697";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."etag" or []);
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "etag" ];
+  };
   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 = "node-event-stream-0.5.3";
+    name = "event-stream-0.5.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
@@ -5500,9 +5750,9 @@
     ];
     buildInputs =
       (self.nativeDeps."event-stream" or []);
-    deps = [
-      self.by-version."optimist"."0.2.8"
-    ];
+    deps = {
+      "optimist-0.2.8" = self.by-version."optimist"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "event-stream" ];
@@ -5510,7 +5760,8 @@
   by-spec."eventemitter2"."0.4.12" =
     self.by-version."eventemitter2"."0.4.12";
   by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.12";
+    name = "eventemitter2-0.4.12";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
@@ -5520,16 +5771,17 @@
     ];
     buildInputs =
       (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  by-spec."eventemitter2"."~0.4.11" =
+  by-spec."eventemitter2"."0.4.14" =
     self.by-version."eventemitter2"."0.4.14";
   by-version."eventemitter2"."0.4.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.14";
+    name = "eventemitter2-0.4.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
@@ -5539,48 +5791,52 @@
     ];
     buildInputs =
       (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.14";
   by-spec."eventemitter2"."~0.4.13" =
     self.by-version."eventemitter2"."0.4.14";
   by-spec."eventemitter3"."*" =
-    self.by-version."eventemitter3"."0.1.4";
-  by-version."eventemitter3"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter3-0.1.4";
+    self.by-version."eventemitter3"."0.1.5";
+  by-version."eventemitter3"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "eventemitter3-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.4.tgz";
-        name = "eventemitter3-0.1.4.tgz";
-        sha1 = "da2be74b7a1a4760272e1390f975503be5cb7e24";
+        url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.5.tgz";
+        name = "eventemitter3-0.1.5.tgz";
+        sha1 = "fbb0655172b87911ba782bb7175409c801e5059f";
       })
     ];
     buildInputs =
       (self.nativeDeps."eventemitter3" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter3" ];
   };
   by-spec."events"."~1.0.0" =
-    self.by-version."events"."1.0.1";
-  by-version."events"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-events-1.0.1";
+    self.by-version."events"."1.0.2";
+  by-version."events"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "events-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/events/-/events-1.0.1.tgz";
-        name = "events-1.0.1.tgz";
-        sha1 = "386f6471cbb609e7925e7bfe7468634b9e069ac2";
+        url = "http://registry.npmjs.org/events/-/events-1.0.2.tgz";
+        name = "events-1.0.2.tgz";
+        sha1 = "75849dcfe93d10fb057c30055afdbd51d06a8e24";
       })
     ];
     buildInputs =
       (self.nativeDeps."events" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "events" ];
@@ -5588,7 +5844,8 @@
   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 = "node-events.node-0.4.9";
+    name = "events.node-0.4.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
@@ -5598,8 +5855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."events.node" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "events.node" ];
@@ -5607,7 +5864,8 @@
   by-spec."everyauth"."0.4.5" =
     self.by-version."everyauth"."0.4.5";
   by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-everyauth-0.4.5";
+    name = "everyauth-0.4.5";
+    bin = false;
     src = [
       (self.patchSource fetchurl {
         url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
@@ -5617,17 +5875,17 @@
     ];
     buildInputs =
       (self.nativeDeps."everyauth" or []);
-    deps = [
-      self.by-version."oauth"."0.9.11"
-      self.by-version."request"."2.9.203"
-      self.by-version."connect"."2.3.9"
-      self.by-version."openid"."0.5.9"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."node-swt"."0.1.1"
-      self.by-version."node-wsfederation"."0.1.1"
-      self.by-version."debug"."0.5.0"
-      self.by-version."express"."3.16.7"
-    ];
+    deps = {
+      "oauth-0.9.11" = self.by-version."oauth"."0.9.11";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "connect-2.3.9" = self.by-version."connect"."2.3.9";
+      "openid-0.5.9" = self.by-version."openid"."0.5.9";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "node-swt-0.1.1" = self.by-version."node-swt"."0.1.1";
+      "node-wsfederation-0.1.1" = self.by-version."node-wsfederation"."0.1.1";
+      "debug-0.5.0" = self.by-version."debug"."0.5.0";
+      "express-3.17.1" = self.by-version."express"."3.17.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "everyauth" ];
@@ -5635,7 +5893,8 @@
   by-spec."exit"."0.1.2" =
     self.by-version."exit"."0.1.2";
   by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-exit-0.1.2";
+    name = "exit-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
@@ -5645,8 +5904,8 @@
     ];
     buildInputs =
       (self.nativeDeps."exit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "exit" ];
@@ -5656,51 +5915,55 @@
   by-spec."exit"."~0.1.1" =
     self.by-version."exit"."0.1.2";
   by-spec."express"."*" =
-    self.by-version."express"."4.8.5";
-  by-version."express"."4.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.8.5";
+    self.by-version."express"."4.9.0";
+  by-version."express"."4.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "express-4.9.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.8.5.tgz";
-        name = "express-4.8.5.tgz";
-        sha1 = "59cf7666c29bf7cb8545a1acd43dd81a52cb26d9";
+        url = "http://registry.npmjs.org/express/-/express-4.9.0.tgz";
+        name = "express-4.9.0.tgz";
+        sha1 = "9b2ea4ebce57c7ac710604c74f6c303ab344a7f3";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."path-to-regexp"."0.1.3"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."qs"."1.2.2"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "serve-static-1.6.1" = self.by-version."serve-static"."1.6.1";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  "express" = self.by-version."express"."4.8.5";
+  "express" = self.by-version."express"."4.9.0";
   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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
@@ -5710,12 +5973,12 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "connect-1.9.2" = self.by-version."connect"."1.9.2";
+      "mime-1.2.4" = self.by-version."mime"."1.2.4";
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5724,6 +5987,7 @@
     self.by-version."express"."3.2.0";
   by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
@@ -5733,19 +5997,19 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      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.3"
-      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"."1.0.4"
-    ];
+    deps = {
+      "connect-2.7.6" = self.by-version."connect"."2.7.6";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5754,6 +6018,7 @@
     self.by-version."express"."3.4.4";
   by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.4.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
@@ -5763,67 +6028,69 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      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"."1.0.4"
-    ];
+    deps = {
+      "connect-2.11.0" = self.by-version."connect"."2.11.0";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
   by-spec."express"."3.x" =
-    self.by-version."express"."3.16.7";
-  by-version."express"."3.16.7" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.16.7";
+    self.by-version."express"."3.17.1";
+  by-version."express"."3.17.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.17.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.16.7.tgz";
-        name = "express-3.16.7.tgz";
-        sha1 = "788aab5d66e85060211d6fea08eb2986f2f2631c";
+        url = "http://registry.npmjs.org/express/-/express-3.17.1.tgz";
+        name = "express-3.17.1.tgz";
+        sha1 = "82b357f0bc78733b1ac1070224f89a37dea76a74";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."commander"."1.3.2"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-    ];
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "connect-2.26.0" = self.by-version."connect"."2.26.0";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
   by-spec."express".">=3.0.0" =
-    self.by-version."express"."4.8.5";
+    self.by-version."express"."4.9.0";
   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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
@@ -5833,19 +6100,19 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      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.3"
-      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"."1.0.4"
-    ];
+    deps = {
+      "connect-2.7.5" = self.by-version."connect"."2.7.5";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5853,7 +6120,8 @@
   by-spec."express"."~4.0" =
     self.by-version."express"."4.0.0";
   by-version."express"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.0.0";
+    name = "express-4.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz";
@@ -5863,63 +6131,67 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."accepts"."1.0.0"
-      self.by-version."type-is"."1.0.0"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."methods"."0.1.0"
-      self.by-version."send"."0.2.0"
-      self.by-version."cookie-signature"."1.0.3"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."qs"."0.6.6"
-      self.by-version."serve-static"."1.0.1"
-      self.by-version."path-to-regexp"."0.1.2"
-      self.by-version."debug"."0.8.1"
-    ];
+    deps = {
+      "parseurl-1.0.1" = self.by-version."parseurl"."1.0.1";
+      "accepts-1.0.0" = self.by-version."accepts"."1.0.0";
+      "type-is-1.0.0" = self.by-version."type-is"."1.0.0";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.2.0" = self.by-version."send"."0.2.0";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "serve-static-1.0.1" = self.by-version."serve-static"."1.0.1";
+      "path-to-regexp-0.1.2" = self.by-version."path-to-regexp"."0.1.2";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  by-spec."express"."~4.4.5" =
-    self.by-version."express"."4.4.5";
-  by-version."express"."4.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.4.5";
+  by-spec."express"."~4.8.5" =
+    self.by-version."express"."4.8.8";
+  by-version."express"."4.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "express-4.8.8";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.4.5.tgz";
-        name = "express-4.4.5.tgz";
-        sha1 = "5f2f302f277187abd721c3a36e44d86c5e3f03eb";
+        url = "http://registry.npmjs.org/express/-/express-4.8.8.tgz";
+        name = "express-4.8.8.tgz";
+        sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."methods"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.4.3"
-      self.by-version."serve-static"."1.2.3"
-      self.by-version."type-is"."1.2.1"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."path-to-regexp"."0.1.2"
-    ];
+    deps = {
+      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "finalhandler-0.1.0" = self.by-version."finalhandler"."0.1.0";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "qs-2.2.2" = self.by-version."qs"."2.2.2";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "send-0.8.5" = self.by-version."send"."0.8.5";
+      "serve-static-1.5.4" = self.by-version."serve-static"."1.5.4";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+      "vary-0.1.0" = self.by-version."vary"."0.1.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5927,7 +6199,8 @@
   by-spec."express-form"."*" =
     self.by-version."express-form"."0.12.3";
   by-version."express-form"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-form-0.12.3";
+    name = "express-form-0.12.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express-form/-/express-form-0.12.3.tgz";
@@ -5937,13 +6210,13 @@
     ];
     buildInputs =
       (self.nativeDeps."express-form" or []);
-    deps = [
-      self.by-version."validator"."0.4.28"
-      self.by-version."object-additions"."0.5.1"
-      self.by-version."async"."0.7.0"
-    ];
+    deps = {
+      "validator-0.4.28" = self.by-version."validator"."0.4.28";
+      "object-additions-0.5.1" = self.by-version."object-additions"."0.5.1";
+      "async-0.7.0" = self.by-version."async"."0.7.0";
+    };
     peerDependencies = [
-      self.by-version."express"."4.8.5"
+      self.by-version."express"."4.9.0"
     ];
     passthru.names = [ "express-form" ];
   };
@@ -5951,7 +6224,8 @@
   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 = "node-express-partials-0.0.6";
+    name = "express-partials-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
@@ -5961,63 +6235,66 @@
     ];
     buildInputs =
       (self.nativeDeps."express-partials" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-partials" ];
   };
-  by-spec."express-session"."~1.6.1" =
-    self.by-version."express-session"."1.6.5";
-  by-version."express-session"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.6.5";
+  by-spec."express-session"."~1.7.6" =
+    self.by-version."express-session"."1.7.6";
+  by-version."express-session"."1.7.6" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.7.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.6.5.tgz";
-        name = "express-session-1.6.5.tgz";
-        sha1 = "c4ca7740025fe4561f88041157931071f91e957b";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
+        name = "express-session-1.7.6.tgz";
+        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
       })
     ];
     buildInputs =
       (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."on-headers"."0.0.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-session" ];
   };
-  by-spec."express-session"."~1.7.6" =
-    self.by-version."express-session"."1.7.6";
-  by-version."express-session"."1.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.7.6";
+  by-spec."express-session"."~1.8.1" =
+    self.by-version."express-session"."1.8.1";
+  by-version."express-session"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
-        name = "express-session-1.7.6.tgz";
-        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.8.1.tgz";
+        name = "express-session-1.8.1.tgz";
+        sha1 = "04c1fa87c5e369ed737be6ae834a3b1773c5f01b";
       })
     ];
     buildInputs =
       (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-session" ];
@@ -6025,7 +6302,8 @@
   by-spec."extend"."*" =
     self.by-version."extend"."1.3.0";
   by-version."extend"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.3.0";
+    name = "extend-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
@@ -6035,8 +6313,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
@@ -6045,7 +6323,8 @@
   by-spec."extend"."~1.2.1" =
     self.by-version."extend"."1.2.1";
   by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.2.1";
+    name = "extend-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
@@ -6055,16 +6334,19 @@
     ];
     buildInputs =
       (self.nativeDeps."extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
   };
+  by-spec."extend"."~1.3.0" =
+    self.by-version."extend"."1.3.0";
   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 = "node-extract-opts-2.2.0";
+    name = "extract-opts-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
@@ -6074,9 +6356,9 @@
     ];
     buildInputs =
       (self.nativeDeps."extract-opts" or []);
-    deps = [
-      self.by-version."typechecker"."2.0.8"
-    ];
+    deps = {
+      "typechecker-2.0.8" = self.by-version."typechecker"."2.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extract-opts" ];
@@ -6084,7 +6366,8 @@
   by-spec."extsprintf"."1.0.0" =
     self.by-version."extsprintf"."1.0.0";
   by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.0";
+    name = "extsprintf-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
@@ -6094,8 +6377,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
@@ -6103,7 +6386,8 @@
   by-spec."extsprintf"."1.0.2" =
     self.by-version."extsprintf"."1.0.2";
   by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.2";
+    name = "extsprintf-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
@@ -6113,8 +6397,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
@@ -6122,7 +6406,8 @@
   by-spec."eyes"."0.1.x" =
     self.by-version."eyes"."0.1.8";
   by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eyes-0.1.8";
+    name = "eyes-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
@@ -6132,8 +6417,8 @@
     ];
     buildInputs =
       (self.nativeDeps."eyes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eyes" ];
@@ -6143,7 +6428,8 @@
   by-spec."faye-websocket"."*" =
     self.by-version."faye-websocket"."0.7.2";
   by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-faye-websocket-0.7.2";
+    name = "faye-websocket-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.2.tgz";
@@ -6153,9 +6439,9 @@
     ];
     buildInputs =
       (self.nativeDeps."faye-websocket" or []);
-    deps = [
-      self.by-version."websocket-driver"."0.3.5"
-    ];
+    deps = {
+      "websocket-driver-0.3.5" = self.by-version."websocket-driver"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
@@ -6164,23 +6450,24 @@
   by-spec."faye-websocket"."0.7.2" =
     self.by-version."faye-websocket"."0.7.2";
   by-spec."fields"."~0.1.11" =
-    self.by-version."fields"."0.1.12";
-  by-version."fields"."0.1.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fields-0.1.12";
+    self.by-version."fields"."0.1.13";
+  by-version."fields"."0.1.13" = lib.makeOverridable self.buildNodePackage {
+    name = "fields-0.1.13";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fields/-/fields-0.1.12.tgz";
-        name = "fields-0.1.12.tgz";
-        sha1 = "ded2dfe1e0aad3576aed554bfb8f65a7e7404bc1";
+        url = "http://registry.npmjs.org/fields/-/fields-0.1.13.tgz";
+        name = "fields-0.1.13.tgz";
+        sha1 = "59feff36b6b737c67a9ecc4de1b16d24ed4465a5";
       })
     ];
     buildInputs =
       (self.nativeDeps."fields" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."keypress"."0.1.0"
-      self.by-version."sprintf"."0.1.4"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fields" ];
@@ -6188,7 +6475,8 @@
   by-spec."figures"."^1.0.1" =
     self.by-version."figures"."1.3.2";
   by-version."figures"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-figures-1.3.2";
+    name = "figures-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/figures/-/figures-1.3.2.tgz";
@@ -6198,42 +6486,17 @@
     ];
     buildInputs =
       (self.nativeDeps."figures" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "figures" ];
   };
-  by-spec."file-utils"."~0.2.0" =
-    self.by-version."file-utils"."0.2.0";
-  by-version."file-utils"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-file-utils-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/file-utils/-/file-utils-0.2.0.tgz";
-        name = "file-utils-0.2.0.tgz";
-        sha1 = "0372c89b19bd96fc9a02a180c91fad29e4dbacaa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."file-utils" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."iconv-lite"."0.2.11"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."isbinaryfile"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "file-utils" ];
-  };
   by-spec."fileset"."0.1.x" =
     self.by-version."fileset"."0.1.5";
   by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fileset-0.1.5";
+    name = "fileset-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
@@ -6243,10 +6506,10 @@
     ];
     buildInputs =
       (self.nativeDeps."fileset" or []);
-    deps = [
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."glob"."3.2.11"
-    ];
+    deps = {
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fileset" ];
@@ -6254,7 +6517,8 @@
   by-spec."finalhandler"."0.1.0" =
     self.by-version."finalhandler"."0.1.0";
   by-version."finalhandler"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finalhandler-0.1.0";
+    name = "finalhandler-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
@@ -6264,10 +6528,32 @@
     ];
     buildInputs =
       (self.nativeDeps."finalhandler" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."escape-html"."1.0.1"
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "finalhandler" ];
+  };
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "finalhandler-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+        name = "finalhandler-0.2.0.tgz";
+        sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."finalhandler" or []);
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "finalhandler" ];
@@ -6275,7 +6561,8 @@
   by-spec."findit".">=1.1.0 <2.0.0" =
     self.by-version."findit"."1.2.0";
   by-version."findit"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findit-1.2.0";
+    name = "findit-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
@@ -6285,8 +6572,8 @@
     ];
     buildInputs =
       (self.nativeDeps."findit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "findit" ];
@@ -6294,7 +6581,8 @@
   by-spec."findup-sync"."~0.1.0" =
     self.by-version."findup-sync"."0.1.3";
   by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findup-sync-0.1.3";
+    name = "findup-sync-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
@@ -6304,53 +6592,32 @@
     ];
     buildInputs =
       (self.nativeDeps."findup-sync" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "findup-sync" ];
   };
   by-spec."findup-sync"."~0.1.2" =
     self.by-version."findup-sync"."0.1.3";
-  by-spec."finished"."1.2.2" =
-    self.by-version."finished"."1.2.2";
-  by-version."finished"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finished-1.2.2";
+  by-spec."first-chunk-stream"."^1.0.0" =
+    self.by-version."first-chunk-stream"."1.0.0";
+  by-version."first-chunk-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "first-chunk-stream-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/finished/-/finished-1.2.2.tgz";
-        name = "finished-1.2.2.tgz";
-        sha1 = "41608eafadfd65683b46a1220bc4b1ec3daedcd8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "finished" ];
-  };
-  by-spec."finished"."~1.2.0" =
-    self.by-version."finished"."1.2.2";
-  by-spec."first-chunk-stream"."^0.1.0" =
-    self.by-version."first-chunk-stream"."0.1.0";
-  by-version."first-chunk-stream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-first-chunk-stream-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-0.1.0.tgz";
-        name = "first-chunk-stream-0.1.0.tgz";
-        sha1 = "755d3ec14d49a86e3d2fcc08beead5c0ca2b9c0a";
+        url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
+        name = "first-chunk-stream-1.0.0.tgz";
+        sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
       })
     ];
     buildInputs =
       (self.nativeDeps."first-chunk-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "first-chunk-stream" ];
@@ -6359,6 +6626,7 @@
     self.by-version."flatiron"."0.3.11";
   by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.11";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.11.tgz";
@@ -6368,12 +6636,12 @@
     ];
     buildInputs =
       (self.nativeDeps."flatiron" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."optimist"."0.6.0"
-      self.by-version."prompt"."0.2.11"
-      self.by-version."director"."1.1.10"
-    ];
+    deps = {
+      "broadway-0.2.9" = self.by-version."broadway"."0.2.9";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+      "prompt-0.2.11" = self.by-version."prompt"."0.2.11";
+      "director-1.1.10" = self.by-version."director"."1.1.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
@@ -6384,7 +6652,8 @@
   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 = "node-follow-redirects-0.0.3";
+    name = "follow-redirects-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
@@ -6394,9 +6663,9 @@
     ];
     buildInputs =
       (self.nativeDeps."follow-redirects" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "follow-redirects" ];
@@ -6404,7 +6673,8 @@
   by-spec."forEachAsync"."~2.2" =
     self.by-version."forEachAsync"."2.2.1";
   by-version."forEachAsync"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forEachAsync-2.2.1";
+    name = "forEachAsync-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz";
@@ -6414,9 +6684,9 @@
     ];
     buildInputs =
       (self.nativeDeps."forEachAsync" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-    ];
+    deps = {
+      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forEachAsync" ];
@@ -6424,7 +6694,8 @@
   by-spec."foreachasync"."3.x" =
     self.by-version."foreachasync"."3.0.0";
   by-version."foreachasync"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-foreachasync-3.0.0";
+    name = "foreachasync-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
@@ -6434,8 +6705,8 @@
     ];
     buildInputs =
       (self.nativeDeps."foreachasync" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "foreachasync" ];
@@ -6444,6 +6715,7 @@
     self.by-version."forever"."0.11.1";
   by-version."forever"."0.11.1" = lib.makeOverridable self.buildNodePackage {
     name = "forever-0.11.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever/-/forever-0.11.1.tgz";
@@ -6453,20 +6725,20 @@
     ];
     buildInputs =
       (self.nativeDeps."forever" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."cliff"."0.1.8"
-      self.by-version."flatiron"."0.3.11"
-      self.by-version."forever-monitor"."1.2.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."nssocket"."0.5.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."timespan"."2.3.0"
-      self.by-version."watch"."0.8.0"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.7.3"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "flatiron-0.3.11" = self.by-version."flatiron"."0.3.11";
+      "forever-monitor-1.2.3" = self.by-version."forever-monitor"."1.2.3";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "nssocket-0.5.1" = self.by-version."nssocket"."0.5.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "timespan-2.3.0" = self.by-version."timespan"."2.3.0";
+      "watch-0.8.0" = self.by-version."watch"."0.8.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever" ];
@@ -6475,7 +6747,8 @@
   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 = "node-forever-agent-0.2.0";
+    name = "forever-agent-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
@@ -6485,8 +6758,8 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
@@ -6494,7 +6767,8 @@
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
   by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-agent-0.5.2";
+    name = "forever-agent-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
@@ -6504,8 +6778,8 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
@@ -6513,7 +6787,8 @@
   by-spec."forever-monitor"."*" =
     self.by-version."forever-monitor"."1.3.0";
   by-version."forever-monitor"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.3.0";
+    name = "forever-monitor-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.3.0.tgz";
@@ -6523,14 +6798,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      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"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6539,7 +6814,8 @@
   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 = "node-forever-monitor-1.1.0";
+    name = "forever-monitor-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
@@ -6549,14 +6825,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      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"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.0.5" = self.by-version."minimatch"."0.0.5";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6564,7 +6840,8 @@
   by-spec."forever-monitor"."1.2.3" =
     self.by-version."forever-monitor"."1.2.3";
   by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.2.3";
+    name = "forever-monitor-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
@@ -6574,14 +6851,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      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"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6589,7 +6866,8 @@
   by-spec."form-data"."0.1.2" =
     self.by-version."form-data"."0.1.2";
   by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.2";
+    name = "form-data-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
@@ -6599,11 +6877,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6611,7 +6889,8 @@
   by-spec."form-data"."0.1.3" =
     self.by-version."form-data"."0.1.3";
   by-version."form-data"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.3";
+    name = "form-data-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
@@ -6621,11 +6900,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6633,7 +6912,8 @@
   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 = "node-form-data-0.0.10";
+    name = "form-data-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
@@ -6643,11 +6923,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6655,7 +6935,8 @@
   by-spec."form-data"."~0.1.0" =
     self.by-version."form-data"."0.1.4";
   by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.4";
+    name = "form-data-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
@@ -6665,11 +6946,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6677,7 +6958,8 @@
   by-spec."formatio"."~1.0" =
     self.by-version."formatio"."1.0.2";
   by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formatio-1.0.2";
+    name = "formatio-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
@@ -6687,9 +6969,9 @@
     ];
     buildInputs =
       (self.nativeDeps."formatio" or []);
-    deps = [
-      self.by-version."samsam"."1.1.1"
-    ];
+    deps = {
+      "samsam-1.1.1" = self.by-version."samsam"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formatio" ];
@@ -6697,7 +6979,8 @@
   by-spec."formidable"."1.0.11" =
     self.by-version."formidable"."1.0.11";
   by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.11";
+    name = "formidable-1.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
@@ -6707,8 +6990,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6716,7 +6999,8 @@
   by-spec."formidable"."1.0.13" =
     self.by-version."formidable"."1.0.13";
   by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.13";
+    name = "formidable-1.0.13";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
@@ -6726,8 +7010,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6735,7 +7019,8 @@
   by-spec."formidable"."1.0.14" =
     self.by-version."formidable"."1.0.14";
   by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.14";
+    name = "formidable-1.0.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
@@ -6745,8 +7030,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6754,7 +7039,8 @@
   by-spec."formidable"."1.0.9" =
     self.by-version."formidable"."1.0.9";
   by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.9";
+    name = "formidable-1.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
@@ -6764,8 +7050,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6773,7 +7059,8 @@
   by-spec."formidable"."1.0.x" =
     self.by-version."formidable"."1.0.15";
   by-version."formidable"."1.0.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.15";
+    name = "formidable-1.0.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.15.tgz";
@@ -6783,8 +7070,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6792,7 +7079,8 @@
   by-spec."fresh"."0.1.0" =
     self.by-version."fresh"."0.1.0";
   by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.1.0";
+    name = "fresh-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
@@ -6802,8 +7090,8 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
@@ -6811,7 +7099,8 @@
   by-spec."fresh"."0.2.0" =
     self.by-version."fresh"."0.2.0";
   by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.0";
+    name = "fresh-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
@@ -6821,8 +7110,8 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
@@ -6830,7 +7119,8 @@
   by-spec."fresh"."0.2.2" =
     self.by-version."fresh"."0.2.2";
   by-version."fresh"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.2";
+    name = "fresh-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
@@ -6840,18 +7130,39 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "fresh-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+        name = "fresh-0.2.4.tgz";
+        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
   by-spec."fresh"."~0.2.1" =
-    self.by-version."fresh"."0.2.2";
+    self.by-version."fresh"."0.2.4";
   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 = "node-fs-extra-0.6.4";
+    name = "fs-extra-0.6.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
@@ -6861,12 +7172,12 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-extra" or []);
-    deps = [
-      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.8"
-    ];
+    deps = {
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "jsonfile-1.0.1" = self.by-version."jsonfile"."1.0.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-extra" ];
@@ -6874,7 +7185,8 @@
   by-spec."fs-vacuum"."~1.2.1" =
     self.by-version."fs-vacuum"."1.2.1";
   by-version."fs-vacuum"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-vacuum-1.2.1";
+    name = "fs-vacuum-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.1.tgz";
@@ -6884,10 +7196,10 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-vacuum" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-vacuum" ];
@@ -6895,7 +7207,8 @@
   by-spec."fs-walk"."*" =
     self.by-version."fs-walk"."0.0.1";
   by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-walk-0.0.1";
+    name = "fs-walk-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
@@ -6905,9 +7218,9 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-walk" or []);
-    deps = [
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-walk" ];
@@ -6916,7 +7229,8 @@
   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 = "node-fs.extra-1.2.1";
+    name = "fs.extra-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
@@ -6926,11 +7240,11 @@
     ];
     buildInputs =
       (self.nativeDeps."fs.extra" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."fs-extra"."0.6.4"
-      self.by-version."walk"."2.2.1"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "fs-extra-0.6.4" = self.by-version."fs-extra"."0.6.4";
+      "walk-2.2.1" = self.by-version."walk"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs.extra" ];
@@ -6938,7 +7252,8 @@
   by-spec."fsevents"."pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138" =
     self.by-version."fsevents"."0.2.1";
   by-version."fsevents"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fsevents-0.2.1";
+    name = "fsevents-0.2.1";
+    bin = false;
     src = [
       (fetchgit {
         url = "git://github.com/pipobscure/fsevents.git";
@@ -6948,71 +7263,70 @@
     ];
     buildInputs =
       (self.nativeDeps."fsevents" or []);
-    deps = [
-      self.by-version."nan"."0.8.0"
-    ];
+    deps = {
+      "nan-0.8.0" = self.by-version."nan"."0.8.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fsevents" ];
   };
-  by-spec."fstream"."0" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.31";
+  by-spec."fstream"."^1.0.0" =
+    self.by-version."fstream"."1.0.2";
+  by-version."fstream"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+        url = "http://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz";
+        name = "fstream-1.0.2.tgz";
+        sha1 = "56930ff1b4d4d7b1a689c8656b3a11e744ab92c6";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  by-spec."fstream"."^1.0.0" =
+  by-spec."fstream"."^1.0.2" =
     self.by-version."fstream"."1.0.2";
-  by-version."fstream"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-1.0.2";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-0.1.31";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz";
-        name = "fstream-1.0.2.tgz";
-        sha1 = "56930ff1b4d4d7b1a689c8656b3a11e744ab92c6";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  by-spec."fstream"."^1.0.2" =
+  by-spec."fstream"."~1.0.2" =
     self.by-version."fstream"."1.0.2";
-  by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.31";
-  by-spec."fstream"."~0.1.29" =
-    self.by-version."fstream"."0.1.31";
-  by-spec."fstream"."~0.1.8" =
-    self.by-version."fstream"."0.1.31";
   by-spec."fstream-ignore"."^1.0.0" =
     self.by-version."fstream-ignore"."1.0.1";
   by-version."fstream-ignore"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-ignore-1.0.1";
+    name = "fstream-ignore-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.1.tgz";
@@ -7022,32 +7336,33 @@
     ];
     buildInputs =
       (self.nativeDeps."fstream-ignore" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-    ];
+    deps = {
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream-ignore" ];
   };
-  by-spec."fstream-npm"."~0.1.7" =
-    self.by-version."fstream-npm"."0.1.8";
-  by-version."fstream-npm"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-npm-0.1.8";
+  by-spec."fstream-npm"."~1.0.0" =
+    self.by-version."fstream-npm"."1.0.0";
+  by-version."fstream-npm"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-npm-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.8.tgz";
-        name = "fstream-npm-0.1.8.tgz";
-        sha1 = "38a70fdeb510a443e1a5378d90413403fc724fa8";
+        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.0.tgz";
+        name = "fstream-npm-1.0.0.tgz";
+        sha1 = "0262c95c771d393e7cf59fcfeabce621703f3d27";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream-npm" or []);
-    deps = [
-      self.by-version."fstream-ignore"."1.0.1"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "fstream-ignore-1.0.1" = self.by-version."fstream-ignore"."1.0.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream-npm" ];
@@ -7055,7 +7370,8 @@
   by-spec."gaze"."^0.5.1" =
     self.by-version."gaze"."0.5.1";
   by-version."gaze"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gaze-0.5.1";
+    name = "gaze-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
@@ -7065,9 +7381,9 @@
     ];
     buildInputs =
       (self.nativeDeps."gaze" or []);
-    deps = [
-      self.by-version."globule"."0.1.0"
-    ];
+    deps = {
+      "globule-0.1.0" = self.by-version."globule"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gaze" ];
@@ -7076,6 +7392,7 @@
     self.by-version."getmac"."1.0.6";
   by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "getmac-1.0.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
@@ -7085,9 +7402,9 @@
     ];
     buildInputs =
       (self.nativeDeps."getmac" or []);
-    deps = [
-      self.by-version."extract-opts"."2.2.0"
-    ];
+    deps = {
+      "extract-opts-2.2.0" = self.by-version."extract-opts"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "getmac" ];
@@ -7095,7 +7412,8 @@
   by-spec."getobject"."~0.1.0" =
     self.by-version."getobject"."0.1.0";
   by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-getobject-0.1.0";
+    name = "getobject-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
@@ -7105,115 +7423,86 @@
     ];
     buildInputs =
       (self.nativeDeps."getobject" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "getobject" ];
   };
-  by-spec."github-url-from-git"."^1.3.0" =
-    self.by-version."github-url-from-git"."1.3.0";
-  by-version."github-url-from-git"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.3.0";
+  by-spec."git-run"."*" =
+    self.by-version."git-run"."0.2.0";
+  by-version."git-run"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "git-run-0.2.0";
+    bin = true;
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.3.0.tgz";
-        name = "github-url-from-git-1.3.0.tgz";
-        sha1 = "6e79d9779632ca78aa645c67bb419f70e51d69f7";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/git-run/-/git-run-0.2.0.tgz";
+        name = "git-run-0.2.0.tgz";
+        sha1 = "9aa3b203edbb7fcfbc06604c43454d47627d8ac0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
+      (self.nativeDeps."git-run" or []);
+    deps = {
+      "minilog-2.0.6" = self.by-version."minilog"."2.0.6";
+      "tabtab-0.0.2" = self.by-version."tabtab"."0.0.2";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "git-run" ];
   };
-  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 = "node-github-url-from-git-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        name = "github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-git" ];
-  };
-  by-spec."github-url-from-git"."~1.2.0" =
-    self.by-version."github-url-from-git"."1.2.0";
-  by-version."github-url-from-git"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.2.0";
+  "git-run" = self.by-version."git-run"."0.2.0";
+  by-spec."github-url-from-git"."^1.3.0" =
+    self.by-version."github-url-from-git"."1.4.0";
+  by-version."github-url-from-git"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-git-1.4.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.2.0.tgz";
-        name = "github-url-from-git-1.2.0.tgz";
-        sha1 = "7ace1fc6920f790d2967faed61688902320c37d2";
+        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz";
+        name = "github-url-from-git-1.4.0.tgz";
+        sha1 = "285e6b520819001bde128674704379e4ff03e0de";
       })
     ];
     buildInputs =
       (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-git" ];
   };
-  by-spec."github-url-from-username-repo"."^0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-version."github-url-from-username-repo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-username-repo-0.2.0";
+  by-spec."github-url-from-git"."~1.4.0" =
+    self.by-version."github-url-from-git"."1.4.0";
+  by-spec."github-url-from-username-repo"."^1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-version."github-url-from-username-repo"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-username-repo-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.2.0.tgz";
-        name = "github-url-from-username-repo-0.2.0.tgz";
-        sha1 = "7590b4fa605b7a6cbb7e06ffcd9d253210f9dbe1";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz";
+        name = "github-url-from-username-repo-1.0.2.tgz";
+        sha1 = "7dd79330d2abe69c10c2cef79714c97215791dfa";
       })
     ];
     buildInputs =
       (self.nativeDeps."github-url-from-username-repo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-username-repo" ];
   };
-  by-spec."github-url-from-username-repo"."~0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-spec."glob"."3" =
-    self.by-version."glob"."3.2.11";
-  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
-        name = "glob-3.2.11.tgz";
-        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
+  by-spec."github-url-from-username-repo"."~1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-spec."github-url-from-username-repo"."~1.0.2" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
   by-spec."glob"."3 || 4" =
     self.by-version."glob"."4.0.5";
   by-version."glob"."4.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-4.0.5";
+    name = "glob-4.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-4.0.5.tgz";
@@ -7223,12 +7512,12 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."once"."1.3.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
@@ -7236,7 +7525,8 @@
   by-spec."glob"."3.2.3" =
     self.by-version."glob"."3.2.3";
   by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.3";
+    name = "glob-3.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
@@ -7246,17 +7536,37 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
   by-spec."glob"."3.2.x" =
     self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+        name = "glob-3.2.11.tgz";
+        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."glob" or []);
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "glob" ];
+  };
   by-spec."glob"."3.x" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."4.x" =
@@ -7272,7 +7582,8 @@
   by-spec."glob"."~3.1.21" =
     self.by-version."glob"."3.1.21";
   by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.1.21";
+    name = "glob-3.1.21";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
@@ -7282,11 +7593,11 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."1.2.3"
-      self.by-version."inherits"."1.0.0"
-    ];
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
@@ -7299,12 +7610,13 @@
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.2.9" =
     self.by-version."glob"."3.2.11";
-  by-spec."glob"."~4.0.3" =
+  by-spec."glob"."~4.0.5" =
     self.by-version."glob"."4.0.5";
   by-spec."glob-stream"."^3.1.5" =
     self.by-version."glob-stream"."3.1.15";
   by-version."glob-stream"."3.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-stream-3.1.15";
+    name = "glob-stream-3.1.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob-stream/-/glob-stream-3.1.15.tgz";
@@ -7314,14 +7626,14 @@
     ];
     buildInputs =
       (self.nativeDeps."glob-stream" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."ordered-read-streams"."0.0.8"
-      self.by-version."glob2base"."0.0.11"
-      self.by-version."unique-stream"."1.0.0"
-      self.by-version."through2"."0.6.1"
-    ];
+    deps = {
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "ordered-read-streams-0.0.8" = self.by-version."ordered-read-streams"."0.0.8";
+      "glob2base-0.0.11" = self.by-version."glob2base"."0.0.11";
+      "unique-stream-1.0.0" = self.by-version."unique-stream"."1.0.0";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob-stream" ];
@@ -7329,7 +7641,8 @@
   by-spec."glob-watcher"."^0.0.6" =
     self.by-version."glob-watcher"."0.0.6";
   by-version."glob-watcher"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-watcher-0.0.6";
+    name = "glob-watcher-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
@@ -7339,9 +7652,9 @@
     ];
     buildInputs =
       (self.nativeDeps."glob-watcher" or []);
-    deps = [
-      self.by-version."gaze"."0.5.1"
-    ];
+    deps = {
+      "gaze-0.5.1" = self.by-version."gaze"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob-watcher" ];
@@ -7349,7 +7662,8 @@
   by-spec."glob2base"."^0.0.11" =
     self.by-version."glob2base"."0.0.11";
   by-version."glob2base"."0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob2base-0.0.11";
+    name = "glob2base-0.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob2base/-/glob2base-0.0.11.tgz";
@@ -7359,9 +7673,9 @@
     ];
     buildInputs =
       (self.nativeDeps."glob2base" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob2base" ];
@@ -7369,7 +7683,8 @@
   by-spec."globule"."~0.1.0" =
     self.by-version."globule"."0.1.0";
   by-version."globule"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-globule-0.1.0";
+    name = "globule-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
@@ -7379,38 +7694,20 @@
     ];
     buildInputs =
       (self.nativeDeps."globule" or []);
-    deps = [
-      self.by-version."lodash"."1.0.1"
-      self.by-version."glob"."3.1.21"
-      self.by-version."minimatch"."0.2.14"
-    ];
+    deps = {
+      "lodash-1.0.1" = self.by-version."lodash"."1.0.1";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "globule" ];
   };
-  by-spec."graceful-fs"."2" =
-    self.by-version."graceful-fs"."2.0.3";
-  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-2.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-        name = "graceful-fs-2.0.3.tgz";
-        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
   by-spec."graceful-fs"."2 || 3" =
     self.by-version."graceful-fs"."3.0.2";
   by-version."graceful-fs"."3.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-3.0.2";
+    name = "graceful-fs-3.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
@@ -7420,14 +7717,16 @@
     ];
     buildInputs =
       (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
   by-spec."graceful-fs"."3" =
     self.by-version."graceful-fs"."3.0.2";
+  by-spec."graceful-fs".">3.0.1 <4.0.0-0" =
+    self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."^3.0.0" =
     self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."^3.0.2" =
@@ -7435,7 +7734,8 @@
   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 = "node-graceful-fs-1.2.3";
+    name = "graceful-fs-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
@@ -7445,8 +7745,8 @@
     ];
     buildInputs =
       (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
@@ -7455,10 +7755,26 @@
     self.by-version."graceful-fs"."1.2.3";
   by-spec."graceful-fs"."~2.0.0" =
     self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+        name = "graceful-fs-2.0.3.tgz";
+        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
   by-spec."graceful-fs"."~2.0.1" =
     self.by-version."graceful-fs"."2.0.3";
-  by-spec."graceful-fs"."~2.0.3" =
-    self.by-version."graceful-fs"."2.0.3";
   by-spec."graceful-fs"."~3.0.0" =
     self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."~3.0.1" =
@@ -7468,7 +7784,8 @@
   by-spec."gridfs-stream"."*" =
     self.by-version."gridfs-stream"."0.5.1";
   by-version."gridfs-stream"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gridfs-stream-0.5.1";
+    name = "gridfs-stream-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.5.1.tgz";
@@ -7478,8 +7795,8 @@
     ];
     buildInputs =
       (self.nativeDeps."gridfs-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gridfs-stream" ];
@@ -7488,7 +7805,8 @@
   by-spec."growl"."1.7.x" =
     self.by-version."growl"."1.7.0";
   by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.7.0";
+    name = "growl-1.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
@@ -7498,8 +7816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."growl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
@@ -7507,7 +7825,8 @@
   by-spec."growl"."1.8.x" =
     self.by-version."growl"."1.8.1";
   by-version."growl"."1.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.8.1";
+    name = "growl-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
@@ -7517,8 +7836,8 @@
     ];
     buildInputs =
       (self.nativeDeps."growl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
@@ -7526,7 +7845,8 @@
   by-spec."grunt"."0.4.x" =
     self.by-version."grunt"."0.4.5";
   by-version."grunt"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-0.4.5";
+    name = "grunt-0.4.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
@@ -7536,28 +7856,28 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt" or []);
-    deps = [
-      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.14"
-      self.by-version."findup-sync"."0.1.3"
-      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.14"
-      self.by-version."nopt"."1.0.10"
-      self.by-version."rimraf"."2.2.8"
-      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"
-      self.by-version."exit"."0.1.2"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."grunt-legacy-util"."0.2.0"
-      self.by-version."grunt-legacy-log"."0.1.1"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
+      "grunt-legacy-log-0.1.1" = self.by-version."grunt-legacy-log"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
@@ -7572,6 +7892,7 @@
     self.by-version."grunt-cli"."0.1.13";
   by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-cli-0.1.13";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz";
@@ -7581,11 +7902,11 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-cli" or []);
-    deps = [
-      self.by-version."nopt"."1.0.10"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."resolve"."0.3.1"
-    ];
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-cli" ];
@@ -7594,7 +7915,8 @@
   by-spec."grunt-contrib-cssmin"."*" =
     self.by-version."grunt-contrib-cssmin"."0.10.0";
   by-version."grunt-contrib-cssmin"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-cssmin-0.10.0";
+    name = "grunt-contrib-cssmin-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.10.0.tgz";
@@ -7604,11 +7926,11 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-cssmin" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."clean-css"."2.2.13"
-      self.by-version."maxmin"."0.2.2"
-    ];
+    deps = {
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+      "clean-css-2.2.15" = self.by-version."clean-css"."2.2.15";
+      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7618,7 +7940,8 @@
   by-spec."grunt-contrib-jshint"."*" =
     self.by-version."grunt-contrib-jshint"."0.10.0";
   by-version."grunt-contrib-jshint"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-jshint-0.10.0";
+    name = "grunt-contrib-jshint-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz";
@@ -7628,10 +7951,10 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-jshint" or []);
-    deps = [
-      self.by-version."jshint"."2.5.4"
-      self.by-version."hooker"."0.2.3"
-    ];
+    deps = {
+      "jshint-2.5.5" = self.by-version."jshint"."2.5.5";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7641,7 +7964,8 @@
   by-spec."grunt-contrib-less"."*" =
     self.by-version."grunt-contrib-less"."0.11.4";
   by-version."grunt-contrib-less"."0.11.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-less-0.11.4";
+    name = "grunt-contrib-less-0.11.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.4.tgz";
@@ -7651,13 +7975,13 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-less" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."chalk"."0.5.1"
-      self.by-version."less"."1.7.4"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.1.0"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "less-1.7.5" = self.by-version."less"."1.7.5";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "maxmin-0.1.0" = self.by-version."maxmin"."0.1.0";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7667,7 +7991,8 @@
   by-spec."grunt-contrib-requirejs"."*" =
     self.by-version."grunt-contrib-requirejs"."0.4.4";
   by-version."grunt-contrib-requirejs"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-requirejs-0.4.4";
+    name = "grunt-contrib-requirejs-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.4.tgz";
@@ -7677,9 +8002,9 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-requirejs" or []);
-    deps = [
-      self.by-version."requirejs"."2.1.14"
-    ];
+    deps = {
+      "requirejs-2.1.15" = self.by-version."requirejs"."2.1.15";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7689,7 +8014,8 @@
   by-spec."grunt-contrib-uglify"."*" =
     self.by-version."grunt-contrib-uglify"."0.5.1";
   by-version."grunt-contrib-uglify"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-uglify-0.5.1";
+    name = "grunt-contrib-uglify-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
@@ -7699,12 +8025,12 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-uglify" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.2.2"
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7712,32 +8038,34 @@
   };
   "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
   by-spec."grunt-karma"."*" =
-    self.by-version."grunt-karma"."0.8.3";
-  by-version."grunt-karma"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-karma-0.8.3";
+    self.by-version."grunt-karma"."0.9.0";
+  by-version."grunt-karma"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-karma-0.9.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz";
-        name = "grunt-karma-0.8.3.tgz";
-        sha1 = "e9ecf718153af1914aa53602a37f85de04310e7f";
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.9.0.tgz";
+        name = "grunt-karma-0.9.0.tgz";
+        sha1 = "de3d6ac478ffca350e729f3457457d5b0910e96b";
       })
     ];
     buildInputs =
       (self.nativeDeps."grunt-karma" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.by-version."grunt-karma"."0.8.3";
+  "grunt-karma" = self.by-version."grunt-karma"."0.9.0";
   by-spec."grunt-legacy-log"."~0.1.0" =
     self.by-version."grunt-legacy-log"."0.1.1";
   by-version."grunt-legacy-log"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-log-0.1.1";
+    name = "grunt-legacy-log-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz";
@@ -7747,12 +8075,12 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-legacy-log" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."colors"."0.6.2"
-    ];
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-legacy-log" ];
@@ -7760,7 +8088,8 @@
   by-spec."grunt-legacy-util"."~0.2.0" =
     self.by-version."grunt-legacy-util"."0.2.0";
   by-version."grunt-legacy-util"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-util-0.2.0";
+    name = "grunt-legacy-util-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
@@ -7770,15 +8099,15 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-legacy-util" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."async"."0.1.22"
-      self.by-version."lodash"."0.9.2"
-      self.by-version."exit"."0.1.2"
-      self.by-version."underscore.string"."2.2.1"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-legacy-util" ];
@@ -7786,7 +8115,8 @@
   by-spec."grunt-sed"."*" =
     self.by-version."grunt-sed"."0.1.1";
   by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-sed-0.1.1";
+    name = "grunt-sed-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
@@ -7796,9 +8126,9 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-sed" or []);
-    deps = [
-      self.by-version."replace"."0.2.9"
-    ];
+    deps = {
+      "replace-0.2.10" = self.by-version."replace"."0.2.10";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7809,6 +8139,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
@@ -7818,22 +8149,85 @@
     ];
     buildInputs =
       (self.nativeDeps."guifi-earth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."jade"."1.5.0"
-      self.by-version."q"."2.0.2"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."msgpack"."0.2.4"
-    ];
+    deps = {
+      "coffee-script-1.8.0" = self.by-version."coffee-script"."1.8.0";
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+      "q-2.0.2" = self.by-version."q"."2.0.2";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "msgpack-0.2.4" = self.by-version."msgpack"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "guifi-earth" ];
   };
   "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gulp"."*" =
+    self.by-version."gulp"."3.8.8";
+  by-version."gulp"."3.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "gulp-3.8.8";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/gulp/-/gulp-3.8.8.tgz";
+        name = "gulp-3.8.8.tgz";
+        sha1 = "0b0473e7cdfd04c785184513938397d4552cfe96";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."gulp" or []);
+    deps = {
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "deprecated-0.0.1" = self.by-version."deprecated"."0.0.1";
+      "gulp-util-3.0.1" = self.by-version."gulp-util"."3.0.1";
+      "interpret-0.3.6" = self.by-version."interpret"."0.3.6";
+      "liftoff-0.12.1" = self.by-version."liftoff"."0.12.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "orchestrator-0.3.7" = self.by-version."orchestrator"."0.3.7";
+      "pretty-hrtime-0.2.1" = self.by-version."pretty-hrtime"."0.2.1";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "tildify-1.0.0" = self.by-version."tildify"."1.0.0";
+      "vinyl-fs-0.3.7" = self.by-version."vinyl-fs"."0.3.7";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "gulp" ];
+  };
+  "gulp" = self.by-version."gulp"."3.8.8";
+  by-spec."gulp-util"."^3.0.0" =
+    self.by-version."gulp-util"."3.0.1";
+  by-version."gulp-util"."3.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "gulp-util-3.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/gulp-util/-/gulp-util-3.0.1.tgz";
+        name = "gulp-util-3.0.1.tgz";
+        sha1 = "8214894d05c2bb6cc7f5544918a51ddf88180f00";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."gulp-util" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "dateformat-1.0.8-1.2.3" = self.by-version."dateformat"."1.0.8-1.2.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+      "lodash.template-2.4.1" = self.by-version."lodash.template"."2.4.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "multipipe-0.1.1" = self.by-version."multipipe"."0.1.1";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+      "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "gulp-util" ];
+  };
   by-spec."gzip-size"."^0.1.0" =
     self.by-version."gzip-size"."0.1.1";
   by-version."gzip-size"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "gzip-size-0.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz";
@@ -7843,10 +8237,10 @@
     ];
     buildInputs =
       (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."zlib-browserify"."0.0.3"
-    ];
+    deps = {
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "zlib-browserify-0.0.3" = self.by-version."zlib-browserify"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzip-size" ];
@@ -7855,6 +8249,7 @@
     self.by-version."gzip-size"."0.2.0";
   by-version."gzip-size"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "gzip-size-0.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz";
@@ -7864,10 +8259,10 @@
     ];
     buildInputs =
       (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."browserify-zlib"."0.1.4"
-    ];
+    deps = {
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzip-size" ];
@@ -7875,7 +8270,8 @@
   by-spec."gzippo"."*" =
     self.by-version."gzippo"."0.2.0";
   by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gzippo-0.2.0";
+    name = "gzippo-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
@@ -7885,9 +8281,9 @@
     ];
     buildInputs =
       (self.nativeDeps."gzippo" or []);
-    deps = [
-      self.by-version."send"."0.8.3"
-    ];
+    deps = {
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzippo" ];
@@ -7897,6 +8293,7 @@
     self.by-version."handlebars"."1.3.0";
   by-version."handlebars"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
@@ -7906,10 +8303,10 @@
     ];
     buildInputs =
       (self.nativeDeps."handlebars" or []);
-    deps = [
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-js"."2.3.6"
-    ];
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "handlebars" ];
@@ -7918,6 +8315,7 @@
     self.by-version."has-ansi"."0.1.0";
   by-version."has-ansi"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "has-ansi-0.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
@@ -7927,9 +8325,9 @@
     ];
     buildInputs =
       (self.nativeDeps."has-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "has-ansi" ];
@@ -7937,7 +8335,8 @@
   by-spec."has-color"."~0.1.0" =
     self.by-version."has-color"."0.1.7";
   by-version."has-color"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-has-color-0.1.7";
+    name = "has-color-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
@@ -7947,8 +8346,8 @@
     ];
     buildInputs =
       (self.nativeDeps."has-color" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "has-color" ];
@@ -7956,7 +8355,8 @@
   by-spec."hasher"."~1.2.0" =
     self.by-version."hasher"."1.2.0";
   by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hasher-1.2.0";
+    name = "hasher-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
@@ -7966,9 +8366,9 @@
     ];
     buildInputs =
       (self.nativeDeps."hasher" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hasher" ];
@@ -7976,7 +8376,8 @@
   by-spec."hashring"."1.0.1" =
     self.by-version."hashring"."1.0.1";
   by-version."hashring"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hashring-1.0.1";
+    name = "hashring-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz";
@@ -7986,10 +8387,10 @@
     ];
     buildInputs =
       (self.nativeDeps."hashring" or []);
-    deps = [
-      self.by-version."connection-parse"."0.0.7"
-      self.by-version."simple-lru-cache"."0.0.1"
-    ];
+    deps = {
+      "connection-parse-0.0.7" = self.by-version."connection-parse"."0.0.7";
+      "simple-lru-cache-0.0.1" = self.by-version."simple-lru-cache"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hashring" ];
@@ -7997,7 +8398,8 @@
   by-spec."hat"."*" =
     self.by-version."hat"."0.0.3";
   by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hat-0.0.3";
+    name = "hat-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
@@ -8007,8 +8409,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hat" ];
@@ -8016,7 +8418,8 @@
   by-spec."hawk"."1.1.1" =
     self.by-version."hawk"."1.1.1";
   by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.1.1";
+    name = "hawk-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
@@ -8026,12 +8429,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8039,7 +8442,8 @@
   by-spec."hawk"."~0.10.2" =
     self.by-version."hawk"."0.10.2";
   by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-0.10.2";
+    name = "hawk-0.10.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
@@ -8049,12 +8453,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
+      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8062,7 +8466,8 @@
   by-spec."hawk"."~1.0.0" =
     self.by-version."hawk"."1.0.0";
   by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.0.0";
+    name = "hawk-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
@@ -8072,12 +8477,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8086,6 +8491,7 @@
     self.by-version."he"."0.3.6";
   by-version."he"."0.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "he-0.3.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
@@ -8095,8 +8501,8 @@
     ];
     buildInputs =
       (self.nativeDeps."he" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "he" ];
@@ -8105,6 +8511,7 @@
     self.by-version."hipache"."0.3.1";
   by-version."hipache"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "hipache-0.3.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hipache/-/hipache-0.3.1.tgz";
@@ -8114,12 +8521,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hipache" or []);
-    deps = [
-      self.by-version."http-proxy"."1.0.2"
-      self.by-version."redis"."0.10.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimist"."0.0.8"
-    ];
+    deps = {
+      "http-proxy-1.0.2" = self.by-version."http-proxy"."1.0.2";
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hipache" ];
@@ -8128,7 +8535,8 @@
   by-spec."hiredis"."*" =
     self.by-version."hiredis"."0.1.17";
   by-version."hiredis"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hiredis-0.1.17";
+    name = "hiredis-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz";
@@ -8138,10 +8546,10 @@
     ];
     buildInputs =
       (self.nativeDeps."hiredis" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.1.2"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.1.2" = self.by-version."nan"."1.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hiredis" ];
@@ -8149,7 +8557,8 @@
   by-spec."hoek"."0.7.x" =
     self.by-version."hoek"."0.7.6";
   by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.7.6";
+    name = "hoek-0.7.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
@@ -8159,8 +8568,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
@@ -8168,7 +8577,8 @@
   by-spec."hoek"."0.9.x" =
     self.by-version."hoek"."0.9.1";
   by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.9.1";
+    name = "hoek-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
@@ -8178,8 +8588,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
@@ -8187,7 +8597,8 @@
   by-spec."hooker"."~0.2.3" =
     self.by-version."hooker"."0.2.3";
   by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooker-0.2.3";
+    name = "hooker-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
@@ -8197,8 +8608,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hooker" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hooker" ];
@@ -8206,7 +8617,8 @@
   by-spec."hooks"."0.2.1" =
     self.by-version."hooks"."0.2.1";
   by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooks-0.2.1";
+    name = "hooks-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
@@ -8216,8 +8628,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hooks" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hooks" ];
@@ -8225,7 +8637,8 @@
   by-spec."htmlparser2"."3.7.x" =
     self.by-version."htmlparser2"."3.7.3";
   by-version."htmlparser2"."3.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-htmlparser2-3.7.3";
+    name = "htmlparser2-3.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
@@ -8235,13 +8648,13 @@
     ];
     buildInputs =
       (self.nativeDeps."htmlparser2" or []);
-    deps = [
-      self.by-version."domhandler"."2.2.0"
-      self.by-version."domutils"."1.5.0"
-      self.by-version."domelementtype"."1.1.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."entities"."1.0.0"
-    ];
+    deps = {
+      "domhandler-2.2.0" = self.by-version."domhandler"."2.2.0";
+      "domutils-1.5.0" = self.by-version."domutils"."1.5.0";
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "entities-1.0.0" = self.by-version."entities"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
@@ -8249,7 +8662,8 @@
   by-spec."http-auth"."2.0.7" =
     self.by-version."http-auth"."2.0.7";
   by-version."http-auth"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-auth-2.0.7";
+    name = "http-auth-2.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
@@ -8259,31 +8673,32 @@
     ];
     buildInputs =
       (self.nativeDeps."http-auth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.6.3"
-      self.by-version."node-uuid"."1.4.1"
-    ];
+    deps = {
+      "coffee-script-1.6.3" = self.by-version."coffee-script"."1.6.3";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-auth" ];
   };
   by-spec."http-browserify"."^1.4.0" =
-    self.by-version."http-browserify"."1.5.0";
-  by-version."http-browserify"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-browserify-1.5.0";
+    self.by-version."http-browserify"."1.6.0";
+  by-version."http-browserify"."1.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-browserify-1.6.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.5.0.tgz";
-        name = "http-browserify-1.5.0.tgz";
-        sha1 = "9ecc18daa92289793fed28f9f14b0a0ce6f98040";
+        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.6.0.tgz";
+        name = "http-browserify-1.6.0.tgz";
+        sha1 = "0525508f61e351ca7fad6a8a53c8bf104be0a847";
       })
     ];
     buildInputs =
       (self.nativeDeps."http-browserify" or []);
-    deps = [
-      self.by-version."Base64"."0.2.1"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "Base64-0.2.1" = self.by-version."Base64"."0.2.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-browserify" ];
@@ -8291,7 +8706,8 @@
   by-spec."http-proxy"."1.0.2" =
     self.by-version."http-proxy"."1.0.2";
   by-version."http-proxy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-proxy-1.0.2";
+    name = "http-proxy-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-proxy/-/http-proxy-1.0.2.tgz";
@@ -8301,9 +8717,9 @@
     ];
     buildInputs =
       (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."eventemitter3"."0.1.4"
-    ];
+    deps = {
+      "eventemitter3-0.1.5" = self.by-version."eventemitter3"."0.1.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
@@ -8312,6 +8728,7 @@
     self.by-version."http-proxy"."0.10.4";
   by-version."http-proxy"."0.10.4" = lib.makeOverridable self.buildNodePackage {
     name = "http-proxy-0.10.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz";
@@ -8321,12 +8738,12 @@
     ];
     buildInputs =
       (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."utile"."0.2.1"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
@@ -8334,7 +8751,8 @@
   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 = "node-http-signature-0.9.11";
+    name = "http-signature-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
@@ -8344,11 +8762,11 @@
     ];
     buildInputs =
       (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
@@ -8356,7 +8774,8 @@
   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 = "node-http-signature-0.10.0";
+    name = "http-signature-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
@@ -8366,11 +8785,11 @@
     ];
     buildInputs =
       (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
@@ -8378,7 +8797,8 @@
   by-spec."https-browserify"."~0.0.0" =
     self.by-version."https-browserify"."0.0.0";
   by-version."https-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-https-browserify-0.0.0";
+    name = "https-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz";
@@ -8388,8 +8808,8 @@
     ];
     buildInputs =
       (self.nativeDeps."https-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "https-browserify" ];
@@ -8397,7 +8817,8 @@
   by-spec."humanize"."~0.0.9" =
     self.by-version."humanize"."0.0.9";
   by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-humanize-0.0.9";
+    name = "humanize-0.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
@@ -8407,8 +8828,8 @@
     ];
     buildInputs =
       (self.nativeDeps."humanize" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "humanize" ];
@@ -8416,7 +8837,8 @@
   by-spec."i"."0.3.x" =
     self.by-version."i"."0.3.2";
   by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i-0.3.2";
+    name = "i-0.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
@@ -8426,8 +8848,8 @@
     ];
     buildInputs =
       (self.nativeDeps."i" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "i" ];
@@ -8435,7 +8857,8 @@
   by-spec."i18next"."*" =
     self.by-version."i18next"."1.7.4";
   by-version."i18next"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i18next-1.7.4";
+    name = "i18next-1.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/i18next/-/i18next-1.7.4.tgz";
@@ -8445,9 +8868,9 @@
     ];
     buildInputs =
       (self.nativeDeps."i18next" or []);
-    deps = [
-      self.by-version."cookies"."0.5.0"
-    ];
+    deps = {
+      "cookies-0.5.0" = self.by-version."cookies"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "i18next" ];
@@ -8457,6 +8880,7 @@
     self.by-version."ibrik"."1.1.1";
   by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "ibrik-1.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ibrik/-/ibrik-1.1.1.tgz";
@@ -8466,43 +8890,25 @@
     ];
     buildInputs =
       (self.nativeDeps."ibrik" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."coffee-script-redux"."2.0.0-beta8"
-      self.by-version."istanbul"."0.2.16"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."which"."1.0.5"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "coffee-script-redux-2.0.0-beta8" = self.by-version."coffee-script-redux"."2.0.0-beta8";
+      "istanbul-0.2.16" = self.by-version."istanbul"."0.2.16";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "escodegen-1.1.0" = self.by-version."escodegen"."1.1.0";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ibrik" ];
   };
-  by-spec."iconv-lite"."0.4.3" =
-    self.by-version."iconv-lite"."0.4.3";
-  by-version."iconv-lite"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.3.tgz";
-        name = "iconv-lite-0.4.3.tgz";
-        sha1 = "9e7887793b769cc695eb22d2546a4fd2d79b7a1e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
   by-spec."iconv-lite"."0.4.4" =
     self.by-version."iconv-lite"."0.4.4";
   by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.4";
+    name = "iconv-lite-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
@@ -8512,8 +8918,8 @@
     ];
     buildInputs =
       (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
@@ -8521,7 +8927,8 @@
   by-spec."iconv-lite"."~0.2.11" =
     self.by-version."iconv-lite"."0.2.11";
   by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.2.11";
+    name = "iconv-lite-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
@@ -8531,8 +8938,8 @@
     ];
     buildInputs =
       (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
@@ -8540,20 +8947,21 @@
   by-spec."iconv-lite"."~0.4.3" =
     self.by-version."iconv-lite"."0.4.4";
   by-spec."ieee754"."~1.1.1" =
-    self.by-version."ieee754"."1.1.3";
-  by-version."ieee754"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ieee754-1.1.3";
+    self.by-version."ieee754"."1.1.4";
+  by-version."ieee754"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "ieee754-1.1.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.3.tgz";
-        name = "ieee754-1.1.3.tgz";
-        sha1 = "1d4baae872e15ba69f6ab7588a965e09d485ec50";
+        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.4.tgz";
+        name = "ieee754-1.1.4.tgz";
+        sha1 = "e3ec65200d4ad531d359aabdb6d3ec812699a30b";
       })
     ];
     buildInputs =
       (self.nativeDeps."ieee754" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ieee754" ];
@@ -8561,7 +8969,8 @@
   by-spec."indexof"."0.0.1" =
     self.by-version."indexof"."0.0.1";
   by-version."indexof"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-indexof-0.0.1";
+    name = "indexof-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
@@ -8571,8 +8980,8 @@
     ];
     buildInputs =
       (self.nativeDeps."indexof" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "indexof" ];
@@ -8580,7 +8989,8 @@
   by-spec."inflight"."~1.0.1" =
     self.by-version."inflight"."1.0.1";
   by-version."inflight"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inflight-1.0.1";
+    name = "inflight-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inflight/-/inflight-1.0.1.tgz";
@@ -8590,9 +9000,9 @@
     ];
     buildInputs =
       (self.nativeDeps."inflight" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inflight" ];
@@ -8600,7 +9010,8 @@
   by-spec."inherits"."1" =
     self.by-version."inherits"."1.0.0";
   by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-1.0.0";
+    name = "inherits-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
@@ -8610,8 +9021,8 @@
     ];
     buildInputs =
       (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
@@ -8621,7 +9032,8 @@
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-2.0.1";
+    name = "inherits-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
@@ -8631,8 +9043,8 @@
     ];
     buildInputs =
       (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
@@ -8650,7 +9062,8 @@
   by-spec."ini"."1" =
     self.by-version."ini"."1.2.1";
   by-version."ini"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.2.1";
+    name = "ini-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
@@ -8660,8 +9073,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ini" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
@@ -8673,7 +9086,8 @@
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
   by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.1.0";
+    name = "ini-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
@@ -8683,34 +9097,35 @@
     ];
     buildInputs =
       (self.nativeDeps."ini" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
   };
   by-spec."ini"."~1.2.0" =
     self.by-version."ini"."1.2.1";
-  by-spec."init-package-json"."~0.1.1" =
-    self.by-version."init-package-json"."0.1.2";
-  by-version."init-package-json"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-init-package-json-0.1.2";
+  by-spec."init-package-json"."~1.0.0" =
+    self.by-version."init-package-json"."1.0.1";
+  by-version."init-package-json"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "init-package-json-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.1.2.tgz";
-        name = "init-package-json-0.1.2.tgz";
-        sha1 = "9e232ccae0d5cf712cd7773b0f1fcd59b7edc2da";
+        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-1.0.1.tgz";
+        name = "init-package-json-1.0.1.tgz";
+        sha1 = "c01b08cc90504ebc448d57b468e66fc08293e8a8";
       })
     ];
     buildInputs =
       (self.nativeDeps."init-package-json" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."promzard"."0.2.2"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "promzard-0.2.2" = self.by-version."promzard"."0.2.2";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "init-package-json" ];
@@ -8718,7 +9133,8 @@
   by-spec."inline-source-map"."~0.3.0" =
     self.by-version."inline-source-map"."0.3.0";
   by-version."inline-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inline-source-map-0.3.0";
+    name = "inline-source-map-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz";
@@ -8728,9 +9144,9 @@
     ];
     buildInputs =
       (self.nativeDeps."inline-source-map" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inline-source-map" ];
@@ -8739,6 +9155,7 @@
     self.by-version."insert-module-globals"."6.1.0";
   by-version."insert-module-globals"."6.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "insert-module-globals-6.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.1.0.tgz";
@@ -8748,22 +9165,43 @@
     ];
     buildInputs =
       (self.nativeDeps."insert-module-globals" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."lexical-scope"."1.1.0"
-      self.by-version."process"."0.6.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "lexical-scope-1.1.0" = self.by-version."lexical-scope"."1.1.0";
+      "process-0.6.0" = self.by-version."process"."0.6.0";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "insert-module-globals" ];
   };
+  by-spec."interpret"."^0.3.2" =
+    self.by-version."interpret"."0.3.6";
+  by-version."interpret"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "interpret-0.3.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/interpret/-/interpret-0.3.6.tgz";
+        name = "interpret-0.3.6.tgz";
+        sha1 = "51b6927f372a92f1e4a2a5af0d14699de9618799";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."interpret" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "interpret" ];
+  };
   by-spec."ipaddr.js"."0.1.2" =
     self.by-version."ipaddr.js"."0.1.2";
   by-version."ipaddr.js"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ipaddr.js-0.1.2";
+    name = "ipaddr.js-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
@@ -8773,8 +9211,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ipaddr.js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ipaddr.js" ];
@@ -8782,7 +9220,8 @@
   by-spec."ironhorse"."*" =
     self.by-version."ironhorse"."0.0.10";
   by-version."ironhorse"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ironhorse-0.0.10";
+    name = "ironhorse-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.10.tgz";
@@ -8792,24 +9231,24 @@
     ];
     buildInputs =
       (self.nativeDeps."ironhorse" or []);
-    deps = [
-      self.by-version."underscore"."1.5.2"
-      self.by-version."winston"."0.7.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."fs-walk"."0.0.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."express"."4.8.5"
-      self.by-version."jade"."1.5.0"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-http"."0.2.2"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."mongoose"."3.8.15"
-      self.by-version."gridfs-stream"."0.5.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."kue"."0.8.5"
-      self.by-version."redis"."0.12.1"
-      self.by-version."hiredis"."0.1.17"
-    ];
+    deps = {
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "fs-walk-0.0.1" = self.by-version."fs-walk"."0.0.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "express-4.9.0" = self.by-version."express"."4.9.0";
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-http-0.2.2" = self.by-version."passport-http"."0.2.2";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+      "mongoose-3.8.16" = self.by-version."mongoose"."3.8.16";
+      "gridfs-stream-0.5.1" = self.by-version."gridfs-stream"."0.5.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "kue-0.8.6" = self.by-version."kue"."0.8.6";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+      "hiredis-0.1.17" = self.by-version."hiredis"."0.1.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ironhorse" ];
@@ -8818,7 +9257,8 @@
   by-spec."is-promise"."~1" =
     self.by-version."is-promise"."1.0.1";
   by-version."is-promise"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-promise-1.0.1";
+    name = "is-promise-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
@@ -8828,8 +9268,8 @@
     ];
     buildInputs =
       (self.nativeDeps."is-promise" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "is-promise" ];
@@ -8837,7 +9277,8 @@
   by-spec."is-utf8"."^0.2.0" =
     self.by-version."is-utf8"."0.2.0";
   by-version."is-utf8"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-utf8-0.2.0";
+    name = "is-utf8-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz";
@@ -8847,8 +9288,8 @@
     ];
     buildInputs =
       (self.nativeDeps."is-utf8" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "is-utf8" ];
@@ -8856,7 +9297,8 @@
   by-spec."isarray"."0.0.1" =
     self.by-version."isarray"."0.0.1";
   by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isarray-0.0.1";
+    name = "isarray-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
@@ -8866,70 +9308,53 @@
     ];
     buildInputs =
       (self.nativeDeps."isarray" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "isarray" ];
   };
   by-spec."isarray"."~0.0.1" =
     self.by-version."isarray"."0.0.1";
-  by-spec."isbinaryfile"."~2.0.0" =
-    self.by-version."isbinaryfile"."2.0.1";
-  by-version."isbinaryfile"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isbinaryfile-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.1.tgz";
-        name = "isbinaryfile-2.0.1.tgz";
-        sha1 = "b92369bfdaf616027133e077c5ba145f36699d55";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."isbinaryfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "isbinaryfile" ];
-  };
   by-spec."istanbul"."*" =
-    self.by-version."istanbul"."0.3.0";
-  by-version."istanbul"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.3.0";
+    self.by-version."istanbul"."0.3.2";
+  by-version."istanbul"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.3.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.0.tgz";
-        name = "istanbul-0.3.0.tgz";
-        sha1 = "5b7179104942adbb0ec3e140d5e3d071db55abbd";
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.2.tgz";
+        name = "istanbul-0.3.2.tgz";
+        sha1 = "e1ce9a9ec80d51dcbbeca82149f3befdc21d6835";
       })
     ];
     buildInputs =
       (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "esprima-1.2.2" = self.by-version."esprima"."1.2.2";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
-  "istanbul" = self.by-version."istanbul"."0.3.0";
+  "istanbul" = self.by-version."istanbul"."0.3.2";
   by-spec."istanbul"."~0.2.4" =
     self.by-version."istanbul"."0.2.16";
   by-version."istanbul"."0.2.16" = lib.makeOverridable self.buildNodePackage {
     name = "istanbul-0.2.16";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.16.tgz";
@@ -8939,57 +9364,60 @@
     ];
     buildInputs =
       (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-    ];
+    deps = {
+      "esprima-1.2.2" = self.by-version."esprima"."1.2.2";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
   by-spec."istanbul"."~0.3.0" =
-    self.by-version."istanbul"."0.3.0";
+    self.by-version."istanbul"."0.3.2";
   by-spec."jade"."*" =
-    self.by-version."jade"."1.5.0";
-  by-version."jade"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-1.5.0";
+    self.by-version."jade"."1.6.0";
+  by-version."jade"."1.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-1.6.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-1.5.0.tgz";
-        name = "jade-1.5.0.tgz";
-        sha1 = "74a93a5a290e11296c8b919b7a4d72301739b27e";
+        url = "http://registry.npmjs.org/jade/-/jade-1.6.0.tgz";
+        name = "jade-1.6.0.tgz";
+        sha1 = "c02540cd97b1014db3c15743746bc3dcd54170f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.51"
-      self.by-version."with"."3.0.1"
-      self.by-version."constantinople"."2.0.1"
-    ];
+    deps = {
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "constantinople-2.0.1" = self.by-version."constantinople"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "monocle-1.1.51" = self.by-version."monocle"."1.1.51";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "void-elements-1.0.0" = self.by-version."void-elements"."1.0.0";
+      "with-3.0.1" = self.by-version."with"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.by-version."jade"."1.5.0";
+  "jade" = self.by-version."jade"."1.6.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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
@@ -8999,10 +9427,10 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
@@ -9011,6 +9439,7 @@
     self.by-version."jade"."0.27.0";
   by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.27.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
@@ -9020,10 +9449,10 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
@@ -9032,6 +9461,7 @@
     self.by-version."jade"."1.1.5";
   by-version."jade"."1.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "jade-1.1.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz";
@@ -9041,25 +9471,26 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.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.51"
-      self.by-version."with"."2.0.0"
-      self.by-version."constantinople"."1.0.2"
-    ];
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.51" = self.by-version."monocle"."1.1.51";
+      "with-2.0.0" = self.by-version."with"."2.0.0";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
   by-spec."jade".">= 0.0.1" =
-    self.by-version."jade"."1.5.0";
+    self.by-version."jade"."1.6.0";
   by-spec."jade"."~0.35.0" =
     self.by-version."jade"."0.35.0";
   by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
@@ -9069,66 +9500,69 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.50" = self.by-version."monocle"."1.1.50";
+      "with-1.1.1" = self.by-version."with"."1.1.1";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
   by-spec."jayschema"."*" =
-    self.by-version."jayschema"."0.2.8";
-  by-version."jayschema"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "jayschema-0.2.8";
+    self.by-version."jayschema"."0.3.0";
+  by-version."jayschema"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jayschema-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.8.tgz";
-        name = "jayschema-0.2.8.tgz";
-        sha1 = "ea7883f501a4cdc7b91f48889f5774ea43159f17";
+        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.0.tgz";
+        name = "jayschema-0.3.0.tgz";
+        sha1 = "21089cbc978630932014f4508d7f709467d3d300";
       })
     ];
     buildInputs =
       (self.nativeDeps."jayschema" or []);
-    deps = [
-      self.by-version."when"."3.1.0"
-    ];
+    deps = {
+      "when-3.4.5" = self.by-version."when"."3.4.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.by-version."jayschema"."0.2.8";
+  "jayschema" = self.by-version."jayschema"."0.3.0";
   by-spec."js-yaml"."*" =
-    self.by-version."js-yaml"."3.1.0";
-  by-version."js-yaml"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-3.1.0";
+    self.by-version."js-yaml"."3.2.2";
+  by-version."js-yaml"."3.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-3.2.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.1.0.tgz";
-        name = "js-yaml-3.1.0.tgz";
-        sha1 = "36ba02e618c50748e772dd352428904cbbadcf44";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.2.2.tgz";
+        name = "js-yaml-3.2.2.tgz";
+        sha1 = "a34e77fe8d5e10270e225d21d07790fa17fd2927";
       })
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  "js-yaml" = self.by-version."js-yaml"."3.1.0";
+  "js-yaml" = self.by-version."js-yaml"."3.2.2";
   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 = "node-js-yaml-0.3.7";
+    name = "js-yaml-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
@@ -9138,8 +9572,8 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9148,6 +9582,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
@@ -9157,10 +9592,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9169,6 +9604,7 @@
     self.by-version."js-yaml"."3.0.1";
   by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
@@ -9178,20 +9614,21 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
   by-spec."js-yaml"."3.x" =
-    self.by-version."js-yaml"."3.1.0";
+    self.by-version."js-yaml"."3.2.2";
   by-spec."js-yaml"."~2.0.5" =
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
@@ -9201,10 +9638,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9213,6 +9650,7 @@
     self.by-version."js-yaml"."3.0.2";
   by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-3.0.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.2.tgz";
@@ -9222,10 +9660,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9234,6 +9672,7 @@
     self.by-version."jsesc"."0.4.3";
   by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "jsesc-0.4.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
@@ -9243,8 +9682,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsesc" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsesc" ];
@@ -9252,39 +9691,41 @@
   by-spec."jsesc"."~0.4.3" =
     self.by-version."jsesc"."0.4.3";
   by-spec."jshint"."*" =
-    self.by-version."jshint"."2.5.4";
-  by-version."jshint"."2.5.4" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.5.4";
+    self.by-version."jshint"."2.5.5";
+  by-version."jshint"."2.5.5" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.5.5";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.4.tgz";
-        name = "jshint-2.5.4.tgz";
-        sha1 = "3dc82cb37b381b65f0e95ec7a616d39b4e95faef";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.5.tgz";
+        name = "jshint-2.5.5.tgz";
+        sha1 = "9f24958dcd11c5e2ceba96ec92225873b02f4775";
       })
     ];
     buildInputs =
       (self.nativeDeps."jshint" or []);
-    deps = [
-      self.by-version."shelljs"."0.3.0"
-      self.by-version."underscore"."1.6.0"
-      self.by-version."cli"."0.6.3"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."htmlparser2"."3.7.3"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."exit"."0.1.2"
-      self.by-version."strip-json-comments"."0.1.3"
-    ];
+    deps = {
+      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
+      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
+      "cli-0.6.4" = self.by-version."cli"."0.6.4";
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  "jshint" = self.by-version."jshint"."2.5.4";
+  "jshint" = self.by-version."jshint"."2.5.5";
   by-spec."jshint"."~2.5.0" =
-    self.by-version."jshint"."2.5.4";
+    self.by-version."jshint"."2.5.5";
   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 = "node-json-schema-0.2.2";
+    name = "json-schema-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
@@ -9294,8 +9735,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-schema" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-schema" ];
@@ -9303,7 +9744,8 @@
   by-spec."json-stable-stringify"."~0.0.0" =
     self.by-version."json-stable-stringify"."0.0.1";
   by-version."json-stable-stringify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stable-stringify-0.0.1";
+    name = "json-stable-stringify-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
@@ -9313,9 +9755,9 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stable-stringify" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-    ];
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stable-stringify" ];
@@ -9323,7 +9765,8 @@
   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 = "node-json-stringify-safe-3.0.0";
+    name = "json-stringify-safe-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
@@ -9333,8 +9776,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
@@ -9342,7 +9785,8 @@
   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 = "node-json-stringify-safe-5.0.0";
+    name = "json-stringify-safe-5.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
@@ -9352,8 +9796,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
@@ -9361,7 +9805,8 @@
   by-spec."jsonfile"."~1.0.1" =
     self.by-version."jsonfile"."1.0.1";
   by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonfile-1.0.1";
+    name = "jsonfile-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
@@ -9371,8 +9816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonfile" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonfile" ];
@@ -9380,7 +9825,8 @@
   by-spec."jsonify"."~0.0.0" =
     self.by-version."jsonify"."0.0.0";
   by-version."jsonify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonify-0.0.0";
+    name = "jsonify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
@@ -9390,8 +9836,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonify" ];
@@ -9399,7 +9845,8 @@
   by-spec."jsonparse"."0.0.5" =
     self.by-version."jsonparse"."0.0.5";
   by-version."jsonparse"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonparse-0.0.5";
+    name = "jsonparse-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
@@ -9409,8 +9856,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonparse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonparse" ];
@@ -9419,6 +9866,7 @@
     self.by-version."jsontool"."7.0.2";
   by-version."jsontool"."7.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "jsontool-7.0.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
@@ -9428,8 +9876,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsontool" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsontool" ];
@@ -9438,7 +9886,8 @@
   by-spec."jsprim"."0.3.0" =
     self.by-version."jsprim"."0.3.0";
   by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsprim-0.3.0";
+    name = "jsprim-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
@@ -9448,11 +9897,11 @@
     ];
     buildInputs =
       (self.nativeDeps."jsprim" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-      self.by-version."json-schema"."0.2.2"
-      self.by-version."verror"."1.3.3"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
+      "verror-1.3.3" = self.by-version."verror"."1.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsprim" ];
@@ -9460,7 +9909,8 @@
   by-spec."jstransform"."~3.0.0" =
     self.by-version."jstransform"."3.0.0";
   by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jstransform-3.0.0";
+    name = "jstransform-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz";
@@ -9470,66 +9920,68 @@
     ];
     buildInputs =
       (self.nativeDeps."jstransform" or []);
-    deps = [
-      self.by-version."base62"."0.1.1"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."source-map"."0.1.31"
-    ];
+    deps = {
+      "base62-0.1.1" = self.by-version."base62"."0.1.1";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+      "source-map-0.1.31" = self.by-version."source-map"."0.1.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jstransform" ];
   };
   by-spec."karma"."*" =
-    self.by-version."karma"."0.12.22";
-  by-version."karma"."0.12.22" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.12.22";
+    self.by-version."karma"."0.12.23";
+  by-version."karma"."0.12.23" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.23";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.12.22.tgz";
-        name = "karma-0.12.22.tgz";
-        sha1 = "05073db2a1ba0638f15cb76a515563be34460dc7";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.23.tgz";
+        name = "karma-0.12.23.tgz";
+        sha1 = "2a01041019234f76f59b8c7c2128f06c839fe8c3";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma" or []);
-    deps = [
-      self.by-version."di"."0.0.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."chokidar"."0.8.4"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."http-proxy"."0.10.4"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."q"."0.9.7"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."log4js"."0.6.18"
-      self.by-version."useragent"."2.0.9"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."connect"."2.12.0"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "di-0.0.1" = self.by-version."di"."0.0.1";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "chokidar-0.8.4" = self.by-version."chokidar"."0.8.4";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "http-proxy-0.10.4" = self.by-version."http-proxy"."0.10.4";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "log4js-0.6.21" = self.by-version."log4js"."0.6.21";
+      "useragent-2.0.9" = self.by-version."useragent"."2.0.9";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "connect-2.12.0" = self.by-version."connect"."2.12.0";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "karma" ];
   };
-  "karma" = self.by-version."karma"."0.12.22";
+  "karma" = self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.12.8" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma"."~0.12.0" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma-chrome-launcher"."*" =
     self.by-version."karma-chrome-launcher"."0.1.4";
   by-version."karma-chrome-launcher"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-chrome-launcher-0.1.4";
+    name = "karma-chrome-launcher-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.4.tgz";
@@ -9539,10 +9991,10 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-chrome-launcher" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-chrome-launcher" ];
   };
@@ -9550,7 +10002,8 @@
   by-spec."karma-coverage"."*" =
     self.by-version."karma-coverage"."0.2.6";
   by-version."karma-coverage"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-coverage-0.2.6";
+    name = "karma-coverage-0.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.6.tgz";
@@ -9560,14 +10013,14 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-coverage" or []);
-    deps = [
-      self.by-version."istanbul"."0.3.0"
-      self.by-version."ibrik"."1.1.1"
-      self.by-version."dateformat"."1.0.8-1.2.3"
-      self.by-version."minimatch"."0.3.0"
-    ];
+    deps = {
+      "istanbul-0.3.2" = self.by-version."istanbul"."0.3.2";
+      "ibrik-1.1.1" = self.by-version."ibrik"."1.1.1";
+      "dateformat-1.0.8-1.2.3" = self.by-version."dateformat"."1.0.8-1.2.3";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-coverage" ];
   };
@@ -9575,7 +10028,8 @@
   by-spec."karma-junit-reporter"."*" =
     self.by-version."karma-junit-reporter"."0.2.2";
   by-version."karma-junit-reporter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-junit-reporter-0.2.2";
+    name = "karma-junit-reporter-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz";
@@ -9585,41 +10039,43 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-junit-reporter" or []);
-    deps = [
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
   "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.2";
   by-spec."karma-mocha"."*" =
-    self.by-version."karma-mocha"."0.1.8";
-  by-version."karma-mocha"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-mocha-0.1.8";
+    self.by-version."karma-mocha"."0.1.9";
+  by-version."karma-mocha"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-mocha-0.1.9";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.8.tgz";
-        name = "karma-mocha-0.1.8.tgz";
-        sha1 = "7f086bd06ab6151cbd5b0cf1614c15344963fdf6";
+        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.9.tgz";
+        name = "karma-mocha-0.1.9.tgz";
+        sha1 = "d777a98d655e08330f7893e833c369f82bd10191";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma-mocha" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
       self.by-version."mocha"."1.21.4"
     ];
     passthru.names = [ "karma-mocha" ];
   };
-  "karma-mocha" = self.by-version."karma-mocha"."0.1.8";
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.9";
   by-spec."karma-requirejs"."*" =
     self.by-version."karma-requirejs"."0.2.2";
   by-version."karma-requirejs"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-requirejs-0.2.2";
+    name = "karma-requirejs-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.2.tgz";
@@ -9629,11 +10085,11 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-requirejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
-      self.by-version."requirejs"."2.1.14"
+      self.by-version."karma"."0.12.23"
+      self.by-version."requirejs"."2.1.15"
     ];
     passthru.names = [ "karma-requirejs" ];
   };
@@ -9641,7 +10097,8 @@
   by-spec."karma-sauce-launcher"."*" =
     self.by-version."karma-sauce-launcher"."0.2.10";
   by-version."karma-sauce-launcher"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-sauce-launcher-0.2.10";
+    name = "karma-sauce-launcher-0.2.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.10.tgz";
@@ -9651,14 +10108,14 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-sauce-launcher" or []);
-    deps = [
-      self.by-version."wd"."0.3.4"
-      self.by-version."sauce-connect-launcher"."0.6.1"
-      self.by-version."q"."0.9.7"
-      self.by-version."saucelabs"."0.1.1"
-    ];
+    deps = {
+      "wd-0.3.7" = self.by-version."wd"."0.3.7";
+      "sauce-connect-launcher-0.6.1" = self.by-version."sauce-connect-launcher"."0.6.1";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "saucelabs-0.1.1" = self.by-version."saucelabs"."0.1.1";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
@@ -9666,7 +10123,8 @@
   by-spec."keen.io"."~0.1.2" =
     self.by-version."keen.io"."0.1.2";
   by-version."keen.io"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keen.io-0.1.2";
+    name = "keen.io-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keen.io/-/keen.io-0.1.2.tgz";
@@ -9676,10 +10134,10 @@
     ];
     buildInputs =
       (self.nativeDeps."keen.io" or []);
-    deps = [
-      self.by-version."superagent"."0.13.0"
-      self.by-version."underscore"."1.5.2"
-    ];
+    deps = {
+      "superagent-0.13.0" = self.by-version."superagent"."0.13.0";
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keen.io" ];
@@ -9687,7 +10145,8 @@
   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 = "node-keep-alive-agent-0.0.1";
+    name = "keep-alive-agent-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
@@ -9697,8 +10156,8 @@
     ];
     buildInputs =
       (self.nativeDeps."keep-alive-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keep-alive-agent" ];
@@ -9706,7 +10165,8 @@
   by-spec."kerberos"."0.0.3" =
     self.by-version."kerberos"."0.0.3";
   by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kerberos-0.0.3";
+    name = "kerberos-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
@@ -9716,8 +10176,28 @@
     ];
     buildInputs =
       (self.nativeDeps."kerberos" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "kerberos" ];
+  };
+  by-spec."kerberos"."0.0.4" =
+    self.by-version."kerberos"."0.0.4";
+  by-version."kerberos"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "kerberos-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.4.tgz";
+        name = "kerberos-0.0.4.tgz";
+        sha1 = "11836638f729a2f6c5bae056a7d7a15898c9ba7c";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."kerberos" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
@@ -9725,7 +10205,8 @@
   by-spec."kew"."~0.1.7" =
     self.by-version."kew"."0.1.7";
   by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kew-0.1.7";
+    name = "kew-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
@@ -9735,8 +10216,8 @@
     ];
     buildInputs =
       (self.nativeDeps."kew" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kew" ];
@@ -9744,7 +10225,8 @@
   by-spec."keygrip"."~1.0.0" =
     self.by-version."keygrip"."1.0.1";
   by-version."keygrip"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keygrip-1.0.1";
+    name = "keygrip-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
@@ -9754,8 +10236,8 @@
     ];
     buildInputs =
       (self.nativeDeps."keygrip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keygrip" ];
@@ -9763,7 +10245,8 @@
   by-spec."keypress"."0.1.x" =
     self.by-version."keypress"."0.1.0";
   by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keypress-0.1.0";
+    name = "keypress-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
@@ -9773,166 +10256,94 @@
     ];
     buildInputs =
       (self.nativeDeps."keypress" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keypress" ];
   };
   by-spec."keypress"."~0.1.0" =
     self.by-version."keypress"."0.1.0";
-  by-spec."knockout"."~3.1.0" =
-    self.by-version."knockout"."3.1.0";
-  by-version."knockout"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knockout-3.1.0";
+  by-spec."knockout"."~3.2.0" =
+    self.by-version."knockout"."3.2.0";
+  by-version."knockout"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "knockout-3.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz";
-        name = "knockout-3.1.0.tgz";
-        sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5";
+        url = "http://registry.npmjs.org/knockout/-/knockout-3.2.0.tgz";
+        name = "knockout-3.2.0.tgz";
+        sha1 = "3f394eb67d721bea115e2d0d7be082256ca46a11";
       })
     ];
     buildInputs =
       (self.nativeDeps."knockout" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "knockout" ];
   };
   by-spec."knox"."*" =
-    self.by-version."knox"."0.9.0";
-  by-version."knox"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knox-0.9.0";
+    self.by-version."knox"."0.9.1";
+  by-version."knox"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "knox-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knox/-/knox-0.9.0.tgz";
-        name = "knox-0.9.0.tgz";
-        sha1 = "8810e1dfe4332db505a796f5c9a11aee8b393e2c";
+        url = "http://registry.npmjs.org/knox/-/knox-0.9.1.tgz";
+        name = "knox-0.9.1.tgz";
+        sha1 = "3e53398e3d2307d27822abdcd74cd6aa32dc1ccf";
       })
     ];
     buildInputs =
       (self.nativeDeps."knox" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."stream-counter"."1.0.0"
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "stream-counter-1.0.0" = self.by-version."stream-counter"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "knox" ];
   };
-  "knox" = self.by-version."knox"."0.9.0";
-  by-spec."koa"."*" =
-    self.by-version."koa"."0.10.0";
-  by-version."koa"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa/-/koa-0.10.0.tgz";
-        name = "koa-0.10.0.tgz";
-        sha1 = "876f6ab92ee19b89c7157a108d3c046d48377146";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."statuses"."1.0.4"
-      self.by-version."accepts"."1.0.7"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."finished"."1.2.2"
-      self.by-version."co"."3.1.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."koa-compose"."2.3.0"
-      self.by-version."koa-is-json"."1.0.0"
-      self.by-version."cookies"."0.5.0"
-      self.by-version."delegates"."0.0.3"
-      self.by-version."dethroy"."1.0.2"
-      self.by-version."error-inject"."1.0.0"
-      self.by-version."vary"."0.1.0"
-      self.by-version."parseurl"."1.2.0"
-      self.by-version."only"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa" ];
-  };
-  by-spec."koa-compose"."~2.3.0" =
-    self.by-version."koa-compose"."2.3.0";
-  by-version."koa-compose"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-compose-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-compose/-/koa-compose-2.3.0.tgz";
-        name = "koa-compose-2.3.0.tgz";
-        sha1 = "4617fa832a16412a56967334304efd797d6ed35c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-compose" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-compose" ];
-  };
-  by-spec."koa-is-json"."~1.0.0" =
-    self.by-version."koa-is-json"."1.0.0";
-  by-version."koa-is-json"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-is-json-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
-        name = "koa-is-json-1.0.0.tgz";
-        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-is-json" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-is-json" ];
-  };
+  "knox" = self.by-version."knox"."0.9.1";
   by-spec."kue"."*" =
-    self.by-version."kue"."0.8.5";
-  by-version."kue"."0.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kue-0.8.5";
+    self.by-version."kue"."0.8.6";
+  by-version."kue"."0.8.6" = lib.makeOverridable self.buildNodePackage {
+    name = "kue-0.8.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kue/-/kue-0.8.5.tgz";
-        name = "kue-0.8.5.tgz";
-        sha1 = "253d7a9a0bdd086100e48bbcce6c7dfad3381ed4";
+        url = "http://registry.npmjs.org/kue/-/kue-0.8.6.tgz";
+        name = "kue-0.8.6.tgz";
+        sha1 = "62e707137d2e90f98fb2dda7f5b8543dbc9de11e";
       })
     ];
     buildInputs =
       (self.nativeDeps."kue" or []);
-    deps = [
-      self.by-version."redis"."0.10.3"
-      self.by-version."express"."3.1.2"
-      self.by-version."jade"."1.1.5"
-      self.by-version."stylus"."0.42.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."lodash-deep"."1.2.1"
-      self.by-version."nib"."0.5.0"
-      self.by-version."reds"."0.2.4"
-    ];
+    deps = {
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "express-3.1.2" = self.by-version."express"."3.1.2";
+      "jade-1.1.5" = self.by-version."jade"."1.1.5";
+      "stylus-0.42.2" = self.by-version."stylus"."0.42.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "lodash-deep-1.2.1" = self.by-version."lodash-deep"."1.2.1";
+      "nib-0.5.0" = self.by-version."nib"."0.5.0";
+      "reds-0.2.4" = self.by-version."reds"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.by-version."kue"."0.8.5";
+  "kue" = self.by-version."kue"."0.8.6";
   by-spec."labeled-stream-splicer"."^1.0.0" =
     self.by-version."labeled-stream-splicer"."1.0.0";
   by-version."labeled-stream-splicer"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-labeled-stream-splicer-1.0.0";
+    name = "labeled-stream-splicer-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.0.tgz";
@@ -9942,11 +10353,11 @@
     ];
     buildInputs =
       (self.nativeDeps."labeled-stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."stream-splicer"."1.3.0"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "stream-splicer-1.3.0" = self.by-version."stream-splicer"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "labeled-stream-splicer" ];
@@ -9954,7 +10365,8 @@
   by-spec."lazy"."~1.0.11" =
     self.by-version."lazy"."1.0.11";
   by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazy-1.0.11";
+    name = "lazy-1.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
@@ -9964,8 +10376,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lazy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lazy" ];
@@ -9973,7 +10385,8 @@
   by-spec."lazystream"."~0.1.0" =
     self.by-version."lazystream"."0.1.0";
   by-version."lazystream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazystream-0.1.0";
+    name = "lazystream-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
@@ -9983,9 +10396,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lazystream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lazystream" ];
@@ -9993,7 +10406,8 @@
   by-spec."lcov-parse"."0.0.6" =
     self.by-version."lcov-parse"."0.0.6";
   by-version."lcov-parse"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lcov-parse-0.0.6";
+    name = "lcov-parse-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
@@ -10003,8 +10417,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lcov-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lcov-parse" ];
@@ -10013,6 +10427,7 @@
     self.by-version."lcov-result-merger"."1.0.0";
   by-version."lcov-result-merger"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-result-merger-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.0.0.tgz";
@@ -10022,48 +10437,50 @@
     ];
     buildInputs =
       (self.nativeDeps."lcov-result-merger" or []);
-    deps = [
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.2.3"
-      self.by-version."vinyl-fs"."0.3.6"
-    ];
+    deps = {
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "vinyl-0.2.3" = self.by-version."vinyl"."0.2.3";
+      "vinyl-fs-0.3.7" = self.by-version."vinyl-fs"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lcov-result-merger" ];
   };
   "lcov-result-merger" = self.by-version."lcov-result-merger"."1.0.0";
   by-spec."less"."*" =
-    self.by-version."less"."1.7.4";
-  by-version."less"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.7.4";
+    self.by-version."less"."1.7.5";
+  by-version."less"."1.7.5" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.7.5";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.7.4.tgz";
-        name = "less-1.7.4.tgz";
-        sha1 = "1db03afd0d1b848d898d10d2690d79ee3834026d";
+        url = "http://registry.npmjs.org/less/-/less-1.7.5.tgz";
+        name = "less-1.7.5.tgz";
+        sha1 = "4f220cf7288a27eaca739df6e4808a2d4c0d5756";
       })
     ];
     buildInputs =
       (self.nativeDeps."less" or []);
-    deps = [
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."mime"."1.2.11"
-      self.by-version."request"."2.34.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.1.8"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "clean-css-2.2.15" = self.by-version."clean-css"."2.2.15";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "less" ];
   };
-  "less" = self.by-version."less"."1.7.4";
+  "less" = self.by-version."less"."1.7.5";
   by-spec."less"."^1.7.2" =
-    self.by-version."less"."1.7.4";
+    self.by-version."less"."1.7.5";
   by-spec."lexical-scope"."~1.1.0" =
     self.by-version."lexical-scope"."1.1.0";
   by-version."lexical-scope"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lexical-scope-1.1.0";
+    name = "lexical-scope-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz";
@@ -10073,9 +10490,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lexical-scope" or []);
-    deps = [
-      self.by-version."astw"."1.1.0"
-    ];
+    deps = {
+      "astw-1.1.0" = self.by-version."astw"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lexical-scope" ];
@@ -10083,7 +10500,8 @@
   by-spec."libxmljs"."~0.10.0" =
     self.by-version."libxmljs"."0.10.0";
   by-version."libxmljs"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libxmljs-0.10.0";
+    name = "libxmljs-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.10.0.tgz";
@@ -10093,49 +10511,75 @@
     ];
     buildInputs =
       (self.nativeDeps."libxmljs" or []);
-    deps = [
-      self.by-version."bindings"."1.1.1"
-      self.by-version."nan"."1.1.2"
-    ];
+    deps = {
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+      "nan-1.1.2" = self.by-version."nan"."1.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "libxmljs" ];
   };
   by-spec."libyaml"."*" =
-    self.by-version."libyaml"."0.2.4";
-  by-version."libyaml"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libyaml-0.2.4";
+    self.by-version."libyaml"."0.2.5";
+  by-version."libyaml"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "libyaml-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.4.tgz";
-        name = "libyaml-0.2.4.tgz";
-        sha1 = "46b6abe00ef0bc0ac60ca599c0e7c80ff920e959";
+        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.5.tgz";
+        name = "libyaml-0.2.5.tgz";
+        sha1 = "f34a920b728d8c1eddea56a6fa8698c28ceab6df";
       })
     ];
     buildInputs =
       (self.nativeDeps."libyaml" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "libyaml" ];
   };
-  "libyaml" = self.by-version."libyaml"."0.2.4";
-  by-spec."lockfile"."~0.4.0" =
-    self.by-version."lockfile"."0.4.3";
-  by-version."lockfile"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lockfile-0.4.3";
+  "libyaml" = self.by-version."libyaml"."0.2.5";
+  by-spec."liftoff"."^0.12.0" =
+    self.by-version."liftoff"."0.12.1";
+  by-version."liftoff"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "liftoff-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.3.tgz";
-        name = "lockfile-0.4.3.tgz";
-        sha1 = "79b965ee9b32d9dd24b59cf81205e6dcb6d3b224";
+        url = "http://registry.npmjs.org/liftoff/-/liftoff-0.12.1.tgz";
+        name = "liftoff-0.12.1.tgz";
+        sha1 = "bcaa49759c68396b83b984ad0b2d8cc226f9526d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile" or []);
-    deps = [
+      (self.nativeDeps."liftoff" or []);
+    deps = {
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "extend-1.3.0" = self.by-version."extend"."1.3.0";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "liftoff" ];
+  };
+  by-spec."lockfile"."~1.0.0" =
+    self.by-version."lockfile"."1.0.0";
+  by-version."lockfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lockfile-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz";
+        name = "lockfile-1.0.0.tgz";
+        sha1 = "b3a7609dda6012060083bacb0ab0ecbca58e9203";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lockfile" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lockfile" ];
@@ -10143,7 +10587,8 @@
   by-spec."lodash"."2.4.1" =
     self.by-version."lodash"."2.4.1";
   by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-2.4.1";
+    name = "lodash-2.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz";
@@ -10153,8 +10598,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10166,7 +10611,8 @@
   by-spec."lodash"."~0.9.2" =
     self.by-version."lodash"."0.9.2";
   by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-0.9.2";
+    name = "lodash-0.9.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
@@ -10176,8 +10622,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10185,7 +10631,8 @@
   by-spec."lodash"."~1.0.1" =
     self.by-version."lodash"."1.0.1";
   by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-1.0.1";
+    name = "lodash-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
@@ -10195,8 +10642,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10206,7 +10653,8 @@
   by-spec."lodash-deep"."^1.1.0" =
     self.by-version."lodash-deep"."1.2.1";
   by-version."lodash-deep"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-deep-1.2.1";
+    name = "lodash-deep-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.2.1.tgz";
@@ -10216,9 +10664,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash-deep" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash-deep" ];
@@ -10226,7 +10674,8 @@
   by-spec."lodash-node"."~2.4.1" =
     self.by-version."lodash-node"."2.4.1";
   by-version."lodash-node"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-node-2.4.1";
+    name = "lodash-node-2.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
@@ -10236,16 +10685,342 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash-node" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash-node" ];
   };
+  by-spec."lodash._escapehtmlchar"."~2.4.1" =
+    self.by-version."lodash._escapehtmlchar"."2.4.1";
+  by-version."lodash._escapehtmlchar"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._escapehtmlchar-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz";
+        name = "lodash._escapehtmlchar-2.4.1.tgz";
+        sha1 = "df67c3bb6b7e8e1e831ab48bfa0795b92afe899d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._escapehtmlchar" or []);
+    deps = {
+      "lodash._htmlescapes-2.4.1" = self.by-version."lodash._htmlescapes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._escapehtmlchar" ];
+  };
+  by-spec."lodash._escapestringchar"."~2.4.1" =
+    self.by-version."lodash._escapestringchar"."2.4.1";
+  by-version."lodash._escapestringchar"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._escapestringchar-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz";
+        name = "lodash._escapestringchar-2.4.1.tgz";
+        sha1 = "ecfe22618a2ade50bfeea43937e51df66f0edb72";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._escapestringchar" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._escapestringchar" ];
+  };
+  by-spec."lodash._htmlescapes"."~2.4.1" =
+    self.by-version."lodash._htmlescapes"."2.4.1";
+  by-version."lodash._htmlescapes"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._htmlescapes-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz";
+        name = "lodash._htmlescapes-2.4.1.tgz";
+        sha1 = "32d14bf0844b6de6f8b62a051b4f67c228b624cb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._htmlescapes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._htmlescapes" ];
+  };
+  by-spec."lodash._isnative"."~2.4.1" =
+    self.by-version."lodash._isnative"."2.4.1";
+  by-version."lodash._isnative"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._isnative-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
+        name = "lodash._isnative-2.4.1.tgz";
+        sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._isnative" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._isnative" ];
+  };
+  by-spec."lodash._objecttypes"."~2.4.1" =
+    self.by-version."lodash._objecttypes"."2.4.1";
+  by-version."lodash._objecttypes"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._objecttypes-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
+        name = "lodash._objecttypes-2.4.1.tgz";
+        sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._objecttypes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._objecttypes" ];
+  };
+  by-spec."lodash._reinterpolate"."^2.4.1" =
+    self.by-version."lodash._reinterpolate"."2.4.1";
+  by-version."lodash._reinterpolate"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._reinterpolate-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz";
+        name = "lodash._reinterpolate-2.4.1.tgz";
+        sha1 = "4f1227aa5a8711fc632f5b07a1f4607aab8b3222";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._reinterpolate" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._reinterpolate" ];
+  };
+  by-spec."lodash._reinterpolate"."~2.4.1" =
+    self.by-version."lodash._reinterpolate"."2.4.1";
+  by-spec."lodash._reunescapedhtml"."~2.4.1" =
+    self.by-version."lodash._reunescapedhtml"."2.4.1";
+  by-version."lodash._reunescapedhtml"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._reunescapedhtml-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz";
+        name = "lodash._reunescapedhtml-2.4.1.tgz";
+        sha1 = "747c4fc40103eb3bb8a0976e571f7a2659e93ba7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._reunescapedhtml" or []);
+    deps = {
+      "lodash._htmlescapes-2.4.1" = self.by-version."lodash._htmlescapes"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._reunescapedhtml" ];
+  };
+  by-spec."lodash._shimkeys"."~2.4.1" =
+    self.by-version."lodash._shimkeys"."2.4.1";
+  by-version."lodash._shimkeys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._shimkeys-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz";
+        name = "lodash._shimkeys-2.4.1.tgz";
+        sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._shimkeys" or []);
+    deps = {
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._shimkeys" ];
+  };
+  by-spec."lodash.defaults"."~2.4.1" =
+    self.by-version."lodash.defaults"."2.4.1";
+  by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.defaults-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz";
+        name = "lodash.defaults-2.4.1.tgz";
+        sha1 = "a7e8885f05e68851144b6e12a8f3678026bc4c54";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.defaults" or []);
+    deps = {
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.defaults" ];
+  };
+  by-spec."lodash.escape"."~2.4.1" =
+    self.by-version."lodash.escape"."2.4.1";
+  by-version."lodash.escape"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.escape-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz";
+        name = "lodash.escape-2.4.1.tgz";
+        sha1 = "2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.escape" or []);
+    deps = {
+      "lodash._escapehtmlchar-2.4.1" = self.by-version."lodash._escapehtmlchar"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._reunescapedhtml-2.4.1" = self.by-version."lodash._reunescapedhtml"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.escape" ];
+  };
+  by-spec."lodash.isobject"."~2.4.1" =
+    self.by-version."lodash.isobject"."2.4.1";
+  by-version."lodash.isobject"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.isobject-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
+        name = "lodash.isobject-2.4.1.tgz";
+        sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.isobject" or []);
+    deps = {
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.isobject" ];
+  };
+  by-spec."lodash.keys"."~2.4.1" =
+    self.by-version."lodash.keys"."2.4.1";
+  by-version."lodash.keys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.keys-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz";
+        name = "lodash.keys-2.4.1.tgz";
+        sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.keys" or []);
+    deps = {
+      "lodash._isnative-2.4.1" = self.by-version."lodash._isnative"."2.4.1";
+      "lodash.isobject-2.4.1" = self.by-version."lodash.isobject"."2.4.1";
+      "lodash._shimkeys-2.4.1" = self.by-version."lodash._shimkeys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.keys" ];
+  };
+  by-spec."lodash.template"."^2.4.1" =
+    self.by-version."lodash.template"."2.4.1";
+  by-version."lodash.template"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.template-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz";
+        name = "lodash.template-2.4.1.tgz";
+        sha1 = "9e611007edf629129a974ab3c48b817b3e1cf20d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.template" or []);
+    deps = {
+      "lodash.defaults-2.4.1" = self.by-version."lodash.defaults"."2.4.1";
+      "lodash.escape-2.4.1" = self.by-version."lodash.escape"."2.4.1";
+      "lodash._escapestringchar-2.4.1" = self.by-version."lodash._escapestringchar"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+      "lodash.templatesettings-2.4.1" = self.by-version."lodash.templatesettings"."2.4.1";
+      "lodash.values-2.4.1" = self.by-version."lodash.values"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.template" ];
+  };
+  by-spec."lodash.templatesettings"."~2.4.1" =
+    self.by-version."lodash.templatesettings"."2.4.1";
+  by-version."lodash.templatesettings"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.templatesettings-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz";
+        name = "lodash.templatesettings-2.4.1.tgz";
+        sha1 = "ea76c75d11eb86d4dbe89a83893bb861929ac699";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.templatesettings" or []);
+    deps = {
+      "lodash.escape-2.4.1" = self.by-version."lodash.escape"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.templatesettings" ];
+  };
+  by-spec."lodash.values"."~2.4.1" =
+    self.by-version."lodash.values"."2.4.1";
+  by-version."lodash.values"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.values-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz";
+        name = "lodash.values-2.4.1.tgz";
+        sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.values" or []);
+    deps = {
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.values" ];
+  };
   by-spec."log-driver"."1.2.4" =
     self.by-version."log-driver"."1.2.4";
   by-version."log-driver"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log-driver-1.2.4";
+    name = "log-driver-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
@@ -10255,30 +11030,31 @@
     ];
     buildInputs =
       (self.nativeDeps."log-driver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "log-driver" ];
   };
   by-spec."log4js"."~0.6.3" =
-    self.by-version."log4js"."0.6.18";
-  by-version."log4js"."0.6.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log4js-0.6.18";
+    self.by-version."log4js"."0.6.21";
+  by-version."log4js"."0.6.21" = lib.makeOverridable self.buildNodePackage {
+    name = "log4js-0.6.21";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.18.tgz";
-        name = "log4js-0.6.18.tgz";
-        sha1 = "b362d629b02e111434839502b5a24b3201f5d805";
+        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.21.tgz";
+        name = "log4js-0.6.21.tgz";
+        sha1 = "674ed09ef0ffe913c2a35074f697bd047bb53b5f";
       })
     ];
     buildInputs =
       (self.nativeDeps."log4js" or []);
-    deps = [
-      self.by-version."async"."0.1.15"
-      self.by-version."semver"."1.1.4"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "log4js" ];
@@ -10286,7 +11062,8 @@
   by-spec."longjohn"."~0.2.2" =
     self.by-version."longjohn"."0.2.4";
   by-version."longjohn"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-longjohn-0.2.4";
+    name = "longjohn-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz";
@@ -10296,8 +11073,8 @@
     ];
     buildInputs =
       (self.nativeDeps."longjohn" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "longjohn" ];
@@ -10305,7 +11082,8 @@
   by-spec."lru-cache"."2" =
     self.by-version."lru-cache"."2.5.0";
   by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.5.0";
+    name = "lru-cache-2.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
@@ -10315,8 +11093,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10324,7 +11102,8 @@
   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 = "node-lru-cache-2.2.0";
+    name = "lru-cache-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
@@ -10334,8 +11113,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10343,7 +11122,8 @@
   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 = "node-lru-cache-2.2.4";
+    name = "lru-cache-2.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
@@ -10353,8 +11133,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10362,7 +11142,8 @@
   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 = "node-lru-cache-2.3.0";
+    name = "lru-cache-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
@@ -10372,8 +11153,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10383,7 +11164,8 @@
   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 = "node-lru-cache-1.0.6";
+    name = "lru-cache-1.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
@@ -10393,8 +11175,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10404,7 +11186,8 @@
   by-spec."lsmod"."~0.0.3" =
     self.by-version."lsmod"."0.0.3";
   by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lsmod-0.0.3";
+    name = "lsmod-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
@@ -10414,8 +11197,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lsmod" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lsmod" ];
@@ -10423,7 +11206,8 @@
   by-spec."mailcomposer".">= 0.1.27" =
     self.by-version."mailcomposer"."0.2.12";
   by-version."mailcomposer"."0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mailcomposer-0.2.12";
+    name = "mailcomposer-0.2.12";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.12.tgz";
@@ -10433,13 +11217,13 @@
     ];
     buildInputs =
       (self.nativeDeps."mailcomposer" or []);
-    deps = [
-      self.by-version."mimelib"."0.2.17"
-      self.by-version."mime"."1.2.11"
-      self.by-version."he"."0.3.6"
-      self.by-version."follow-redirects"."0.0.3"
-      self.by-version."dkim-signer"."0.1.2"
-    ];
+    deps = {
+      "mimelib-0.2.17" = self.by-version."mimelib"."0.2.17";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "he-0.3.6" = self.by-version."he"."0.3.6";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+      "dkim-signer-0.1.2" = self.by-version."dkim-signer"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mailcomposer" ];
@@ -10448,6 +11232,7 @@
     self.by-version."marked"."0.3.2";
   by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "marked-0.3.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz";
@@ -10457,8 +11242,8 @@
     ];
     buildInputs =
       (self.nativeDeps."marked" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "marked" ];
@@ -10469,7 +11254,8 @@
   by-spec."maxmin"."^0.1.0" =
     self.by-version."maxmin"."0.1.0";
   by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.1.0";
+    name = "maxmin-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz";
@@ -10479,11 +11265,11 @@
     ];
     buildInputs =
       (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."gzip-size"."0.1.1"
-      self.by-version."pretty-bytes"."0.1.2"
-      self.by-version."chalk"."0.4.0"
-    ];
+    deps = {
+      "gzip-size-0.1.1" = self.by-version."gzip-size"."0.1.1";
+      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "maxmin" ];
@@ -10491,7 +11277,8 @@
   by-spec."maxmin"."^0.2.0" =
     self.by-version."maxmin"."0.2.2";
   by-version."maxmin"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.2.2";
+    name = "maxmin-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz";
@@ -10501,12 +11288,12 @@
     ];
     buildInputs =
       (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."figures"."1.3.2"
-      self.by-version."gzip-size"."0.2.0"
-      self.by-version."pretty-bytes"."0.1.2"
-    ];
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "figures-1.3.2" = self.by-version."figures"."1.3.2";
+      "gzip-size-0.2.0" = self.by-version."gzip-size"."0.2.0";
+      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "maxmin" ];
@@ -10517,6 +11304,7 @@
     self.by-version."meat"."0.2.5";
   by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "meat-0.2.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
@@ -10526,14 +11314,14 @@
     ];
     buildInputs =
       (self.nativeDeps."meat" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "express-2.5.11" = self.by-version."express"."2.5.11";
+      "jade-0.27.0" = self.by-version."jade"."0.27.0";
+      "open-0.0.2" = self.by-version."open"."0.0.2";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+      "node.extend-1.0.0" = self.by-version."node.extend"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "meat" ];
@@ -10542,7 +11330,8 @@
   by-spec."media-typer"."0.2.0" =
     self.by-version."media-typer"."0.2.0";
   by-version."media-typer"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-media-typer-0.2.0";
+    name = "media-typer-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
@@ -10552,18 +11341,37 @@
     ];
     buildInputs =
       (self.nativeDeps."media-typer" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "media-typer" ];
+  };
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        name = "media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."media-typer" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "media-typer" ];
   };
-  by-spec."media-typer"."~0.2.0" =
-    self.by-version."media-typer"."0.2.0";
   by-spec."merge-descriptors"."0.0.2" =
     self.by-version."merge-descriptors"."0.0.2";
   by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-merge-descriptors-0.0.2";
+    name = "merge-descriptors-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
@@ -10573,31 +11381,32 @@
     ];
     buildInputs =
       (self.nativeDeps."merge-descriptors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "merge-descriptors" ];
   };
-  by-spec."method-override"."~2.1.3" =
-    self.by-version."method-override"."2.1.3";
-  by-version."method-override"."2.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-method-override-2.1.3";
+  by-spec."method-override"."~2.2.0" =
+    self.by-version."method-override"."2.2.0";
+  by-version."method-override"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "method-override-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/method-override/-/method-override-2.1.3.tgz";
-        name = "method-override-2.1.3.tgz";
-        sha1 = "511f41c4fb1dccdb6ab1844da5dc6ea81b7c1135";
+        url = "http://registry.npmjs.org/method-override/-/method-override-2.2.0.tgz";
+        name = "method-override-2.2.0.tgz";
+        sha1 = "177e852b6add3b4f9177033a9446b01e7801a0c0";
       })
     ];
     buildInputs =
       (self.nativeDeps."method-override" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."vary"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "method-override" ];
@@ -10605,7 +11414,8 @@
   by-spec."methods"."0.0.1" =
     self.by-version."methods"."0.0.1";
   by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.0.1";
+    name = "methods-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
@@ -10615,8 +11425,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10624,7 +11434,8 @@
   by-spec."methods"."0.1.0" =
     self.by-version."methods"."0.1.0";
   by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.1.0";
+    name = "methods-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
@@ -10634,8 +11445,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10643,7 +11454,8 @@
   by-spec."methods"."1.0.0" =
     self.by-version."methods"."1.0.0";
   by-version."methods"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.0";
+    name = "methods-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
@@ -10653,8 +11465,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10662,7 +11474,8 @@
   by-spec."methods"."1.0.1" =
     self.by-version."methods"."1.0.1";
   by-version."methods"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.1";
+    name = "methods-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
@@ -10672,8 +11485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10681,7 +11494,8 @@
   by-spec."methods"."1.1.0" =
     self.by-version."methods"."1.1.0";
   by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.1.0";
+    name = "methods-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
@@ -10691,16 +11505,37 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
   };
+  by-spec."microee"."0.0.2" =
+    self.by-version."microee"."0.0.2";
+  by-version."microee"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "microee-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/microee/-/microee-0.0.2.tgz";
+        name = "microee-0.0.2.tgz";
+        sha1 = "72e80d477075e5e799470f5defea96d1dd121587";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."microee" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "microee" ];
+  };
   by-spec."mime"."*" =
     self.by-version."mime"."1.2.11";
   by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.11";
+    name = "mime-1.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
@@ -10710,8 +11545,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10721,7 +11556,8 @@
   by-spec."mime"."1.2.4" =
     self.by-version."mime"."1.2.4";
   by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.4";
+    name = "mime-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
@@ -10731,8 +11567,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10740,7 +11576,8 @@
   by-spec."mime"."1.2.5" =
     self.by-version."mime"."1.2.5";
   by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.5";
+    name = "mime-1.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
@@ -10750,8 +11587,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10759,7 +11596,8 @@
   by-spec."mime"."1.2.6" =
     self.by-version."mime"."1.2.6";
   by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.6";
+    name = "mime-1.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
@@ -10769,8 +11607,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10778,7 +11616,8 @@
   by-spec."mime"."1.2.9" =
     self.by-version."mime"."1.2.9";
   by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.9";
+    name = "mime-1.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
@@ -10788,8 +11627,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10804,29 +11643,31 @@
     self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mime-types"."1.0.0" =
-    self.by-version."mime-types"."1.0.0";
-  by-version."mime-types"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.0";
+  by-spec."mime-db"."~1.0.1" =
+    self.by-version."mime-db"."1.0.1";
+  by-version."mime-db"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-db-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.0.tgz";
-        name = "mime-types-1.0.0.tgz";
-        sha1 = "6a7b4a6af2e7d92f97afe03f047c7801e8f001d2";
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz";
+        name = "mime-db-1.0.1.tgz";
+        sha1 = "35d99b0965967253bb30633a7d07a8de9975a952";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
+      (self.nativeDeps."mime-db" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "mime-types" ];
+    passthru.names = [ "mime-db" ];
   };
   by-spec."mime-types"."~1.0.0" =
     self.by-version."mime-types"."1.0.2";
   by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.2";
+    name = "mime-types-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
@@ -10836,18 +11677,42 @@
     ];
     buildInputs =
       (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime-types" ];
   };
   by-spec."mime-types"."~1.0.1" =
     self.by-version."mime-types"."1.0.2";
+  by-spec."mime-types"."~2.0.0" =
+    self.by-version."mime-types"."2.0.1";
+  by-version."mime-types"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-types-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz";
+        name = "mime-types-2.0.1.tgz";
+        sha1 = "7f5b4712592e7dd46ca733fd1c5f5d71356de615";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = {
+      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.1";
   by-spec."mimelib"."~0.2.15" =
     self.by-version."mimelib"."0.2.17";
   by-version."mimelib"."0.2.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mimelib-0.2.17";
+    name = "mimelib-0.2.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.17.tgz";
@@ -10857,39 +11722,40 @@
     ];
     buildInputs =
       (self.nativeDeps."mimelib" or []);
-    deps = [
-      self.by-version."encoding"."0.1.8"
-      self.by-version."addressparser"."0.2.1"
-    ];
+    deps = {
+      "encoding-0.1.8" = self.by-version."encoding"."0.1.8";
+      "addressparser-0.2.1" = self.by-version."addressparser"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mimelib" ];
   };
-  by-spec."minimatch"."0" =
-    self.by-version."minimatch"."0.4.0";
-  by-version."minimatch"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.4.0";
+  by-spec."minilog"."~2.0.2" =
+    self.by-version."minilog"."2.0.6";
+  by-version."minilog"."2.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "minilog-2.0.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
-        name = "minimatch-0.4.0.tgz";
-        sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+        url = "http://registry.npmjs.org/minilog/-/minilog-2.0.6.tgz";
+        name = "minilog-2.0.6.tgz";
+        sha1 = "665601f32a08bda58406c0e933b08713b3a50ad4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+      (self.nativeDeps."minilog" or []);
+    deps = {
+      "microee-0.0.2" = self.by-version."microee"."0.0.2";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "minilog" ];
   };
   by-spec."minimatch"."0.0.x" =
     self.by-version."minimatch"."0.0.5";
   by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.0.5";
+    name = "minimatch-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
@@ -10899,9 +11765,9 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."1.0.6"
-    ];
+    deps = {
+      "lru-cache-1.0.6" = self.by-version."lru-cache"."1.0.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10909,7 +11775,8 @@
   by-spec."minimatch"."0.2.x" =
     self.by-version."minimatch"."0.2.14";
   by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.2.14";
+    name = "minimatch-0.2.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
@@ -10919,10 +11786,10 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10930,7 +11797,8 @@
   by-spec."minimatch"."0.3" =
     self.by-version."minimatch"."0.3.0";
   by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.3.0";
+    name = "minimatch-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
@@ -10940,22 +11808,43 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
   by-spec."minimatch"."0.x" =
     self.by-version."minimatch"."0.4.0";
+  by-version."minimatch"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
+        name = "minimatch-0.4.0.tgz";
+        sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch" or []);
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
   by-spec."minimatch"."0.x.x" =
     self.by-version."minimatch"."0.4.0";
   by-spec."minimatch"."1" =
     self.by-version."minimatch"."1.0.0";
   by-version."minimatch"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-1.0.0";
+    name = "minimatch-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
@@ -10965,10 +11854,10 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10987,10 +11876,13 @@
     self.by-version."minimatch"."0.2.14";
   by-spec."minimatch"."~0.3.0" =
     self.by-version."minimatch"."0.3.0";
+  by-spec."minimatch"."~1.0.0" =
+    self.by-version."minimatch"."1.0.0";
   by-spec."minimist"."0.0.8" =
     self.by-version."minimist"."0.0.8";
   by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.8";
+    name = "minimist-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
@@ -11000,8 +11892,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11009,7 +11901,8 @@
   by-spec."minimist"."^0.1.0" =
     self.by-version."minimist"."0.1.0";
   by-version."minimist"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.1.0";
+    name = "minimist-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz";
@@ -11019,8 +11912,28 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."minimist"."^1.1.0" =
+    self.by-version."minimist"."1.1.0";
+  by-version."minimist"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "minimist-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz";
+        name = "minimist-1.1.0.tgz";
+        sha1 = "cdf225e8898f840a258ded44fc91776770afdc93";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11028,7 +11941,8 @@
   by-spec."minimist"."~0.0.1" =
     self.by-version."minimist"."0.0.10";
   by-version."minimist"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.10";
+    name = "minimist-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
@@ -11038,8 +11952,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11049,7 +11963,8 @@
   by-spec."minimist"."~0.2.0" =
     self.by-version."minimist"."0.2.0";
   by-version."minimist"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.2.0";
+    name = "minimist-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz";
@@ -11059,8 +11974,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11068,7 +11983,8 @@
   by-spec."ministyle"."~0.1.3" =
     self.by-version."ministyle"."0.1.4";
   by-version."ministyle"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ministyle-0.1.4";
+    name = "ministyle-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.4.tgz";
@@ -11078,8 +11994,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ministyle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ministyle" ];
@@ -11087,7 +12003,8 @@
   by-spec."miniwrite"."~0.1.3" =
     self.by-version."miniwrite"."0.1.3";
   by-version."miniwrite"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-miniwrite-0.1.3";
+    name = "miniwrite-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz";
@@ -11097,9 +12014,9 @@
     ];
     buildInputs =
       (self.nativeDeps."miniwrite" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "miniwrite" ];
@@ -11108,6 +12025,7 @@
     self.by-version."mkdirp"."0.5.0";
   by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.5.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
@@ -11117,20 +12035,19 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-      self.by-version."minimist"."0.0.8"
-    ];
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
   "mkdirp" = self.by-version."mkdirp"."0.5.0";
-  by-spec."mkdirp"."0" =
-    self.by-version."mkdirp"."0.5.0";
   by-spec."mkdirp"."0.3.0" =
     self.by-version."mkdirp"."0.3.0";
   by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.0";
+    name = "mkdirp-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
@@ -11140,8 +12057,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
@@ -11149,7 +12066,8 @@
   by-spec."mkdirp"."0.3.5" =
     self.by-version."mkdirp"."0.3.5";
   by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
+    name = "mkdirp-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
@@ -11159,8 +12077,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
@@ -11191,6 +12109,7 @@
     self.by-version."mocha"."1.21.4";
   by-version."mocha"."1.21.4" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-1.21.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha/-/mocha-1.21.4.tgz";
@@ -11200,15 +12119,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."growl"."1.8.1"
-      self.by-version."jade"."0.26.3"
-      self.by-version."diff"."1.0.7"
-      self.by-version."debug"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "diff-1.0.7" = self.by-version."diff"."1.0.7";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
@@ -11218,6 +12137,7 @@
     self.by-version."mocha"."1.20.1";
   by-version."mocha"."1.20.1" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-1.20.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha/-/mocha-1.20.1.tgz";
@@ -11227,15 +12147,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha" or []);
-    deps = [
-      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"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "growl-1.7.0" = self.by-version."growl"."1.7.0";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "diff-1.0.7" = self.by-version."diff"."1.0.7";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
@@ -11244,6 +12164,7 @@
     self.by-version."mocha-phantomjs"."3.5.0";
   by-version."mocha-phantomjs"."3.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-phantomjs-3.5.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.5.0.tgz";
@@ -11253,10 +12174,10 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha-phantomjs" or []);
-    deps = [
-      self.by-version."mocha"."1.20.1"
-      self.by-version."commander"."2.0.0"
-    ];
+    deps = {
+      "mocha-1.20.1" = self.by-version."mocha"."1.20.1";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+    };
     peerDependencies = [
       self.by-version."phantomjs"."1.9.7-15"
     ];
@@ -11266,7 +12187,8 @@
   by-spec."mocha-unfunk-reporter"."*" =
     self.by-version."mocha-unfunk-reporter"."0.4.0";
   by-version."mocha-unfunk-reporter"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mocha-unfunk-reporter-0.4.0";
+    name = "mocha-unfunk-reporter-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
@@ -11276,12 +12198,12 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha-unfunk-reporter" or []);
-    deps = [
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."unfunk-diff"."0.0.2"
-      self.by-version."miniwrite"."0.1.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
+    deps = {
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "unfunk-diff-0.0.2" = self.by-version."unfunk-diff"."0.0.2";
+      "miniwrite-0.1.3" = self.by-version."miniwrite"."0.1.3";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha-unfunk-reporter" ];
@@ -11291,6 +12213,7 @@
     self.by-version."module-deps"."3.5.5";
   by-version."module-deps"."3.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "module-deps-3.5.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/module-deps/-/module-deps-3.5.5.tgz";
@@ -11300,22 +12223,22 @@
     ];
     buildInputs =
       (self.nativeDeps."module-deps" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."detective"."3.1.0"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."parents"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."stream-combiner2"."1.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."through2"."0.4.2"
-    ];
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "browser-resolve-1.3.2" = self.by-version."browser-resolve"."1.3.2";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "detective-3.1.0" = self.by-version."detective"."3.1.0";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "parents-1.0.0" = self.by-version."parents"."1.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "stream-combiner2-1.0.1" = self.by-version."stream-combiner2"."1.0.1";
+      "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
+      "through2-0.4.2" = self.by-version."through2"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "module-deps" ];
@@ -11323,7 +12246,8 @@
   by-spec."moment"."2.1.0" =
     self.by-version."moment"."2.1.0";
   by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.1.0";
+    name = "moment-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
@@ -11333,8 +12257,8 @@
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
@@ -11342,7 +12266,8 @@
   by-spec."moment"."~2.4.0" =
     self.by-version."moment"."2.4.0";
   by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.4.0";
+    name = "moment-2.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
@@ -11352,58 +12277,60 @@
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  by-spec."moment"."~2.7.0" =
-    self.by-version."moment"."2.7.0";
-  by-version."moment"."2.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.7.0";
+  by-spec."moment"."~2.8.2" =
+    self.by-version."moment"."2.8.3";
+  by-version."moment"."2.8.3" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.8.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
-        name = "moment-2.7.0.tgz";
-        sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
+        url = "http://registry.npmjs.org/moment/-/moment-2.8.3.tgz";
+        name = "moment-2.8.3.tgz";
+        sha1 = "a01427bf8910f014fc4baa1b8d96f17f7e3f29a2";
       })
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
   by-spec."mongodb"."*" =
-    self.by-version."mongodb"."1.4.8";
-  by-version."mongodb"."1.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.8";
+    self.by-version."mongodb"."2.0.0-alpha1";
+  by-version."mongodb"."2.0.0-alpha1" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-2.0.0-alpha1";
+    bin = false;
     src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.8.tgz";
-        name = "mongodb-1.4.8.tgz";
-        sha1 = "808802e296f78e5062ef46a87a90abd68031552f";
+      (fetchurl {
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-2.0.0-alpha1.tgz";
+        name = "mongodb-2.0.0-alpha1.tgz";
+        sha1 = "6d46f08fc00d5189715b66f715dd9a74b4c67123";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.11"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "mongodb-core-1.0.0-alpha7" = self.by-version."mongodb-core"."1.0.0-alpha7";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.by-version."mongodb"."1.4.8";
+  "mongodb" = self.by-version."mongodb"."2.0.0-alpha1";
   by-spec."mongodb"."1.2.14" =
     self.by-version."mongodb"."1.2.14";
   by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.2.14";
+    name = "mongodb-1.2.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
@@ -11413,9 +12340,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.1.8"
-    ];
+    deps = {
+      "bson-0.1.8" = self.by-version."bson"."0.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
@@ -11423,7 +12350,8 @@
   by-spec."mongodb"."1.3.19" =
     self.by-version."mongodb"."1.3.19";
   by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.19";
+    name = "mongodb-1.3.19";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
@@ -11433,10 +12361,10 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.2"
-      self.by-version."kerberos"."0.0.3"
-    ];
+    deps = {
+      "bson-0.2.2" = self.by-version."bson"."0.2.2";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
@@ -11444,7 +12372,8 @@
   by-spec."mongodb"."1.3.x" =
     self.by-version."mongodb"."1.3.23";
   by-version."mongodb"."1.3.23" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.23";
+    name = "mongodb-1.3.23";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz";
@@ -11454,40 +12383,66 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.5"
-      self.by-version."kerberos"."0.0.3"
-    ];
+    deps = {
+      "bson-0.2.5" = self.by-version."bson"."0.2.5";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  by-spec."mongodb"."1.4.7" =
-    self.by-version."mongodb"."1.4.7";
-  by-version."mongodb"."1.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.7";
+  by-spec."mongodb"."1.4.9" =
+    self.by-version."mongodb"."1.4.9";
+  by-version."mongodb"."1.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-1.4.9";
+    bin = false;
     src = [
       (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.7.tgz";
-        name = "mongodb-1.4.7.tgz";
-        sha1 = "f605b5d43c6c018c7d56d2fb53984dd60a7be128";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.9.tgz";
+        name = "mongodb-1.4.9.tgz";
+        sha1 = "c30b9724248be471d30235e2d542646d3b869bc2";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.9"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "bson-0.2.12" = self.by-version."bson"."0.2.12";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
+  by-spec."mongodb-core"."~1.0" =
+    self.by-version."mongodb-core"."1.0.0-alpha7";
+  by-version."mongodb-core"."1.0.0-alpha7" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-core-1.0.0-alpha7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mongodb-core/-/mongodb-core-1.0.0-alpha7.tgz";
+        name = "mongodb-core-1.0.0-alpha7.tgz";
+        sha1 = "6c3c54e777d26576b66e6fd22612d06ec60df44e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mongodb-core" or []);
+    deps = {
+      "bson-0.2.15" = self.by-version."bson"."0.2.15";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.6" = self.by-version."rimraf"."2.2.6";
+      "kerberos-0.0.4" = self.by-version."kerberos"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mongodb-core" ];
+  };
   by-spec."mongoose"."3.6.7" =
     self.by-version."mongoose"."3.6.7";
   by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.7";
+    name = "mongoose-3.6.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
@@ -11497,15 +12452,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.2.14" = self.by-version."mongodb"."1.2.14";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.3" = self.by-version."sliced"."0.0.3";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
@@ -11513,7 +12468,8 @@
   by-spec."mongoose"."3.6.x" =
     self.by-version."mongoose"."3.6.20";
   by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.20";
+    name = "mongoose-3.6.20";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
@@ -11523,45 +12479,46 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.3.19" = self.by-version."mongodb"."1.3.19";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
   "mongoose" = self.by-version."mongoose"."3.6.20";
   by-spec."mongoose"."3.8.x" =
-    self.by-version."mongoose"."3.8.15";
-  by-version."mongoose"."3.8.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.8.15";
+    self.by-version."mongoose"."3.8.16";
+  by-version."mongoose"."3.8.16" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.16";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.15.tgz";
-        name = "mongoose-3.8.15.tgz";
-        sha1 = "2bc089d011f9e4e662e3aa2aab00771ef43847c1";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.16.tgz";
+        name = "mongoose-3.8.16.tgz";
+        sha1 = "485df4669b5a66b642a29af76605f11664c023ae";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."mongodb"."1.4.7"
-      self.by-version."hooks"."0.2.1"
-      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.4.3"
-      self.by-version."mpath"."0.1.1"
-      self.by-version."regexp-clone"."0.0.1"
-      self.by-version."mquery"."0.8.0"
-    ];
+    deps = {
+      "mongodb-1.4.9" = self.by-version."mongodb"."1.4.9";
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.4.3" = self.by-version."mpromise"."0.4.3";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+      "mquery-0.8.0" = self.by-version."mquery"."0.8.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
@@ -11569,7 +12526,8 @@
   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 = "node-mongoose-lifecycle-1.0.0";
+    name = "mongoose-lifecycle-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
@@ -11579,8 +12537,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose-lifecycle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-lifecycle" ];
@@ -11588,7 +12546,8 @@
   by-spec."mongoose-schema-extend"."*" =
     self.by-version."mongoose-schema-extend"."0.1.7";
   by-version."mongoose-schema-extend"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-schema-extend-0.1.7";
+    name = "mongoose-schema-extend-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
@@ -11598,9 +12557,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose-schema-extend" or []);
-    deps = [
-      self.by-version."owl-deepcopy"."0.0.4"
-    ];
+    deps = {
+      "owl-deepcopy-0.0.4" = self.by-version."owl-deepcopy"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-schema-extend" ];
@@ -11609,7 +12568,8 @@
   by-spec."monocle"."1.1.50" =
     self.by-version."monocle"."1.1.50";
   by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.50";
+    name = "monocle-1.1.50";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
@@ -11619,9 +12579,9 @@
     ];
     buildInputs =
       (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
@@ -11629,7 +12589,8 @@
   by-spec."monocle"."1.1.51" =
     self.by-version."monocle"."1.1.51";
   by-version."monocle"."1.1.51" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.51";
+    name = "monocle-1.1.51";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz";
@@ -11639,32 +12600,33 @@
     ];
     buildInputs =
       (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
   };
-  by-spec."morgan"."~1.2.3" =
-    self.by-version."morgan"."1.2.3";
-  by-version."morgan"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-morgan-1.2.3";
+  by-spec."morgan"."~1.3.0" =
+    self.by-version."morgan"."1.3.0";
+  by-version."morgan"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "morgan-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/morgan/-/morgan-1.2.3.tgz";
-        name = "morgan-1.2.3.tgz";
-        sha1 = "3b0f1704df90255a542591abacd797891a8c40a1";
+        url = "http://registry.npmjs.org/morgan/-/morgan-1.3.0.tgz";
+        name = "morgan-1.3.0.tgz";
+        sha1 = "ae8e835e365b306a10803a90ddfe27b4a33594f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."morgan" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-finished"."2.1.0"
-    ];
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "morgan" ];
@@ -11672,7 +12634,8 @@
   by-spec."mpath"."0.1.1" =
     self.by-version."mpath"."0.1.1";
   by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpath-0.1.1";
+    name = "mpath-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
@@ -11682,8 +12645,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mpath" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
@@ -11691,7 +12654,8 @@
   by-spec."mpromise"."0.2.1" =
     self.by-version."mpromise"."0.2.1";
   by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.2.1";
+    name = "mpromise-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
@@ -11701,9 +12665,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mpromise" or []);
-    deps = [
-      self.by-version."sliced"."0.0.4"
-    ];
+    deps = {
+      "sliced-0.0.4" = self.by-version."sliced"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
@@ -11711,7 +12675,8 @@
   by-spec."mpromise"."0.4.3" =
     self.by-version."mpromise"."0.4.3";
   by-version."mpromise"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.4.3";
+    name = "mpromise-0.4.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz";
@@ -11721,8 +12686,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mpromise" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
@@ -11730,7 +12695,8 @@
   by-spec."mquery"."0.8.0" =
     self.by-version."mquery"."0.8.0";
   by-version."mquery"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mquery-0.8.0";
+    name = "mquery-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz";
@@ -11740,11 +12706,11 @@
     ];
     buildInputs =
       (self.nativeDeps."mquery" or []);
-    deps = [
-      self.by-version."sliced"."0.0.5"
-      self.by-version."debug"."0.7.4"
-      self.by-version."regexp-clone"."0.0.1"
-    ];
+    deps = {
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
@@ -11752,7 +12718,8 @@
   by-spec."ms"."0.1.0" =
     self.by-version."ms"."0.1.0";
   by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.1.0";
+    name = "ms-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
@@ -11762,8 +12729,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ms" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
@@ -11771,7 +12738,8 @@
   by-spec."ms"."0.6.2" =
     self.by-version."ms"."0.6.2";
   by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.6.2";
+    name = "ms-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
@@ -11781,8 +12749,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ms" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
@@ -11791,6 +12759,7 @@
     self.by-version."msgpack"."0.2.4";
   by-version."msgpack"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "msgpack-0.2.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.4.tgz";
@@ -11800,9 +12769,9 @@
     ];
     buildInputs =
       (self.nativeDeps."msgpack" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
+    deps = {
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
@@ -11810,7 +12779,8 @@
   by-spec."multiparty"."2.2.0" =
     self.by-version."multiparty"."2.2.0";
   by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-2.2.0";
+    name = "multiparty-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
@@ -11820,10 +12790,10 @@
     ];
     buildInputs =
       (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
@@ -11831,7 +12801,8 @@
   by-spec."multiparty"."3.3.2" =
     self.by-version."multiparty"."3.3.2";
   by-version."multiparty"."3.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-3.3.2";
+    name = "multiparty-3.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
@@ -11841,18 +12812,40 @@
     ];
     buildInputs =
       (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
+  by-spec."multipipe"."^0.1.0" =
+    self.by-version."multipipe"."0.1.1";
+  by-version."multipipe"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "multipipe-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/multipipe/-/multipipe-0.1.1.tgz";
+        name = "multipipe-0.1.1.tgz";
+        sha1 = "bc271fbb2bf3a5ed3e43cc6ba3d7dbc1c4eb07fb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."multipipe" or []);
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "multipipe" ];
+  };
   by-spec."muri"."0.3.1" =
     self.by-version."muri"."0.3.1";
   by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-muri-0.3.1";
+    name = "muri-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
@@ -11862,8 +12855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."muri" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
@@ -11871,7 +12864,8 @@
   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 = "node-mute-stream-0.0.4";
+    name = "mute-stream-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
@@ -11881,8 +12875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mute-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
@@ -11890,7 +12884,8 @@
   by-spec."mv"."0.0.5" =
     self.by-version."mv"."0.0.5";
   by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mv-0.0.5";
+    name = "mv-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
@@ -11900,8 +12895,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
@@ -11909,7 +12904,8 @@
   by-spec."mz"."1" =
     self.by-version."mz"."1.0.1";
   by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mz-1.0.1";
+    name = "mz-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
@@ -11919,9 +12915,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mz" or []);
-    deps = [
-      self.by-version."native-or-bluebird"."1.0.0"
-    ];
+    deps = {
+      "native-or-bluebird-1.1.1" = self.by-version."native-or-bluebird"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mz" ];
@@ -11929,7 +12925,8 @@
   by-spec."nan"."1.1.2" =
     self.by-version."nan"."1.1.2";
   by-version."nan"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.1.2";
+    name = "nan-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.1.2.tgz";
@@ -11939,8 +12936,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -11948,7 +12945,8 @@
   by-spec."nan"."1.2.0" =
     self.by-version."nan"."1.2.0";
   by-version."nan"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.2.0";
+    name = "nan-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.2.0.tgz";
@@ -11958,8 +12956,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -11967,7 +12965,8 @@
   by-spec."nan"."1.3.0" =
     self.by-version."nan"."1.3.0";
   by-version."nan"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.3.0";
+    name = "nan-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.3.0.tgz";
@@ -11977,18 +12976,19 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  by-spec."nan".">=1.1.0" =
+  by-spec."nan".">=1.3.0" =
     self.by-version."nan"."1.3.0";
   by-spec."nan"."~0.8.0" =
     self.by-version."nan"."0.8.0";
   by-version."nan"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-0.8.0";
+    name = "nan-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz";
@@ -11998,8 +12998,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -12007,7 +13007,8 @@
   by-spec."nan"."~1.0.0" =
     self.by-version."nan"."1.0.0";
   by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.0.0";
+    name = "nan-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
@@ -12017,8 +13018,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -12028,20 +13029,21 @@
   by-spec."nan"."~1.2.0" =
     self.by-version."nan"."1.2.0";
   by-spec."native-or-bluebird"."1" =
-    self.by-version."native-or-bluebird"."1.0.0";
-  by-version."native-or-bluebird"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-native-or-bluebird-1.0.0";
+    self.by-version."native-or-bluebird"."1.1.1";
+  by-version."native-or-bluebird"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "native-or-bluebird-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.0.0.tgz";
-        name = "native-or-bluebird-1.0.0.tgz";
-        sha1 = "2259f00d3b8621a9e6389f0d99badfcc2d8fccfe";
+        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.1.tgz";
+        name = "native-or-bluebird-1.1.1.tgz";
+        sha1 = "9131a6d6532afdfb5635f9703734cc6652c905ee";
       })
     ];
     buildInputs =
       (self.nativeDeps."native-or-bluebird" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "native-or-bluebird" ];
@@ -12049,7 +13051,8 @@
   by-spec."natural"."0.1.17" =
     self.by-version."natural"."0.1.17";
   by-version."natural"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-natural-0.1.17";
+    name = "natural-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/natural/-/natural-0.1.17.tgz";
@@ -12059,11 +13062,11 @@
     ];
     buildInputs =
       (self.nativeDeps."natural" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-      self.by-version."apparatus"."0.0.8"
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+      "apparatus-0.0.8" = self.by-version."apparatus"."0.0.8";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "natural" ];
@@ -12071,7 +13074,8 @@
   by-spec."nconf"."*" =
     self.by-version."nconf"."0.6.9";
   by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nconf-0.6.9";
+    name = "nconf-0.6.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
@@ -12081,11 +13085,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nconf" or []);
-    deps = [
-      self.by-version."async"."0.2.9"
-      self.by-version."ini"."1.2.1"
-      self.by-version."optimist"."0.6.0"
-    ];
+    deps = {
+      "async-0.2.9" = self.by-version."async"."0.2.9";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
@@ -12099,6 +13103,7 @@
     self.by-version."ncp"."0.2.7";
   by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
@@ -12108,8 +13113,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
@@ -12118,6 +13123,7 @@
     self.by-version."ncp"."0.4.2";
   by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
@@ -12127,8 +13133,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
@@ -12140,7 +13146,8 @@
   by-spec."negotiator"."0.2.5" =
     self.by-version."negotiator"."0.2.5";
   by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.2.5";
+    name = "negotiator-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
@@ -12150,8 +13157,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12159,7 +13166,8 @@
   by-spec."negotiator"."0.3.0" =
     self.by-version."negotiator"."0.3.0";
   by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.3.0";
+    name = "negotiator-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
@@ -12169,8 +13177,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12178,7 +13186,8 @@
   by-spec."negotiator"."0.4.7" =
     self.by-version."negotiator"."0.4.7";
   by-version."negotiator"."0.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.4.7";
+    name = "negotiator-0.4.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
@@ -12188,8 +13197,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12199,7 +13208,8 @@
   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 = "node-net-ping-1.1.7";
+    name = "net-ping-1.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
@@ -12209,9 +13219,9 @@
     ];
     buildInputs =
       (self.nativeDeps."net-ping" or []);
-    deps = [
-      self.by-version."raw-socket"."1.2.2"
-    ];
+    deps = {
+      "raw-socket-1.2.2" = self.by-version."raw-socket"."1.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
@@ -12219,7 +13229,8 @@
   by-spec."nib"."0.5.0" =
     self.by-version."nib"."0.5.0";
   by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nib-0.5.0";
+    name = "nib-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
@@ -12229,38 +13240,40 @@
     ];
     buildInputs =
       (self.nativeDeps."nib" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
   by-spec."nijs"."*" =
-    self.by-version."nijs"."0.0.14";
-  by-version."nijs"."0.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "nijs-0.0.14";
+    self.by-version."nijs"."0.0.15";
+  by-version."nijs"."0.0.15" = lib.makeOverridable self.buildNodePackage {
+    name = "nijs-0.0.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.14.tgz";
-        name = "nijs-0.0.14.tgz";
-        sha1 = "e4851865ee94567e33c7c7e6d7d92c031e8f1eab";
+        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.15.tgz";
+        name = "nijs-0.0.15.tgz";
+        sha1 = "71c3963969f5b1b6a4bb99d3cd574e87aac14592";
       })
     ];
     buildInputs =
       (self.nativeDeps."nijs" or []);
-    deps = [
-      self.by-version."optparse"."1.0.5"
-      self.by-version."slasp"."0.0.3"
-    ];
+    deps = {
+      "optparse-1.0.5" = self.by-version."optparse"."1.0.5";
+      "slasp-0.0.4" = self.by-version."slasp"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.by-version."nijs"."0.0.14";
+  "nijs" = self.by-version."nijs"."0.0.15";
   by-spec."node-appc"."0.2.0" =
     self.by-version."node-appc"."0.2.0";
   by-version."node-appc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-appc-0.2.0";
+    name = "node-appc-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz";
@@ -12270,23 +13283,23 @@
     ];
     buildInputs =
       (self.nativeDeps."node-appc" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."diff"."1.0.8"
-      self.by-version."dox"."0.4.6"
-      self.by-version."jade"."0.35.0"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.1.0"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."wrench"."1.5.8"
-      self.by-version."uglify-js"."2.3.6"
-      self.by-version."xmldom"."0.1.19"
-    ];
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "dox-0.4.6" = self.by-version."dox"."0.4.6";
+      "jade-0.35.0" = self.by-version."jade"."0.35.0";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "semver-2.1.0" = self.by-version."semver"."2.1.0";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-appc" ];
@@ -12294,7 +13307,8 @@
   by-spec."node-expat"."*" =
     self.by-version."node-expat"."2.3.1";
   by-version."node-expat"."2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-expat-2.3.1";
+    name = "node-expat-2.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-expat/-/node-expat-2.3.1.tgz";
@@ -12304,84 +13318,56 @@
     ];
     buildInputs =
       (self.nativeDeps."node-expat" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.2.0"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-expat" ];
   };
   "node-expat" = self.by-version."node-expat"."2.3.1";
   by-spec."node-gyp"."*" =
-    self.by-version."node-gyp"."1.0.1";
-  by-version."node-gyp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-1.0.1";
+    self.by-version."node-gyp"."1.0.2";
+  by-version."node-gyp"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-1.0.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.1.tgz";
-        name = "node-gyp-1.0.1.tgz";
-        sha1 = "d5e364145ff10b259be9986855c83b5a76a2d975";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.2.tgz";
+        name = "node-gyp-1.0.2.tgz";
+        sha1 = "b0bb6d2d762271408dd904853e7aa3000ed2eb57";
       })
     ];
     buildInputs =
       (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."tar"."1.0.1"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.by-version."node-gyp"."1.0.1";
-  by-spec."node-gyp"."~0.13.0" =
-    self.by-version."node-gyp"."0.13.1";
-  by-version."node-gyp"."0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.13.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.13.1.tgz";
-        name = "node-gyp-0.13.1.tgz";
-        sha1 = "5a484dd2dc13d5b894a8fe781a250c07eae7bffa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.2.1"
-      self.by-version."tar"."0.1.20"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "tar-1.0.1" = self.by-version."tar"."1.0.1";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
+  "node-gyp" = self.by-version."node-gyp"."1.0.2";
+  by-spec."node-gyp"."~1.0.1" =
+    self.by-version."node-gyp"."1.0.2";
   by-spec."node-inspector"."*" =
     self.by-version."node-inspector"."0.7.4";
   by-version."node-inspector"."0.7.4" = lib.makeOverridable self.buildNodePackage {
     name = "node-inspector-0.7.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.4.tgz";
@@ -12391,49 +13377,51 @@
     ];
     buildInputs =
       (self.nativeDeps."node-inspector" or []);
-    deps = [
-      self.by-version."express"."4.0.0"
-      self.by-version."async"."0.8.0"
-      self.by-version."glob"."3.2.11"
-      self.by-version."rc"."0.3.5"
-      self.by-version."strong-data-uri"."0.1.1"
-      self.by-version."debug"."0.8.1"
-      self.by-version."ws"."0.4.32"
-      self.by-version."opener"."1.3.0"
-      self.by-version."yargs"."1.2.6"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "express-4.0.0" = self.by-version."express"."4.0.0";
+      "async-0.8.0" = self.by-version."async"."0.8.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "rc-0.3.5" = self.by-version."rc"."0.3.5";
+      "strong-data-uri-0.1.1" = self.by-version."strong-data-uri"."0.1.1";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "opener-1.3.0" = self.by-version."opener"."1.3.0";
+      "yargs-1.2.6" = self.by-version."yargs"."1.2.6";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-inspector" ];
   };
   "node-inspector" = self.by-version."node-inspector"."0.7.4";
   by-spec."node-protobuf"."*" =
-    self.by-version."node-protobuf"."1.2.0";
-  by-version."node-protobuf"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-protobuf-1.2.0";
+    self.by-version."node-protobuf"."1.2.1";
+  by-version."node-protobuf"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-protobuf-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.0.tgz";
-        name = "node-protobuf-1.2.0.tgz";
-        sha1 = "c69ca29f149431b6b6ec8079ec2ee01aa0590bcc";
+        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.1.tgz";
+        name = "node-protobuf-1.2.1.tgz";
+        sha1 = "d517eb4cdcfac002390ace6b8f0b865322eef049";
       })
     ];
     buildInputs =
       (self.nativeDeps."node-protobuf" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.3.0"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-protobuf" ];
   };
-  "node-protobuf" = self.by-version."node-protobuf"."1.2.0";
+  "node-protobuf" = self.by-version."node-protobuf"."1.2.1";
   by-spec."node-swt".">=0.1.1" =
     self.by-version."node-swt"."0.1.1";
   by-version."node-swt"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-swt-0.1.1";
+    name = "node-swt-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
@@ -12443,8 +13431,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-swt" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-swt" ];
@@ -12452,7 +13440,8 @@
   by-spec."node-syslog"."1.1.7" =
     self.by-version."node-syslog"."1.1.7";
   by-version."node-syslog"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-syslog-1.1.7";
+    name = "node-syslog-1.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz";
@@ -12462,8 +13451,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-syslog" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-syslog" ];
@@ -12471,7 +13460,8 @@
   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-node-uptime-3.2.0";
+    name = "node-uptime-3.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
@@ -12481,22 +13471,22 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uptime" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "mongoose-3.6.7" = self.by-version."mongoose"."3.6.7";
+      "mongoose-lifecycle-1.0.0" = self.by-version."mongoose-lifecycle"."1.0.0";
+      "express-3.2.0" = self.by-version."express"."3.2.0";
+      "express-partials-0.0.6" = self.by-version."express-partials"."0.0.6";
+      "connect-flash-0.1.0" = self.by-version."connect-flash"."0.1.0";
+      "ejs-0.8.3" = self.by-version."ejs"."0.8.3";
+      "config-0.4.15" = self.by-version."config"."0.4.15";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "socket.io-0.9.14" = self.by-version."socket.io"."0.9.14";
+      "semver-1.1.0" = self.by-version."semver"."1.1.0";
+      "moment-2.1.0" = self.by-version."moment"."2.1.0";
+      "nodemailer-0.3.35" = self.by-version."nodemailer"."0.3.35";
+      "net-ping-1.1.7" = self.by-version."net-ping"."1.1.7";
+      "js-yaml-2.1.0" = self.by-version."js-yaml"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uptime" ];
@@ -12505,7 +13495,8 @@
   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-node-uuid-1.4.1";
+    name = "node-uuid-1.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
@@ -12515,8 +13506,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12525,7 +13516,8 @@
   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-node-uuid-1.3.3";
+    name = "node-uuid-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
@@ -12535,8 +13527,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12544,7 +13536,8 @@
   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-node-uuid-1.4.0";
+    name = "node-uuid-1.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
@@ -12554,8 +13547,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12569,7 +13562,8 @@
   by-spec."node-wsfederation".">=0.1.1" =
     self.by-version."node-wsfederation"."0.1.1";
   by-version."node-wsfederation"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-wsfederation-0.1.1";
+    name = "node-wsfederation-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
@@ -12579,9 +13573,9 @@
     ];
     buildInputs =
       (self.nativeDeps."node-wsfederation" or []);
-    deps = [
-      self.by-version."xml2js"."0.4.4"
-    ];
+    deps = {
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-wsfederation" ];
@@ -12589,7 +13583,8 @@
   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-node.extend-1.0.0";
+    name = "node.extend-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
@@ -12599,8 +13594,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node.extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
@@ -12609,6 +13604,7 @@
     self.by-version."nodemailer"."0.3.35";
   by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
@@ -12618,11 +13614,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nodemailer" or []);
-    deps = [
-      self.by-version."mailcomposer"."0.2.12"
-      self.by-version."simplesmtp"."0.3.32"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "mailcomposer-0.2.12" = self.by-version."mailcomposer"."0.2.12";
+      "simplesmtp-0.3.33" = self.by-version."simplesmtp"."0.3.33";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
@@ -12631,6 +13627,7 @@
     self.by-version."nodemon"."1.2.1";
   by-version."nodemon"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "nodemon-1.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nodemon/-/nodemon-1.2.1.tgz";
@@ -12640,11 +13637,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nodemon" or []);
-    deps = [
-      self.by-version."update-notifier"."0.1.10"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-    ];
+    deps = {
+      "update-notifier-0.1.10" = self.by-version."update-notifier"."0.1.10";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
@@ -12653,7 +13650,8 @@
   by-spec."nomnom"."1.6.x" =
     self.by-version."nomnom"."1.6.2";
   by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nomnom-1.6.2";
+    name = "nomnom-1.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
@@ -12663,10 +13661,10 @@
     ];
     buildInputs =
       (self.nativeDeps."nomnom" or []);
-    deps = [
-      self.by-version."colors"."0.5.1"
-      self.by-version."underscore"."1.4.4"
-    ];
+    deps = {
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
@@ -12675,6 +13673,7 @@
     self.by-version."nopt"."2.2.1";
   by-version."nopt"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
@@ -12684,9 +13683,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12695,6 +13694,7 @@
     self.by-version."nopt"."3.0.1";
   by-version."nopt"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
@@ -12704,9 +13704,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12715,6 +13715,7 @@
     self.by-version."nopt"."2.0.0";
   by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
@@ -12724,9 +13725,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12737,6 +13738,7 @@
     self.by-version."nopt"."1.0.10";
   by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
@@ -12746,9 +13748,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12757,6 +13759,7 @@
     self.by-version."nopt"."2.1.2";
   by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
@@ -12766,138 +13769,122 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
   by-spec."nopt"."~3.0.1" =
     self.by-version."nopt"."3.0.1";
-  by-spec."normalize-package-data"."0.4" =
-    self.by-version."normalize-package-data"."0.4.2";
-  by-version."normalize-package-data"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.4.2.tgz";
-        name = "normalize-package-data-0.4.2.tgz";
-        sha1 = "166dc052a74e2f5ac1d3d23903ab3f2e2b7dd8e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.1.1"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "normalize-package-data" ];
-  };
   by-spec."normalize-package-data"."^1.0.0" =
-    self.by-version."normalize-package-data"."1.0.0";
-  by-version."normalize-package-data"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-1.0.0";
+    self.by-version."normalize-package-data"."1.0.2";
+  by-version."normalize-package-data"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.0.tgz";
-        name = "normalize-package-data-1.0.0.tgz";
-        sha1 = "5239d9921791a8ad027607f580a74c76166623c8";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.2.tgz";
+        name = "normalize-package-data-1.0.2.tgz";
+        sha1 = "32a902ad3cad3286f1106b9b9550062f44ee2118";
       })
     ];
     buildInputs =
       (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
+  by-spec."normalize-package-data"."~1.0.1" =
+    self.by-version."normalize-package-data"."1.0.2";
   by-spec."npm"."*" =
-    self.by-version."npm"."2.0.0-alpha-5";
-  by-version."npm"."2.0.0-alpha-5" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-2.0.0-alpha-5";
+    self.by-version."npm"."2.0.0-beta.3";
+  by-version."npm"."2.0.0-beta.3" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-2.0.0-beta.3";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-alpha-5.tgz";
-        name = "npm-2.0.0-alpha-5.tgz";
-        sha1 = "5135b111cb6b8e56ab1bdc4e486b87c295862ca8";
+        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-beta.3.tgz";
+        name = "npm-2.0.0-beta.3.tgz";
+        sha1 = "73857425b2b22a01949653d3fbe6ed917e6f850d";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."ansi"."0.3.0"
-      self.by-version."ansicolors"."0.3.2"
-      self.by-version."ansistyles"."0.1.3"
-      self.by-version."archy"."0.0.2"
-      self.by-version."async-some"."1.0.1"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."char-spinner"."1.0.1"
-      self.by-version."child-process-close"."0.1.1"
-      self.by-version."chmodr"."0.1.0"
-      self.by-version."chownr"."0.0.1"
-      self.by-version."cmd-shim"."1.1.2"
-      self.by-version."columnify"."1.1.0"
-      self.by-version."editor"."0.1.0"
-      self.by-version."fs-vacuum"."1.2.1"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."fstream-npm"."0.1.8"
-      self.by-version."github-url-from-git"."1.2.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inflight"."1.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."init-package-json"."0.1.2"
-      self.by-version."lockfile"."0.4.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."node-gyp"."0.13.1"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."npm-install-checks"."1.0.3"
-      self.by-version."npm-package-arg"."2.0.2"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npm-user-validate"."0.1.0"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."opener"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."path-is-inside"."1.0.1"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-installed"."2.0.7"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."request"."2.30.0"
-      self.by-version."retry"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.3.2"
-      self.by-version."sha"."1.2.4"
-      self.by-version."slide"."1.1.5"
-      self.by-version."sorted-object"."1.0.0"
-      self.by-version."tar"."0.1.20"
-      self.by-version."text-table"."0.2.0"
-      self.by-version."uid-number"."0.0.5"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
+      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "async-some-1.0.1" = self.by-version."async-some"."1.0.1";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "char-spinner-1.0.1" = self.by-version."char-spinner"."1.0.1";
+      "child-process-close-0.1.1" = self.by-version."child-process-close"."0.1.1";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "cmd-shim-2.0.1" = self.by-version."cmd-shim"."2.0.1";
+      "columnify-1.2.1" = self.by-version."columnify"."1.2.1";
+      "editor-0.1.0" = self.by-version."editor"."0.1.0";
+      "fs-vacuum-1.2.1" = self.by-version."fs-vacuum"."1.2.1";
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "fstream-npm-1.0.0" = self.by-version."fstream-npm"."1.0.0";
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inflight-1.0.1" = self.by-version."inflight"."1.0.1";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "init-package-json-1.0.1" = self.by-version."init-package-json"."1.0.1";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "node-gyp-1.0.2" = self.by-version."node-gyp"."1.0.2";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "npm-install-checks-1.0.4" = self.by-version."npm-install-checks"."1.0.4";
+      "npm-package-arg-2.1.1" = self.by-version."npm-package-arg"."2.1.1";
+      "npm-registry-client-3.1.8" = self.by-version."npm-registry-client"."3.1.8";
+      "npm-user-validate-0.1.0" = self.by-version."npm-user-validate"."0.1.0";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "opener-1.3.0" = self.by-version."opener"."1.3.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-installed-3.1.3" = self.by-version."read-installed"."3.1.3";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "sha-1.2.4" = self.by-version."sha"."1.2.4";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "sorted-object-1.0.0" = self.by-version."sorted-object"."1.0.0";
+      "tar-1.0.1" = self.by-version."tar"."1.0.1";
+      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.by-version."npm"."2.0.0-alpha-5";
+  "npm" = self.by-version."npm"."2.0.0-beta.3";
   by-spec."npm-cache-filename"."^1.0.0" =
     self.by-version."npm-cache-filename"."1.0.1";
   by-version."npm-cache-filename"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-cache-filename-1.0.1";
+    name = "npm-cache-filename-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.1.tgz";
@@ -12907,8 +13894,8 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-cache-filename" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-cache-filename" ];
@@ -12916,42 +13903,44 @@
   by-spec."npm-cache-filename"."~1.0.1" =
     self.by-version."npm-cache-filename"."1.0.1";
   by-spec."npm-install-checks"."~1.0.2" =
-    self.by-version."npm-install-checks"."1.0.3";
-  by-version."npm-install-checks"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-install-checks-1.0.3";
+    self.by-version."npm-install-checks"."1.0.4";
+  by-version."npm-install-checks"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-install-checks-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.3.tgz";
-        name = "npm-install-checks-1.0.3.tgz";
-        sha1 = "9301006141a8f1454ae6bfe9a2f89da91316de02";
+        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.4.tgz";
+        name = "npm-install-checks-1.0.4.tgz";
+        sha1 = "9757c6f9d4d493c2489465da6d07a8ed416d44c8";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-install-checks" or []);
-    deps = [
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-install-checks" ];
   };
-  by-spec."npm-package-arg"."~2.0.0" =
-    self.by-version."npm-package-arg"."2.0.2";
-  by-version."npm-package-arg"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-package-arg-2.0.2";
+  by-spec."npm-package-arg"."~2.1.0" =
+    self.by-version."npm-package-arg"."2.1.1";
+  by-version."npm-package-arg"."2.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-package-arg-2.1.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.0.2.tgz";
-        name = "npm-package-arg-2.0.2.tgz";
-        sha1 = "e4f660c683068eccba9b27b4075cc00c0ccc6037";
+        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.1.1.tgz";
+        name = "npm-package-arg-2.1.1.tgz";
+        sha1 = "05cd158bd581be9588b588d0937ebfe649ff04cd";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-package-arg" or []);
-    deps = [
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-package-arg" ];
@@ -12959,7 +13948,8 @@
   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 = "node-npm-registry-client-0.2.27";
+    name = "npm-registry-client-0.2.27";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
@@ -12969,58 +13959,61 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-      self.by-version."graceful-fs"."2.0.3"
-      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.8"
-      self.by-version."retry"."0.6.0"
-      self.by-version."couch-login"."0.1.20"
-      self.by-version."npmlog"."0.1.1"
-    ];
+    deps = {
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "semver-2.0.11" = self.by-version."semver"."2.0.11";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "couch-login-0.1.20" = self.by-version."couch-login"."0.1.20";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  by-spec."npm-registry-client"."~3.0.0" =
-    self.by-version."npm-registry-client"."3.0.6";
-  by-version."npm-registry-client"."3.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-registry-client-3.0.6";
+  by-spec."npm-registry-client"."~3.1.4" =
+    self.by-version."npm-registry-client"."3.1.8";
+  by-version."npm-registry-client"."3.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-3.1.8";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.0.6.tgz";
-        name = "npm-registry-client-3.0.6.tgz";
-        sha1 = "14a17d9a60ed2a80b04edcbc596dbce0d96540ee";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.1.8.tgz";
+        name = "npm-registry-client-3.1.8.tgz";
+        sha1 = "8cc5e0e6523683a95ba0735e53fddb5819372033";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."chownr"."0.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."normalize-package-data"."0.4.2"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."retry"."0.6.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."npmlog"."0.1.1"
-    ];
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  by-spec."npm-registry-client"."~3.0.2" =
-    self.by-version."npm-registry-client"."3.0.6";
+  by-spec."npm-registry-client"."~3.1.7" =
+    self.by-version."npm-registry-client"."3.1.8";
   by-spec."npm-user-validate"."~0.1.0" =
     self.by-version."npm-user-validate"."0.1.0";
   by-version."npm-user-validate"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-user-validate-0.1.0";
+    name = "npm-user-validate-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.0.tgz";
@@ -13030,44 +14023,46 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-user-validate" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
   by-spec."npm2nix"."*" =
-    self.by-version."npm2nix"."5.7.0";
-  by-version."npm2nix"."5.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.7.0";
+    self.by-version."npm2nix"."5.8.1";
+  by-version."npm2nix"."5.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.8.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.7.0.tgz";
-        name = "npm2nix-5.7.0.tgz";
-        sha1 = "ac4547c4ee35fd19fd8dfcf1b1f47eccfb6b6dfa";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.8.1.tgz";
+        name = "npm2nix-5.8.1.tgz";
+        sha1 = "0d8356b458caaa677b4a1225fea4900f2995982f";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm2nix" or []);
-    deps = [
-      self.by-version."semver"."2.3.2"
-      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.2.0"
-    ];
+    deps = {
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "npm-registry-client-0.2.27" = self.by-version."npm-registry-client"."0.2.27";
+      "npmconf-0.1.1" = self.by-version."npmconf"."0.1.1";
+      "tar-0.1.17" = self.by-version."tar"."0.1.17";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "fs.extra-1.2.1" = self.by-version."fs.extra"."1.2.1";
+      "findit-1.2.0" = self.by-version."findit"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.by-version."npm2nix"."5.7.0";
+  "npm2nix" = self.by-version."npm2nix"."5.8.1";
   by-spec."npmconf"."0.0.24" =
     self.by-version."npmconf"."0.0.24";
   by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.0.24";
+    name = "npmconf-0.0.24";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
@@ -13077,16 +14072,16 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      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.2.1"
-      self.by-version."semver"."1.1.4"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
@@ -13094,7 +14089,8 @@
   by-spec."npmconf"."0.1.1" =
     self.by-version."npmconf"."0.1.1";
   by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.1";
+    name = "npmconf-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
@@ -13104,16 +14100,16 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      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.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
@@ -13121,7 +14117,8 @@
   by-spec."npmconf"."~0.1.2" =
     self.by-version."npmconf"."0.1.16";
   by-version."npmconf"."0.1.16" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.16";
+    name = "npmconf-0.1.16";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
@@ -13131,54 +14128,56 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      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.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  by-spec."npmconf"."~2.0.1" =
-    self.by-version."npmconf"."2.0.5";
-  by-version."npmconf"."2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-2.0.5";
+  by-spec."npmconf"."~2.0.5" =
+    self.by-version."npmconf"."2.0.9";
+  by-version."npmconf"."2.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-2.0.9";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.5.tgz";
-        name = "npmconf-2.0.5.tgz";
-        sha1 = "70ad9975cd8d855e198a2deec8df6d04d932035c";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.9.tgz";
+        name = "npmconf-2.0.9.tgz";
+        sha1 = "5c87e5fb308104eceeca781e3d9115d216351ef2";
       })
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."semver"."3.0.1"
-      self.by-version."uid-number"."0.0.5"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  by-spec."npmconf"."~2.0.3" =
-    self.by-version."npmconf"."2.0.5";
+  by-spec."npmconf"."~2.0.8" =
+    self.by-version."npmconf"."2.0.9";
   by-spec."npmlog"."*" =
     self.by-version."npmlog"."0.1.1";
   by-version."npmlog"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmlog-0.1.1";
+    name = "npmlog-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz";
@@ -13188,9 +14187,9 @@
     ];
     buildInputs =
       (self.nativeDeps."npmlog" or []);
-    deps = [
-      self.by-version."ansi"."0.3.0"
-    ];
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmlog" ];
@@ -13204,7 +14203,8 @@
   by-spec."nssocket"."~0.5.1" =
     self.by-version."nssocket"."0.5.1";
   by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nssocket-0.5.1";
+    name = "nssocket-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
@@ -13214,10 +14214,10 @@
     ];
     buildInputs =
       (self.nativeDeps."nssocket" or []);
-    deps = [
-      self.by-version."eventemitter2"."0.4.14"
-      self.by-version."lazy"."1.0.11"
-    ];
+    deps = {
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "lazy-1.0.11" = self.by-version."lazy"."1.0.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nssocket" ];
@@ -13225,7 +14225,8 @@
   by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
     self.by-version."oauth"."0.9.11";
   by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-0.9.11";
+    name = "oauth-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "https://github.com/ciaranj/node-oauth/tarball/master";
@@ -13235,8 +14236,8 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth" ];
@@ -13244,7 +14245,8 @@
   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 = "node-oauth-sign-0.2.0";
+    name = "oauth-sign-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
@@ -13254,8 +14256,8 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
@@ -13263,7 +14265,8 @@
   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 = "node-oauth-sign-0.3.0";
+    name = "oauth-sign-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
@@ -13273,8 +14276,28 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth-sign" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+        name = "oauth-sign-0.4.0.tgz";
+        sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
@@ -13282,7 +14305,8 @@
   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 = "node-object-additions-0.5.1";
+    name = "object-additions-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
@@ -13292,8 +14316,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-additions" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-additions" ];
@@ -13301,7 +14325,8 @@
   by-spec."object-assign"."~0.3.1" =
     self.by-version."object-assign"."0.3.1";
   by-version."object-assign"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-assign-0.3.1";
+    name = "object-assign-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz";
@@ -13311,8 +14336,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-assign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-assign" ];
@@ -13320,7 +14345,8 @@
   by-spec."object-keys"."~0.4.0" =
     self.by-version."object-keys"."0.4.0";
   by-version."object-keys"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-keys-0.4.0";
+    name = "object-keys-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
@@ -13330,8 +14356,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-keys" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-keys" ];
@@ -13339,7 +14365,8 @@
   by-spec."on-finished"."2.1.0" =
     self.by-version."on-finished"."2.1.0";
   by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-finished-2.1.0";
+    name = "on-finished-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
@@ -13349,36 +14376,20 @@
     ];
     buildInputs =
       (self.nativeDeps."on-finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.5"
-    ];
+    deps = {
+      "ee-first-1.0.5" = self.by-version."ee-first"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "on-finished" ];
   };
-  by-spec."on-headers"."0.0.0" =
-    self.by-version."on-headers"."0.0.0";
-  by-version."on-headers"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-headers/-/on-headers-0.0.0.tgz";
-        name = "on-headers-0.0.0.tgz";
-        sha1 = "ee2817f8344325785cd9c2df2b242bbc17caf4c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-headers" ];
-  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.0";
   by-spec."on-headers"."~1.0.0" =
     self.by-version."on-headers"."1.0.0";
   by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-1.0.0";
+    name = "on-headers-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
@@ -13388,8 +14399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "on-headers" ];
@@ -13397,7 +14408,8 @@
   by-spec."once"."1.1.1" =
     self.by-version."once"."1.1.1";
   by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.1.1";
+    name = "once-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
@@ -13407,8 +14419,8 @@
     ];
     buildInputs =
       (self.nativeDeps."once" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
@@ -13416,7 +14428,8 @@
   by-spec."once"."1.x" =
     self.by-version."once"."1.3.0";
   by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.3.0";
+    name = "once-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
@@ -13426,8 +14439,8 @@
     ];
     buildInputs =
       (self.nativeDeps."once" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
@@ -13438,29 +14451,11 @@
     self.by-version."once"."1.1.1";
   by-spec."once"."~1.3.0" =
     self.by-version."once"."1.3.0";
-  by-spec."only"."0.0.2" =
-    self.by-version."only"."0.0.2";
-  by-version."only"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-only-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/only/-/only-0.0.2.tgz";
-        name = "only-0.0.2.tgz";
-        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."only" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "only" ];
-  };
   by-spec."open"."0.0.2" =
     self.by-version."open"."0.0.2";
   by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.2";
+    name = "open-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz";
@@ -13470,8 +14465,8 @@
     ];
     buildInputs =
       (self.nativeDeps."open" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
@@ -13479,7 +14474,8 @@
   by-spec."open"."~0.0.5" =
     self.by-version."open"."0.0.5";
   by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.5";
+    name = "open-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz";
@@ -13489,8 +14485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."open" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
@@ -13499,6 +14495,7 @@
     self.by-version."opener"."1.3.0";
   by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "opener-1.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
@@ -13508,8 +14505,8 @@
     ];
     buildInputs =
       (self.nativeDeps."opener" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "opener" ];
@@ -13517,7 +14514,8 @@
   by-spec."openid".">=0.2.0" =
     self.by-version."openid"."0.5.9";
   by-version."openid"."0.5.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-openid-0.5.9";
+    name = "openid-0.5.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/openid/-/openid-0.5.9.tgz";
@@ -13527,8 +14525,8 @@
     ];
     buildInputs =
       (self.nativeDeps."openid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "openid" ];
@@ -13536,7 +14534,8 @@
   by-spec."optimist"."*" =
     self.by-version."optimist"."0.6.1";
   by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.1";
+    name = "optimist-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
@@ -13546,10 +14545,10 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13558,7 +14557,8 @@
   by-spec."optimist"."0.2" =
     self.by-version."optimist"."0.2.8";
   by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.2.8";
+    name = "optimist-0.2.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
@@ -13568,9 +14568,9 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13578,7 +14578,8 @@
   by-spec."optimist"."0.6.0" =
     self.by-version."optimist"."0.6.0";
   by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.0";
+    name = "optimist-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
@@ -13588,10 +14589,10 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13601,7 +14602,8 @@
   by-spec."optimist"."~0.3" =
     self.by-version."optimist"."0.3.7";
   by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.3.7";
+    name = "optimist-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
@@ -13611,9 +14613,9 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13627,7 +14629,8 @@
   by-spec."options".">=0.0.5" =
     self.by-version."options"."0.0.5";
   by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-options-0.0.5";
+    name = "options-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
@@ -13637,8 +14640,8 @@
     ];
     buildInputs =
       (self.nativeDeps."options" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "options" ];
@@ -13646,7 +14649,8 @@
   by-spec."optparse"."*" =
     self.by-version."optparse"."1.0.5";
   by-version."optparse"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optparse-1.0.5";
+    name = "optparse-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
@@ -13656,8 +14660,8 @@
     ];
     buildInputs =
       (self.nativeDeps."optparse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optparse" ];
@@ -13665,10 +14669,34 @@
   "optparse" = self.by-version."optparse"."1.0.5";
   by-spec."optparse".">= 1.0.3" =
     self.by-version."optparse"."1.0.5";
+  by-spec."orchestrator"."^0.3.0" =
+    self.by-version."orchestrator"."0.3.7";
+  by-version."orchestrator"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "orchestrator-0.3.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz";
+        name = "orchestrator-0.3.7.tgz";
+        sha1 = "c45064e22c5a2a7b99734f409a95ffedc7d3c3df";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."orchestrator" or []);
+    deps = {
+      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
+      "sequencify-0.0.7" = self.by-version."sequencify"."0.0.7";
+      "stream-consume-0.1.0" = self.by-version."stream-consume"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "orchestrator" ];
+  };
   by-spec."ordered-read-streams"."0.0.8" =
     self.by-version."ordered-read-streams"."0.0.8";
   by-version."ordered-read-streams"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ordered-read-streams-0.0.8";
+    name = "ordered-read-streams-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.8.tgz";
@@ -13678,8 +14706,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ordered-read-streams" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ordered-read-streams" ];
@@ -13687,7 +14715,8 @@
   by-spec."os-browserify"."~0.1.1" =
     self.by-version."os-browserify"."0.1.2";
   by-version."os-browserify"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-os-browserify-0.1.2";
+    name = "os-browserify-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
@@ -13697,8 +14726,8 @@
     ];
     buildInputs =
       (self.nativeDeps."os-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "os-browserify" ];
@@ -13706,7 +14735,8 @@
   by-spec."osenv"."0" =
     self.by-version."osenv"."0.1.0";
   by-version."osenv"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.1.0";
+    name = "osenv-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz";
@@ -13716,8 +14746,8 @@
     ];
     buildInputs =
       (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
@@ -13725,7 +14755,8 @@
   by-spec."osenv"."0.0.3" =
     self.by-version."osenv"."0.0.3";
   by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.0.3";
+    name = "osenv-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
@@ -13735,8 +14766,8 @@
     ];
     buildInputs =
       (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
@@ -13748,7 +14779,8 @@
   by-spec."owl-deepcopy"."*" =
     self.by-version."owl-deepcopy"."0.0.4";
   by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-owl-deepcopy-0.0.4";
+    name = "owl-deepcopy-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
@@ -13758,8 +14790,8 @@
     ];
     buildInputs =
       (self.nativeDeps."owl-deepcopy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "owl-deepcopy" ];
@@ -13770,7 +14802,8 @@
   by-spec."pako"."~0.2.0" =
     self.by-version."pako"."0.2.5";
   by-version."pako"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pako-0.2.5";
+    name = "pako-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pako/-/pako-0.2.5.tgz";
@@ -13780,8 +14813,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pako" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pako" ];
@@ -13790,6 +14823,7 @@
     self.by-version."parents"."1.0.0";
   by-version."parents"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "parents-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parents/-/parents-1.0.0.tgz";
@@ -13799,9 +14833,9 @@
     ];
     buildInputs =
       (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
+    deps = {
+      "path-platform-0.0.1" = self.by-version."path-platform"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parents" ];
@@ -13810,6 +14844,7 @@
     self.by-version."parents"."0.0.3";
   by-version."parents"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "parents-0.0.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parents/-/parents-0.0.3.tgz";
@@ -13819,9 +14854,9 @@
     ];
     buildInputs =
       (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
+    deps = {
+      "path-platform-0.0.1" = self.by-version."path-platform"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parents" ];
@@ -13829,7 +14864,8 @@
   by-spec."parseurl"."1.0.1" =
     self.by-version."parseurl"."1.0.1";
   by-version."parseurl"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.0.1";
+    name = "parseurl-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
@@ -13839,46 +14875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."parseurl"."~1.1.3" =
-    self.by-version."parseurl"."1.1.3";
-  by-version."parseurl"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.1.3.tgz";
-        name = "parseurl-1.1.3.tgz";
-        sha1 = "1f005738ac71b417bc2d0845cbdfa2a8b63ea639";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."parseurl"."~1.2.0" =
-    self.by-version."parseurl"."1.2.0";
-  by-version."parseurl"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.2.0.tgz";
-        name = "parseurl-1.2.0.tgz";
-        sha1 = "be7df2d698eb49ffb10ea62939693e152991c008";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parseurl" ];
@@ -13886,7 +14884,8 @@
   by-spec."parseurl"."~1.3.0" =
     self.by-version."parseurl"."1.3.0";
   by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.3.0";
+    name = "parseurl-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
@@ -13896,38 +14895,40 @@
     ];
     buildInputs =
       (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parseurl" ];
   };
   by-spec."passport"."*" =
-    self.by-version."passport"."0.2.0";
-  by-version."passport"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.2.0";
+    self.by-version."passport"."0.2.1";
+  by-version."passport"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "passport-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.2.0.tgz";
-        name = "passport-0.2.0.tgz";
-        sha1 = "ae5ebc5611300d51fdc44032c7ca442a548dbca5";
+        url = "http://registry.npmjs.org/passport/-/passport-0.2.1.tgz";
+        name = "passport-0.2.1.tgz";
+        sha1 = "a7d34c07b30fb605be885edbc8c93e5142e38574";
       })
     ];
     buildInputs =
       (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
-  "passport" = self.by-version."passport"."0.2.0";
+  "passport" = self.by-version."passport"."0.2.1";
   by-spec."passport"."~0.1.3" =
     self.by-version."passport"."0.1.18";
   by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.1.18";
+    name = "passport-0.1.18";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
@@ -13937,20 +14938,21 @@
     ];
     buildInputs =
       (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
   by-spec."passport"."~0.2.0" =
-    self.by-version."passport"."0.2.0";
+    self.by-version."passport"."0.2.1";
   by-spec."passport-http"."*" =
     self.by-version."passport-http"."0.2.2";
   by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-http-0.2.2";
+    name = "passport-http-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
@@ -13960,10 +14962,10 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-http" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."passport"."0.1.18"
-    ];
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-0.1.18" = self.by-version."passport"."0.1.18";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-http" ];
@@ -13972,7 +14974,8 @@
   by-spec."passport-local"."*" =
     self.by-version."passport-local"."1.0.0";
   by-version."passport-local"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-local-1.0.0";
+    name = "passport-local-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
@@ -13982,9 +14985,9 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-local" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-    ];
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-local" ];
@@ -13995,7 +14998,8 @@
   by-spec."passport-strategy"."1.x.x" =
     self.by-version."passport-strategy"."1.0.0";
   by-version."passport-strategy"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-strategy-1.0.0";
+    name = "passport-strategy-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
@@ -14005,8 +15009,8 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-strategy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-strategy" ];
@@ -14014,7 +15018,8 @@
   by-spec."path-browserify"."~0.0.0" =
     self.by-version."path-browserify"."0.0.0";
   by-version."path-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-browserify-0.0.0";
+    name = "path-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
@@ -14024,8 +15029,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-browserify" ];
@@ -14033,7 +15038,8 @@
   by-spec."path-is-inside"."~1.0.0" =
     self.by-version."path-is-inside"."1.0.1";
   by-version."path-is-inside"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-is-inside-1.0.1";
+    name = "path-is-inside-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
@@ -14043,8 +15049,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-is-inside" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-is-inside" ];
@@ -14052,7 +15058,8 @@
   by-spec."path-platform"."^0.0.1" =
     self.by-version."path-platform"."0.0.1";
   by-version."path-platform"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-platform-0.0.1";
+    name = "path-platform-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz";
@@ -14062,8 +15069,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-platform" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-platform" ];
@@ -14071,7 +15078,8 @@
   by-spec."path-to-regexp"."0.1.2" =
     self.by-version."path-to-regexp"."0.1.2";
   by-version."path-to-regexp"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.2";
+    name = "path-to-regexp-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz";
@@ -14081,8 +15089,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-to-regexp" ];
@@ -14090,7 +15098,8 @@
   by-spec."path-to-regexp"."0.1.3" =
     self.by-version."path-to-regexp"."0.1.3";
   by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.3";
+    name = "path-to-regexp-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
@@ -14100,8 +15109,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-to-regexp" ];
@@ -14109,7 +15118,8 @@
   by-spec."pause"."0.0.1" =
     self.by-version."pause"."0.0.1";
   by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pause-0.0.1";
+    name = "pause-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
@@ -14119,8 +15129,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pause" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pause" ];
@@ -14129,6 +15139,7 @@
     self.by-version."phantomjs"."1.9.7-15";
   by-version."phantomjs"."1.9.7-15" = lib.makeOverridable self.buildNodePackage {
     name = "phantomjs-1.9.7-15";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
@@ -14138,18 +15149,18 @@
     ];
     buildInputs =
       (self.nativeDeps."phantomjs" or []);
-    deps = [
-      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."progress"."1.1.8"
-      self.by-version."request"."2.36.0"
-      self.by-version."request-progress"."0.3.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "adm-zip-0.2.1" = self.by-version."adm-zip"."0.2.1";
+      "kew-0.1.7" = self.by-version."kew"."0.1.7";
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "npmconf-0.0.24" = self.by-version."npmconf"."0.0.24";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "progress-1.1.8" = self.by-version."progress"."1.1.8";
+      "request-2.36.0" = self.by-version."request"."2.36.0";
+      "request-progress-0.3.1" = self.by-version."request-progress"."0.3.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "phantomjs" ];
@@ -14162,7 +15173,8 @@
   by-spec."pkginfo"."0.2.x" =
     self.by-version."pkginfo"."0.2.3";
   by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.2.3";
+    name = "pkginfo-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
@@ -14172,8 +15184,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
@@ -14181,7 +15193,8 @@
   by-spec."pkginfo"."0.3.0" =
     self.by-version."pkginfo"."0.3.0";
   by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.3.0";
+    name = "pkginfo-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
@@ -14191,8 +15204,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
@@ -14204,7 +15217,8 @@
   by-spec."plist-native"."*" =
     self.by-version."plist-native"."0.3.1";
   by-version."plist-native"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-plist-native-0.3.1";
+    name = "plist-native-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/plist-native/-/plist-native-0.3.1.tgz";
@@ -14214,9 +15228,9 @@
     ];
     buildInputs =
       (self.nativeDeps."plist-native" or []);
-    deps = [
-      self.by-version."libxmljs"."0.10.0"
-    ];
+    deps = {
+      "libxmljs-0.10.0" = self.by-version."libxmljs"."0.10.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "plist-native" ];
@@ -14225,7 +15239,8 @@
   by-spec."policyfile"."0.0.4" =
     self.by-version."policyfile"."0.0.4";
   by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-policyfile-0.0.4";
+    name = "policyfile-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
@@ -14235,8 +15250,8 @@
     ];
     buildInputs =
       (self.nativeDeps."policyfile" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "policyfile" ];
@@ -14244,7 +15259,8 @@
   by-spec."posix"."*" =
     self.by-version."posix"."1.0.3";
   by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-posix-1.0.3";
+    name = "posix-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz";
@@ -14254,8 +15270,8 @@
     ];
     buildInputs =
       (self.nativeDeps."posix" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "posix" ];
@@ -14264,7 +15280,8 @@
   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 = "node-posix-getopt-1.0.0";
+    name = "posix-getopt-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
@@ -14274,8 +15291,8 @@
     ];
     buildInputs =
       (self.nativeDeps."posix-getopt" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "posix-getopt" ];
@@ -14284,6 +15301,7 @@
     self.by-version."pretty-bytes"."0.1.2";
   by-version."pretty-bytes"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "pretty-bytes-0.1.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz";
@@ -14293,16 +15311,37 @@
     ];
     buildInputs =
       (self.nativeDeps."pretty-bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pretty-bytes" ];
   };
+  by-spec."pretty-hrtime"."^0.2.0" =
+    self.by-version."pretty-hrtime"."0.2.1";
+  by-version."pretty-hrtime"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "pretty-hrtime-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.1.tgz";
+        name = "pretty-hrtime-0.2.1.tgz";
+        sha1 = "f341d39215fa5f7bff50af7d8572f8d4ec9d12f6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pretty-hrtime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pretty-hrtime" ];
+  };
   by-spec."process"."^0.7.0" =
     self.by-version."process"."0.7.0";
   by-version."process"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.7.0";
+    name = "process-0.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.7.0.tgz";
@@ -14312,8 +15351,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14321,7 +15360,8 @@
   by-spec."process"."~0.5.1" =
     self.by-version."process"."0.5.2";
   by-version."process"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.5.2";
+    name = "process-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz";
@@ -14331,8 +15371,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14340,7 +15380,8 @@
   by-spec."process"."~0.6.0" =
     self.by-version."process"."0.6.0";
   by-version."process"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.6.0";
+    name = "process-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz";
@@ -14350,8 +15391,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14359,7 +15400,8 @@
   by-spec."progress"."^1.1.5" =
     self.by-version."progress"."1.1.8";
   by-version."progress"."1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-progress-1.1.8";
+    name = "progress-1.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
@@ -14369,8 +15411,8 @@
     ];
     buildInputs =
       (self.nativeDeps."progress" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "progress" ];
@@ -14378,7 +15420,8 @@
   by-spec."promise"."~2.0" =
     self.by-version."promise"."2.0.0";
   by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promise-2.0.0";
+    name = "promise-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
@@ -14388,9 +15431,9 @@
     ];
     buildInputs =
       (self.nativeDeps."promise" or []);
-    deps = [
-      self.by-version."is-promise"."1.0.1"
-    ];
+    deps = {
+      "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
@@ -14398,7 +15441,8 @@
   by-spec."prompt"."0.2.11" =
     self.by-version."prompt"."0.2.11";
   by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-prompt-0.2.11";
+    name = "prompt-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
@@ -14408,13 +15452,13 @@
     ];
     buildInputs =
       (self.nativeDeps."prompt" or []);
-    deps = [
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."read"."1.0.5"
-      self.by-version."revalidator"."0.1.8"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.6.2"
-    ];
+    deps = {
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "revalidator-0.1.8" = self.by-version."revalidator"."0.1.8";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
@@ -14422,7 +15466,8 @@
   by-spec."promzard"."~0.2.0" =
     self.by-version."promzard"."0.2.2";
   by-version."promzard"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promzard-0.2.2";
+    name = "promzard-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz";
@@ -14432,9 +15477,9 @@
     ];
     buildInputs =
       (self.nativeDeps."promzard" or []);
-    deps = [
-      self.by-version."read"."1.0.5"
-    ];
+    deps = {
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "promzard" ];
@@ -14442,7 +15487,8 @@
   by-spec."proto-list"."~1.2.1" =
     self.by-version."proto-list"."1.2.3";
   by-version."proto-list"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proto-list-1.2.3";
+    name = "proto-list-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz";
@@ -14452,8 +15498,8 @@
     ];
     buildInputs =
       (self.nativeDeps."proto-list" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "proto-list" ];
@@ -14461,7 +15507,8 @@
   by-spec."proxy-addr"."1.0.1" =
     self.by-version."proxy-addr"."1.0.1";
   by-version."proxy-addr"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proxy-addr-1.0.1";
+    name = "proxy-addr-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
@@ -14471,9 +15518,9 @@
     ];
     buildInputs =
       (self.nativeDeps."proxy-addr" or []);
-    deps = [
-      self.by-version."ipaddr.js"."0.1.2"
-    ];
+    deps = {
+      "ipaddr.js-0.1.2" = self.by-version."ipaddr.js"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "proxy-addr" ];
@@ -14481,7 +15528,8 @@
   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 = "node-ps-tree-0.0.3";
+    name = "ps-tree-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
@@ -14491,9 +15539,9 @@
     ];
     buildInputs =
       (self.nativeDeps."ps-tree" or []);
-    deps = [
-      self.by-version."event-stream"."0.5.3"
-    ];
+    deps = {
+      "event-stream-0.5.3" = self.by-version."event-stream"."0.5.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
@@ -14503,7 +15551,8 @@
   by-spec."punycode"."1.2.4" =
     self.by-version."punycode"."1.2.4";
   by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.2.4";
+    name = "punycode-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
@@ -14513,8 +15562,8 @@
     ];
     buildInputs =
       (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "punycode" ];
@@ -14522,7 +15571,8 @@
   by-spec."punycode".">=0.2.0" =
     self.by-version."punycode"."1.3.1";
   by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.1";
+    name = "punycode-1.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
@@ -14532,8 +15582,8 @@
     ];
     buildInputs =
       (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "punycode" ];
@@ -14545,7 +15595,8 @@
   by-spec."pure-css"."git://github.com/yui/pure.git#v0.5.0-rc-1" =
     self.by-version."pure-css"."0.5.0-rc-1";
   by-version."pure-css"."0.5.0-rc-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pure-0.5.0-rc-1";
+    name = "pure-0.5.0-rc-1";
+    bin = false;
     src = [
       (fetchgit {
         url = "git://github.com/yui/pure.git";
@@ -14555,8 +15606,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pure" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pure" ];
@@ -14565,7 +15616,8 @@
   by-spec."q".">= 0.0.1" =
     self.by-version."q"."2.0.2";
   by-version."q"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-2.0.2";
+    name = "q-2.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-2.0.2.tgz";
@@ -14575,10 +15627,10 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-      self.by-version."collections"."2.0.1"
-    ];
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+      "collections-2.0.1" = self.by-version."collections"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14586,7 +15638,8 @@
   by-spec."q"."~0.9.6" =
     self.by-version."q"."0.9.7";
   by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-0.9.7";
+    name = "q-0.9.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
@@ -14596,8 +15649,8 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14607,7 +15660,8 @@
   by-spec."q"."~1.0.1" =
     self.by-version."q"."1.0.1";
   by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-1.0.1";
+    name = "q-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
@@ -14617,8 +15671,8 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14626,7 +15680,8 @@
   by-spec."qs"."0.4.2" =
     self.by-version."qs"."0.4.2";
   by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.4.2";
+    name = "qs-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
@@ -14636,8 +15691,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14647,7 +15702,8 @@
   by-spec."qs"."0.5.1" =
     self.by-version."qs"."0.5.1";
   by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.1";
+    name = "qs-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
@@ -14657,8 +15713,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14666,7 +15722,8 @@
   by-spec."qs"."0.5.2" =
     self.by-version."qs"."0.5.2";
   by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.2";
+    name = "qs-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.2.tgz";
@@ -14676,8 +15733,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14685,7 +15742,8 @@
   by-spec."qs"."0.5.5" =
     self.by-version."qs"."0.5.5";
   by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.5";
+    name = "qs-0.5.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
@@ -14695,8 +15753,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14704,7 +15762,8 @@
   by-spec."qs"."0.6.5" =
     self.by-version."qs"."0.6.5";
   by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.5";
+    name = "qs-0.6.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
@@ -14714,8 +15773,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14723,7 +15782,8 @@
   by-spec."qs"."0.6.6" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.6";
+    name = "qs-0.6.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
@@ -14733,37 +15793,59 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  by-spec."qs"."1.2.2" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.2.2";
+  by-spec."qs"."2.2.2" =
+    self.by-version."qs"."2.2.2";
+  by-version."qs"."2.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-2.2.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-        name = "qs-1.2.2.tgz";
-        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        name = "qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
       })
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."2.2.3" =
+    self.by-version."qs"."2.2.3";
+  by-version."qs"."2.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-2.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
+        name = "qs-2.2.3.tgz";
+        sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
   by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."1.2.2";
+    self.by-version."qs"."2.2.3";
   by-spec."qs"."~0.5.4" =
     self.by-version."qs"."0.5.6";
   by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.6";
+    name = "qs-0.5.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
@@ -14773,8 +15855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14784,7 +15866,8 @@
   by-spec."qs"."~1.0.0" =
     self.by-version."qs"."1.0.2";
   by-version."qs"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.0.2";
+    name = "qs-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
@@ -14794,8 +15877,28 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-1.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+        name = "qs-1.2.2.tgz";
+        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14803,7 +15906,8 @@
   by-spec."querystring-es3"."~0.2.0" =
     self.by-version."querystring-es3"."0.2.1-0";
   by-version."querystring-es3"."0.2.1-0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-querystring-es3-0.2.1-0";
+    name = "querystring-es3-0.2.1-0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1-0.tgz";
@@ -14813,8 +15917,8 @@
     ];
     buildInputs =
       (self.nativeDeps."querystring-es3" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "querystring-es3" ];
@@ -14822,7 +15926,8 @@
   by-spec."rai"."~0.1.11" =
     self.by-version."rai"."0.1.11";
   by-version."rai"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rai-0.1.11";
+    name = "rai-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rai/-/rai-0.1.11.tgz";
@@ -14832,8 +15937,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rai" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
@@ -14841,7 +15946,8 @@
   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 = "node-range-parser-0.0.4";
+    name = "range-parser-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
@@ -14851,8 +15957,8 @@
     ];
     buildInputs =
       (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
@@ -14860,7 +15966,8 @@
   by-spec."range-parser"."1.0.0" =
     self.by-version."range-parser"."1.0.0";
   by-version."range-parser"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-range-parser-1.0.0";
+    name = "range-parser-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
@@ -14870,36 +15977,54 @@
     ];
     buildInputs =
       (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
   by-spec."range-parser"."~1.0.0" =
-    self.by-version."range-parser"."1.0.0";
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+        name = "range-parser-1.0.2.tgz";
+        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
   by-spec."raven"."~0.7.0" =
-    self.by-version."raven"."0.7.0";
-  by-version."raven"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "raven-0.7.0";
+    self.by-version."raven"."0.7.2";
+  by-version."raven"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.7.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raven/-/raven-0.7.0.tgz";
-        name = "raven-0.7.0.tgz";
-        sha1 = "ec7fea6c0b87c59b252a9491c93d5bcf8d0c7ba0";
+        url = "http://registry.npmjs.org/raven/-/raven-0.7.2.tgz";
+        name = "raven-0.7.2.tgz";
+        sha1 = "51c1268e5d947e45c53fdb2e0a88b829c24a02a7";
       })
     ];
     buildInputs =
       (self.nativeDeps."raven" or []);
-    deps = [
-      self.by-version."cookie"."0.1.0"
-      self.by-version."lsmod"."0.0.3"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."stack-trace"."0.0.7"
-      self.by-version."connect"."3.1.1"
-      self.by-version."express"."4.8.5"
-      self.by-version."koa"."0.10.0"
-    ];
+    deps = {
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "lsmod-0.0.3" = self.by-version."lsmod"."0.0.3";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "stack-trace-0.0.7" = self.by-version."stack-trace"."0.0.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raven" ];
@@ -14907,7 +16032,8 @@
   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 = "node-raw-body-0.0.3";
+    name = "raw-body-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
@@ -14917,8 +16043,8 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14926,7 +16052,8 @@
   by-spec."raw-body"."1.1.2" =
     self.by-version."raw-body"."1.1.2";
   by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.1.2";
+    name = "raw-body-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz";
@@ -14936,30 +16063,9 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."raw-body"."1.2.2" =
-    self.by-version."raw-body"."1.2.2";
-  by-version."raw-body"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.2.2.tgz";
-        name = "raw-body-1.2.2.tgz";
-        sha1 = "0c68e1ee28cfed7dba4822234aec6078461cbc1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.3"
-    ];
+    deps = {
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14967,7 +16073,8 @@
   by-spec."raw-body"."1.3.0" =
     self.by-version."raw-body"."1.3.0";
   by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.3.0";
+    name = "raw-body-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
@@ -14977,10 +16084,10 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.4"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14988,7 +16095,8 @@
   by-spec."raw-socket"."*" =
     self.by-version."raw-socket"."1.2.2";
   by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-socket-1.2.2";
+    name = "raw-socket-1.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
@@ -14998,8 +16106,8 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-socket" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-socket" ];
@@ -15007,7 +16115,8 @@
   by-spec."rbytes"."*" =
     self.by-version."rbytes"."1.1.0";
   by-version."rbytes"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rbytes-1.1.0";
+    name = "rbytes-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rbytes/-/rbytes-1.1.0.tgz";
@@ -15017,8 +16126,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rbytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rbytes" ];
@@ -15028,6 +16137,7 @@
     self.by-version."rc"."0.3.5";
   by-version."rc"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "rc-0.3.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rc/-/rc-0.3.5.tgz";
@@ -15037,34 +16147,35 @@
     ];
     buildInputs =
       (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rc" ];
   };
-  by-spec."rc"."~0.4.0" =
-    self.by-version."rc"."0.4.0";
-  by-version."rc"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.4.0";
+  by-spec."rc"."~0.5.0" =
+    self.by-version."rc"."0.5.1";
+  by-version."rc"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.5.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.4.0.tgz";
-        name = "rc-0.4.0.tgz";
-        sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
+        url = "http://registry.npmjs.org/rc/-/rc-0.5.1.tgz";
+        name = "rc-0.5.1.tgz";
+        sha1 = "b88ef9421a08151352a659e0c3a58c4b82eb7576";
       })
     ];
     buildInputs =
       (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."strip-json-comments"."0.1.3"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rc" ];
@@ -15072,7 +16183,8 @@
   by-spec."react"."*" =
     self.by-version."react"."0.11.1";
   by-version."react"."0.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-react-0.11.1";
+    name = "react-0.11.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/react/-/react-0.11.1.tgz";
@@ -15082,9 +16194,9 @@
     ];
     buildInputs =
       (self.nativeDeps."react" or []);
-    deps = [
-      self.by-version."envify"."2.0.1"
-    ];
+    deps = {
+      "envify-2.0.1" = self.by-version."envify"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "react" ];
@@ -15093,7 +16205,8 @@
   by-spec."read"."1" =
     self.by-version."read"."1.0.5";
   by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-1.0.5";
+    name = "read-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
@@ -15103,9 +16216,9 @@
     ];
     buildInputs =
       (self.nativeDeps."read" or []);
-    deps = [
-      self.by-version."mute-stream"."0.0.4"
-    ];
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read" ];
@@ -15116,60 +16229,66 @@
     self.by-version."read"."1.0.5";
   by-spec."read"."~1.0.4" =
     self.by-version."read"."1.0.5";
-  by-spec."read-installed"."~2.0.5" =
-    self.by-version."read-installed"."2.0.7";
-  by-version."read-installed"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-installed-2.0.7";
+  by-spec."read-installed"."~3.1.1" =
+    self.by-version."read-installed"."3.1.3";
+  by-version."read-installed"."3.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "read-installed-3.1.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.7.tgz";
-        name = "read-installed-2.0.7.tgz";
-        sha1 = "a82157a5e273576c57f230ecec3702ab215a6d6c";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-3.1.3.tgz";
+        name = "read-installed-3.1.3.tgz";
+        sha1 = "c09092a13c2117f22842cad16804f3b059129d11";
       })
     ];
     buildInputs =
       (self.nativeDeps."read-installed" or []);
-    deps = [
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."util-extend"."1.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "readdir-scoped-modules-1.0.0" = self.by-version."readdir-scoped-modules"."1.0.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "util-extend-1.0.1" = self.by-version."util-extend"."1.0.1";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read-installed" ];
   };
   by-spec."read-package-json"."1" =
-    self.by-version."read-package-json"."1.2.6";
-  by-version."read-package-json"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-package-json-1.2.6";
+    self.by-version."read-package-json"."1.2.7";
+  by-version."read-package-json"."1.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "read-package-json-1.2.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.6.tgz";
-        name = "read-package-json-1.2.6.tgz";
-        sha1 = "eedcc11ba25a94f80e5941fdbccff4a21d8ab13a";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz";
+        name = "read-package-json-1.2.7.tgz";
+        sha1 = "f0b440c461a218f4dbf48b094e80fc65c5248502";
       })
     ];
     buildInputs =
       (self.nativeDeps."read-package-json" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."normalize-package-data"."1.0.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read-package-json" ];
   };
-  by-spec."read-package-json"."~1.2.3" =
-    self.by-version."read-package-json"."1.2.6";
+  by-spec."read-package-json"."~1.2.7" =
+    self.by-version."read-package-json"."1.2.7";
   by-spec."readable-stream"."*" =
     self.by-version."readable-stream"."1.1.13";
   by-version."readable-stream"."1.1.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.1.13";
+    name = "readable-stream-1.1.13";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
@@ -15179,12 +16298,12 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
@@ -15192,7 +16311,8 @@
   by-spec."readable-stream"."1.0" =
     self.by-version."readable-stream"."1.0.31";
   by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.31";
+    name = "readable-stream-1.0.31";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
@@ -15202,12 +16322,12 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
@@ -15215,7 +16335,8 @@
   by-spec."readable-stream"."1.0.27-1" =
     self.by-version."readable-stream"."1.0.27-1";
   by-version."readable-stream"."1.0.27-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.27-1";
+    name = "readable-stream-1.0.27-1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
@@ -15225,16 +16346,18 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
+  by-spec."readable-stream"."1.0.31" =
+    self.by-version."readable-stream"."1.0.31";
   by-spec."readable-stream"."1.1" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream".">=1.0.27-1 <1.1.0-0" =
@@ -15260,7 +16383,8 @@
   by-spec."readable-wrap"."^1.0.0" =
     self.by-version."readable-wrap"."1.0.0";
   by-version."readable-wrap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-wrap-1.0.0";
+    name = "readable-wrap-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz";
@@ -15270,17 +16394,41 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-wrap" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-wrap" ];
   };
+  by-spec."readdir-scoped-modules"."^1.0.0" =
+    self.by-version."readdir-scoped-modules"."1.0.0";
+  by-version."readdir-scoped-modules"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "readdir-scoped-modules-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.0.tgz";
+        name = "readdir-scoped-modules-1.0.0.tgz";
+        sha1 = "e939de969b38b3e7dfaa14fbcfe7a2fd15a4ea37";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readdir-scoped-modules" or []);
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "dezalgo-1.0.0" = self.by-version."dezalgo"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "readdir-scoped-modules" ];
+  };
   by-spec."readdirp"."~0.2.3" =
     self.by-version."readdirp"."0.2.5";
   by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readdirp-0.2.5";
+    name = "readdirp-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
@@ -15290,9 +16438,9 @@
     ];
     buildInputs =
       (self.nativeDeps."readdirp" or []);
-    deps = [
-      self.by-version."minimatch"."1.0.0"
-    ];
+    deps = {
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readdirp" ];
@@ -15300,7 +16448,8 @@
   by-spec."recursive-readdir"."0.0.2" =
     self.by-version."recursive-readdir"."0.0.2";
   by-version."recursive-readdir"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-recursive-readdir-0.0.2";
+    name = "recursive-readdir-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz";
@@ -15310,8 +16459,8 @@
     ];
     buildInputs =
       (self.nativeDeps."recursive-readdir" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "recursive-readdir" ];
@@ -15319,7 +16468,8 @@
   by-spec."redis"."*" =
     self.by-version."redis"."0.12.1";
   by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.12.1";
+    name = "redis-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
@@ -15329,8 +16479,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15339,7 +16489,8 @@
   by-spec."redis"."0.10.x" =
     self.by-version."redis"."0.10.3";
   by-version."redis"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.10.3";
+    name = "redis-0.10.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
@@ -15349,8 +16500,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15358,7 +16509,8 @@
   by-spec."redis"."0.7.2" =
     self.by-version."redis"."0.7.2";
   by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.2";
+    name = "redis-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
@@ -15368,9 +16520,9 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-      self.by-version."hiredis"."0.1.17"
-    ];
+    deps = {
+      "hiredis-0.1.17" = self.by-version."hiredis"."0.1.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15378,7 +16530,8 @@
   by-spec."redis"."0.7.3" =
     self.by-version."redis"."0.7.3";
   by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.3";
+    name = "redis-0.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
@@ -15388,8 +16541,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15399,7 +16552,8 @@
   by-spec."reds"."~0.2.4" =
     self.by-version."reds"."0.2.4";
   by-version."reds"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-reds-0.2.4";
+    name = "reds-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/reds/-/reds-0.2.4.tgz";
@@ -15409,10 +16563,10 @@
     ];
     buildInputs =
       (self.nativeDeps."reds" or []);
-    deps = [
-      self.by-version."natural"."0.1.17"
-      self.by-version."redis"."0.7.2"
-    ];
+    deps = {
+      "natural-0.1.17" = self.by-version."natural"."0.1.17";
+      "redis-0.7.2" = self.by-version."redis"."0.7.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "reds" ];
@@ -15420,7 +16574,8 @@
   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 = "node-reduce-component-1.0.1";
+    name = "reduce-component-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
@@ -15430,8 +16585,8 @@
     ];
     buildInputs =
       (self.nativeDeps."reduce-component" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "reduce-component" ];
@@ -15439,7 +16594,8 @@
   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 = "node-regexp-clone-0.0.1";
+    name = "regexp-clone-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
@@ -15449,74 +16605,79 @@
     ];
     buildInputs =
       (self.nativeDeps."regexp-clone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "regexp-clone" ];
   };
   by-spec."replace"."~0.2.4" =
-    self.by-version."replace"."0.2.9";
-  by-version."replace"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.9";
+    self.by-version."replace"."0.2.10";
+  by-version."replace"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "replace-0.2.10";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.9.tgz";
-        name = "replace-0.2.9.tgz";
-        sha1 = "64428de4451717e8cc34965d2d133dd86dace404";
+        url = "http://registry.npmjs.org/replace/-/replace-0.2.10.tgz";
+        name = "replace-0.2.10.tgz";
+        sha1 = "1123397e995b3bfef9985fc63cddcf79a014fd64";
       })
     ];
     buildInputs =
       (self.nativeDeps."replace" or []);
-    deps = [
-      self.by-version."nomnom"."1.6.2"
-      self.by-version."colors"."0.5.1"
-      self.by-version."minimatch"."0.2.14"
-    ];
+    deps = {
+      "nomnom-1.6.2" = self.by-version."nomnom"."1.6.2";
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "replace" ];
   };
   by-spec."request"."2" =
-    self.by-version."request"."2.40.0";
-  by-version."request"."2.40.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.40.0";
+    self.by-version."request"."2.42.0";
+  by-version."request"."2.42.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.42.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
-        name = "request-2.40.0.tgz";
-        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
+        url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
+        name = "request-2.42.0.tgz";
+        sha1 = "572bd0148938564040ac7ab148b96423a063304a";
       })
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."1.0.2"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-      self.by-version."stringstream"."0.0.4"
-    ];
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
   by-spec."request"."2 >=2.20.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."2 >=2.25.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."2.16.x" =
     self.by-version."request"."2.16.6";
   by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.16.6";
+    name = "request-2.16.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
@@ -15526,19 +16687,19 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
+      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
+      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
+      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
+      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
+      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
@@ -15546,7 +16707,8 @@
   by-spec."request"."2.36.0" =
     self.by-version."request"."2.36.0";
   by-version."request"."2.36.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.36.0";
+    name = "request-2.36.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.36.0.tgz";
@@ -15556,20 +16718,20 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime"."1.2.11"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
@@ -15577,7 +16739,8 @@
   by-spec."request"."2.9.x" =
     self.by-version."request"."2.9.203";
   by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.9.203";
+    name = "request-2.9.203";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
@@ -15587,20 +16750,21 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
   by-spec."request"."^2.36.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."~2" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."~2.27.0" =
     self.by-version."request"."2.27.0";
   by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.27.0";
+    name = "request-2.27.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
@@ -15610,121 +16774,64 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      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.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.30.0" =
-    self.by-version."request"."2.30.0";
-  by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.30.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
-        name = "request-2.30.0.tgz";
-        sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.9.15"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign-0.3.0" = self.by-version."aws-sign"."0.3.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "cookie-jar-0.3.0" = self.by-version."cookie-jar"."0.3.0";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.34.0";
+  by-spec."request"."~2.40.0" =
+    self.by-version."request"."2.40.0";
+  by-version."request"."2.40.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.40.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+        url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
+        name = "request-2.40.0.tgz";
+        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
       })
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.37.0" =
-    self.by-version."request"."2.37.0";
-  by-version."request"."2.37.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.37.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.37.0.tgz";
-        name = "request-2.37.0.tgz";
-        sha1 = "6c04c1f0f34af0c8b7408f1c1e30d4d6bd852d46";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-1.0.2" = self.by-version."qs"."1.0.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
+  by-spec."request"."~2.42.0" =
+    self.by-version."request"."2.42.0";
   by-spec."request-progress"."^0.3.1" =
     self.by-version."request-progress"."0.3.1";
   by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-progress-0.3.1";
+    name = "request-progress-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
@@ -15734,38 +16841,40 @@
     ];
     buildInputs =
       (self.nativeDeps."request-progress" or []);
-    deps = [
-      self.by-version."throttleit"."0.0.2"
-    ];
+    deps = {
+      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request-progress" ];
   };
   by-spec."requirejs"."~2.1" =
-    self.by-version."requirejs"."2.1.14";
-  by-version."requirejs"."2.1.14" = lib.makeOverridable self.buildNodePackage {
-    name = "requirejs-2.1.14";
+    self.by-version."requirejs"."2.1.15";
+  by-version."requirejs"."2.1.15" = lib.makeOverridable self.buildNodePackage {
+    name = "requirejs-2.1.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.14.tgz";
-        name = "requirejs-2.1.14.tgz";
-        sha1 = "de00290aa526192ff8df4dc0ba9370ce399a76b0";
+        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.15.tgz";
+        name = "requirejs-2.1.15.tgz";
+        sha1 = "cbcfce55d584ae5983c00a20daa8eade37d18892";
       })
     ];
     buildInputs =
       (self.nativeDeps."requirejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "requirejs" ];
   };
   by-spec."requirejs"."~2.1.0" =
-    self.by-version."requirejs"."2.1.14";
+    self.by-version."requirejs"."2.1.15";
   by-spec."resolve"."0.7.4" =
     self.by-version."resolve"."0.7.4";
   by-version."resolve"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.7.4";
+    name = "resolve-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz";
@@ -15775,8 +16884,8 @@
     ];
     buildInputs =
       (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
@@ -15786,7 +16895,8 @@
   by-spec."resolve"."~0.3.0" =
     self.by-version."resolve"."0.3.1";
   by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.3.1";
+    name = "resolve-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
@@ -15796,14 +16906,16 @@
     ];
     buildInputs =
       (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
   by-spec."resolve"."~0.3.1" =
     self.by-version."resolve"."0.3.1";
+  by-spec."resolve"."~0.7.0" =
+    self.by-version."resolve"."0.7.4";
   by-spec."resolve"."~0.7.1" =
     self.by-version."resolve"."0.7.4";
   by-spec."resolve"."~0.7.2" =
@@ -15811,7 +16923,8 @@
   by-spec."response-time"."~2.0.1" =
     self.by-version."response-time"."2.0.1";
   by-version."response-time"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-response-time-2.0.1";
+    name = "response-time-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/response-time/-/response-time-2.0.1.tgz";
@@ -15821,9 +16934,9 @@
     ];
     buildInputs =
       (self.nativeDeps."response-time" or []);
-    deps = [
-      self.by-version."on-headers"."1.0.0"
-    ];
+    deps = {
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "response-time" ];
@@ -15832,6 +16945,7 @@
     self.by-version."restify"."2.4.1";
   by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "restify-2.4.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
@@ -15841,54 +16955,56 @@
     ];
     buildInputs =
       (self.nativeDeps."restify" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "backoff-2.1.0" = self.by-version."backoff"."2.1.0";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "formidable-1.0.13" = self.by-version."formidable"."1.0.13";
+      "http-signature-0.9.11" = self.by-version."http-signature"."0.9.11";
+      "keep-alive-agent-0.0.1" = self.by-version."keep-alive-agent"."0.0.1";
+      "lru-cache-2.3.0" = self.by-version."lru-cache"."2.3.0";
+      "mime-1.2.9" = self.by-version."mime"."1.2.9";
+      "negotiator-0.2.5" = self.by-version."negotiator"."0.2.5";
+      "node-uuid-1.4.0" = self.by-version."node-uuid"."1.4.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "qs-0.5.5" = self.by-version."qs"."0.5.5";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+      "spdy-1.7.1" = self.by-version."spdy"."1.7.1";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "restify" ];
   };
   by-spec."rethinkdb"."*" =
-    self.by-version."rethinkdb"."1.13.0-3";
-  by-version."rethinkdb"."1.13.0-3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rethinkdb-1.13.0-3";
+    self.by-version."rethinkdb"."1.14.0-0";
+  by-version."rethinkdb"."1.14.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "rethinkdb-1.14.0-0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.13.0-3.tgz";
-        name = "rethinkdb-1.13.0-3.tgz";
-        sha1 = "67db23e23ac3ff40fd4738414fc14d1935e6009e";
+        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.14.0-0.tgz";
+        name = "rethinkdb-1.14.0-0.tgz";
+        sha1 = "d198a5bf9caffdaa38670ebd40afc4621b09b0f5";
       })
     ];
     buildInputs =
       (self.nativeDeps."rethinkdb" or []);
-    deps = [
-      self.by-version."bluebird"."2.3.0"
-    ];
+    deps = {
+      "bluebird-2.3.2" = self.by-version."bluebird"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rethinkdb" ];
   };
-  "rethinkdb" = self.by-version."rethinkdb"."1.13.0-3";
+  "rethinkdb" = self.by-version."rethinkdb"."1.14.0-0";
   by-spec."retry"."0.6.0" =
     self.by-version."retry"."0.6.0";
   by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.0";
+    name = "retry-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
@@ -15898,8 +17014,8 @@
     ];
     buildInputs =
       (self.nativeDeps."retry" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
@@ -15907,7 +17023,8 @@
   by-spec."retry"."~0.6.0" =
     self.by-version."retry"."0.6.1";
   by-version."retry"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.1";
+    name = "retry-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
@@ -15917,8 +17034,8 @@
     ];
     buildInputs =
       (self.nativeDeps."retry" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
@@ -15926,7 +17043,8 @@
   by-spec."revalidator"."0.1.x" =
     self.by-version."revalidator"."0.1.8";
   by-version."revalidator"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-revalidator-0.1.8";
+    name = "revalidator-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz";
@@ -15936,8 +17054,8 @@
     ];
     buildInputs =
       (self.nativeDeps."revalidator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "revalidator" ];
@@ -15945,7 +17063,8 @@
   by-spec."rfile"."~1.0" =
     self.by-version."rfile"."1.0.0";
   by-version."rfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rfile-1.0.0";
+    name = "rfile-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";
@@ -15955,10 +17074,10 @@
     ];
     buildInputs =
       (self.nativeDeps."rfile" or []);
-    deps = [
-      self.by-version."callsite"."1.0.0"
-      self.by-version."resolve"."0.3.1"
-    ];
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rfile" ];
@@ -15968,7 +17087,8 @@
   by-spec."rimraf"."1.x.x" =
     self.by-version."rimraf"."1.0.9";
   by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-1.0.9";
+    name = "rimraf-1.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
@@ -15978,8 +17098,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -15988,6 +17108,7 @@
     self.by-version."rimraf"."2.2.8";
   by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.2.8";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
@@ -15997,8 +17118,28 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "rimraf" ];
+  };
+  by-spec."rimraf"."2.2.6" =
+    self.by-version."rimraf"."2.2.6";
+  by-version."rimraf"."2.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.6";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz";
+        name = "rimraf-2.2.6.tgz";
+        sha1 = "c59597569b14d956ad29cacc42bdddf5f0ea4f4c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rimraf" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -16012,7 +17153,8 @@
   by-spec."rimraf"."~2.1.4" =
     self.by-version."rimraf"."2.1.4";
   by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-2.1.4";
+    name = "rimraf-2.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
@@ -16022,9 +17164,9 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
-      self.by-version."graceful-fs"."1.2.3"
-    ];
+    deps = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -16042,7 +17184,8 @@
   by-spec."ripemd160"."0.2.0" =
     self.by-version."ripemd160"."0.2.0";
   by-version."ripemd160"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ripemd160-0.2.0";
+    name = "ripemd160-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz";
@@ -16052,16 +17195,17 @@
     ];
     buildInputs =
       (self.nativeDeps."ripemd160" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ripemd160" ];
   };
-  by-spec."rndm"."1" =
+  by-spec."rndm"."~1.0.0" =
     self.by-version."rndm"."1.0.0";
   by-version."rndm"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rndm-1.0.0";
+    name = "rndm-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rndm/-/rndm-1.0.0.tgz";
@@ -16071,8 +17215,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rndm" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rndm" ];
@@ -16080,7 +17224,8 @@
   by-spec."ruglify"."~1.0.0" =
     self.by-version."ruglify"."1.0.0";
   by-version."ruglify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ruglify-1.0.0";
+    name = "ruglify-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";
@@ -16090,10 +17235,10 @@
     ];
     buildInputs =
       (self.nativeDeps."ruglify" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."uglify-js"."2.2.5"
-    ];
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ruglify" ];
@@ -16102,6 +17247,7 @@
     self.by-version."s3http"."0.0.5";
   by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "s3http-0.0.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
@@ -16111,16 +17257,16 @@
     ];
     buildInputs =
       (self.nativeDeps."s3http" or []);
-    deps = [
-      self.by-version."aws-sdk"."1.18.0"
-      self.by-version."commander"."2.0.0"
-      self.by-version."http-auth"."2.0.7"
-      self.by-version."express"."3.4.4"
-      self.by-version."everyauth"."0.4.5"
-      self.by-version."string"."1.6.1"
-      self.by-version."util"."0.4.9"
-      self.by-version."crypto"."0.0.3"
-    ];
+    deps = {
+      "aws-sdk-1.18.0" = self.by-version."aws-sdk"."1.18.0";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "http-auth-2.0.7" = self.by-version."http-auth"."2.0.7";
+      "express-3.4.4" = self.by-version."express"."3.4.4";
+      "everyauth-0.4.5" = self.by-version."everyauth"."0.4.5";
+      "string-1.6.1" = self.by-version."string"."1.6.1";
+      "util-0.4.9" = self.by-version."util"."0.4.9";
+      "crypto-0.0.3" = self.by-version."crypto"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "s3http" ];
@@ -16129,7 +17275,8 @@
   by-spec."samsam"."~1.1" =
     self.by-version."samsam"."1.1.1";
   by-version."samsam"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-samsam-1.1.1";
+    name = "samsam-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/samsam/-/samsam-1.1.1.tgz";
@@ -16139,8 +17286,8 @@
     ];
     buildInputs =
       (self.nativeDeps."samsam" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "samsam" ];
@@ -16148,7 +17295,8 @@
   by-spec."sauce-connect-launcher"."~0.6.0" =
     self.by-version."sauce-connect-launcher"."0.6.1";
   by-version."sauce-connect-launcher"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sauce-connect-launcher-0.6.1";
+    name = "sauce-connect-launcher-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.6.1.tgz";
@@ -16158,12 +17306,12 @@
     ];
     buildInputs =
       (self.nativeDeps."sauce-connect-launcher" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sauce-connect-launcher" ];
@@ -16171,7 +17319,8 @@
   by-spec."saucelabs"."~0.1.0" =
     self.by-version."saucelabs"."0.1.1";
   by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-saucelabs-0.1.1";
+    name = "saucelabs-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
@@ -16181,8 +17330,8 @@
     ];
     buildInputs =
       (self.nativeDeps."saucelabs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "saucelabs" ];
@@ -16190,7 +17339,8 @@
   by-spec."sax"."0.4.2" =
     self.by-version."sax"."0.4.2";
   by-version."sax"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.4.2";
+    name = "sax-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.4.2.tgz";
@@ -16200,8 +17350,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
@@ -16209,7 +17359,8 @@
   by-spec."sax"."0.5.x" =
     self.by-version."sax"."0.5.8";
   by-version."sax"."0.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.5.8";
+    name = "sax-0.5.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
@@ -16219,8 +17370,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
@@ -16228,7 +17379,8 @@
   by-spec."sax"."0.6.x" =
     self.by-version."sax"."0.6.0";
   by-version."sax"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.6.0";
+    name = "sax-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.6.0.tgz";
@@ -16238,18 +17390,19 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
   by-spec."sax".">=0.4.2" =
     self.by-version."sax"."0.6.0";
-  by-spec."scmp"."~0.0.3" =
+  by-spec."scmp"."0.0.3" =
     self.by-version."scmp"."0.0.3";
   by-version."scmp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-scmp-0.0.3";
+    name = "scmp-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
@@ -16259,8 +17412,8 @@
     ];
     buildInputs =
       (self.nativeDeps."scmp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "scmp" ];
@@ -16268,7 +17421,8 @@
   by-spec."selenium-webdriver"."*" =
     self.by-version."selenium-webdriver"."2.42.1";
   by-version."selenium-webdriver"."2.42.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-selenium-webdriver-2.42.1";
+    name = "selenium-webdriver-2.42.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.42.1.tgz";
@@ -16278,8 +17432,8 @@
     ];
     buildInputs =
       (self.nativeDeps."selenium-webdriver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
@@ -16289,6 +17443,7 @@
     self.by-version."semver"."3.0.1";
   by-version."semver"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "semver-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-3.0.1.tgz";
@@ -16298,8 +17453,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16309,6 +17464,7 @@
     self.by-version."semver"."1.1.0";
   by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
@@ -16318,8 +17474,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16328,6 +17484,7 @@
     self.by-version."semver"."1.1.4";
   by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
@@ -16337,8 +17494,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16347,6 +17504,7 @@
     self.by-version."semver"."2.3.2";
   by-version."semver"."2.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.3.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
@@ -16356,25 +17514,27 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  by-spec."semver"."2 >=2.2.1 || 3.x" =
+  by-spec."semver"."2 >=2.2.1 || 3.x || 4" =
     self.by-version."semver"."3.0.1";
-  by-spec."semver"."2 || 3" =
+  by-spec."semver"."2 || 3 || 4" =
     self.by-version."semver"."3.0.1";
   by-spec."semver"."2.x" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."2.x || 3.x" =
+  by-spec."semver"."2.x || 3.x || 4" =
     self.by-version."semver"."3.0.1";
   by-spec."semver".">=2.0.10 <3.0.0" =
     self.by-version."semver"."2.3.2";
   by-spec."semver"."^2.3.0" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."^2.3.0 || 3.x" =
+  by-spec."semver"."^2.3.0 || 3.x || 4" =
+    self.by-version."semver"."3.0.1";
+  by-spec."semver"."^3.0.1" =
     self.by-version."semver"."3.0.1";
   by-spec."semver"."~1.1.0" =
     self.by-version."semver"."1.1.4";
@@ -16384,6 +17544,7 @@
     self.by-version."semver"."2.0.11";
   by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.0.11";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
@@ -16393,8 +17554,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16403,6 +17564,7 @@
     self.by-version."semver"."2.1.0";
   by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
@@ -16412,8 +17574,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16422,6 +17584,7 @@
     self.by-version."semver"."2.2.1";
   by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
@@ -16431,40 +17594,40 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  by-spec."semver"."~2.3.0" =
-    self.by-version."semver"."2.3.2";
-  by-spec."semver"."~2.3.1" =
-    self.by-version."semver"."2.3.2";
+  by-spec."semver"."~3.0.1" =
+    self.by-version."semver"."3.0.1";
   by-spec."send"."*" =
-    self.by-version."send"."0.8.3";
-  by-version."send"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.8.3";
+    self.by-version."send"."0.9.1";
+  by-version."send"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.8.3.tgz";
-        name = "send-0.8.3.tgz";
-        sha1 = "593886004fcb968a1b5727814a32b388b3b99083";
+        url = "http://registry.npmjs.org/send/-/send-0.9.1.tgz";
+        name = "send-0.9.1.tgz";
+        sha1 = "d93689f7c9ce36bd32f8ee572bb60bda032edc23";
       })
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."destroy"."1.0.3"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16472,7 +17635,8 @@
   by-spec."send"."0.0.3" =
     self.by-version."send"."0.0.3";
   by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.0.3";
+    name = "send-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
@@ -16482,12 +17646,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16495,7 +17659,8 @@
   by-spec."send"."0.1.0" =
     self.by-version."send"."0.1.0";
   by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.0";
+    name = "send-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
@@ -16505,12 +17670,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16518,7 +17683,8 @@
   by-spec."send"."0.1.4" =
     self.by-version."send"."0.1.4";
   by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.4";
+    name = "send-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
@@ -16528,12 +17694,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16541,7 +17707,8 @@
   by-spec."send"."0.2.0" =
     self.by-version."send"."0.2.0";
   by-version."send"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.2.0";
+    name = "send-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.2.0.tgz";
@@ -16551,74 +17718,52 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."send"."0.4.3" =
-    self.by-version."send"."0.4.3";
-  by-version."send"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.4.3.tgz";
-        name = "send-0.4.3.tgz";
-        sha1 = "9627b23b7707fbf6373831cac5793330b594b640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  by-spec."send"."0.6.0" =
-    self.by-version."send"."0.6.0";
-  by-version."send"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.6.0";
+  by-spec."send"."0.8.5" =
+    self.by-version."send"."0.8.5";
+  by-version."send"."0.8.5" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.8.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.6.0.tgz";
-        name = "send-0.6.0.tgz";
-        sha1 = "a59da9265db7c35141e1079cf1f368ee0d59b3ab";
+        url = "http://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        name = "send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
       })
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  by-spec."send"."0.8.3" =
-    self.by-version."send"."0.8.3";
+  by-spec."send"."0.9.1" =
+    self.by-version."send"."0.9.1";
   by-spec."sequence"."2.2.1" =
     self.by-version."sequence"."2.2.1";
   by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sequence-2.2.1";
+    name = "sequence-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
@@ -16628,52 +17773,77 @@
     ];
     buildInputs =
       (self.nativeDeps."sequence" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sequence" ];
   };
   by-spec."sequence"."2.x" =
     self.by-version."sequence"."2.2.1";
-  by-spec."serve-favicon"."2.0.1" =
-    self.by-version."serve-favicon"."2.0.1";
-  by-version."serve-favicon"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-favicon-2.0.1";
+  by-spec."sequencify"."~0.0.7" =
+    self.by-version."sequencify"."0.0.7";
+  by-version."sequencify"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "sequencify-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz";
-        name = "serve-favicon-2.0.1.tgz";
-        sha1 = "4826975d9f173ca3a4158e9698161f75dec7afec";
+        url = "http://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz";
+        name = "sequencify-0.0.7.tgz";
+        sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."serve-favicon" or []);
-    deps = [
-      self.by-version."fresh"."0.2.2"
+      (self.nativeDeps."sequencify" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sequencify" ];
+  };
+  by-spec."serve-favicon"."~2.1.3" =
+    self.by-version."serve-favicon"."2.1.3";
+  by-version."serve-favicon"."2.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-favicon-2.1.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.3.tgz";
+        name = "serve-favicon-2.1.3.tgz";
+        sha1 = "dfab1064b1ed5dd0099c890dccc1c7d45c936fed";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."serve-favicon" or []);
+    deps = {
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-favicon" ];
   };
-  by-spec."serve-index"."~1.1.6" =
-    self.by-version."serve-index"."1.1.6";
-  by-version."serve-index"."1.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-index-1.1.6";
+  by-spec."serve-index"."~1.2.1" =
+    self.by-version."serve-index"."1.2.1";
+  by-version."serve-index"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-index-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz";
-        name = "serve-index-1.1.6.tgz";
-        sha1 = "b758318fe781628383f66ac80dd447712ea7781f";
+        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.2.1.tgz";
+        name = "serve-index-1.2.1.tgz";
+        sha1 = "854daef00ac9ff2f5bfda1c019b78fb0ed6d2e6f";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-index" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."batch"."0.5.1"
-      self.by-version."parseurl"."1.3.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "batch-0.5.1" = self.by-version."batch"."0.5.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-index" ];
@@ -16681,7 +17851,8 @@
   by-spec."serve-static"."1.0.1" =
     self.by-version."serve-static"."1.0.1";
   by-version."serve-static"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.0.1";
+    name = "serve-static-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz";
@@ -16691,76 +17862,59 @@
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."send"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."serve-static"."1.2.3" =
-    self.by-version."serve-static"."1.2.3";
-  by-version."serve-static"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz";
-        name = "serve-static-1.2.3.tgz";
-        sha1 = "93cecbc340f079ecb8589281d1dc31c26c0cd158";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."send"."0.4.3"
-    ];
+    deps = {
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
   };
-  by-spec."serve-static"."~1.3.0" =
-    self.by-version."serve-static"."1.3.2";
-  by-version."serve-static"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.3.2";
+  by-spec."serve-static"."~1.5.3" =
+    self.by-version."serve-static"."1.5.4";
+  by-version."serve-static"."1.5.4" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-static-1.5.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz";
-        name = "serve-static-1.3.2.tgz";
-        sha1 = "d904a6cbf55f511c78138f6f45ee6e69d9d105ca";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        name = "serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.1.3"
-      self.by-version."send"."0.6.0"
-    ];
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.8.5" = self.by-version."send"."0.8.5";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
   };
-  by-spec."serve-static"."~1.5.3" =
-    self.by-version."serve-static"."1.5.3";
-  by-version."serve-static"."1.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.5.3";
+  by-spec."serve-static"."~1.5.4" =
+    self.by-version."serve-static"."1.5.4";
+  by-spec."serve-static"."~1.6.1" =
+    self.by-version."serve-static"."1.6.1";
+  by-version."serve-static"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-static-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.5.3.tgz";
-        name = "serve-static-1.5.3.tgz";
-        sha1 = "2e28efa5899686fd3ccdb97a80aa464002244581";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz";
+        name = "serve-static-1.6.1.tgz";
+        sha1 = "2f257563afbe931d28cee4aa3dfeddc975a87193";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
@@ -16768,7 +17922,8 @@
   by-spec."sha"."~1.2.1" =
     self.by-version."sha"."1.2.4";
   by-version."sha"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sha-1.2.4";
+    name = "sha-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sha/-/sha-1.2.4.tgz";
@@ -16778,30 +17933,31 @@
     ];
     buildInputs =
       (self.nativeDeps."sha" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  by-spec."sha.js"."2.1.7" =
-    self.by-version."sha.js"."2.1.7";
-  by-version."sha.js"."2.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "sha.js-2.1.7";
+  by-spec."sha.js"."2.1.8" =
+    self.by-version."sha.js"."2.1.8";
+  by-version."sha.js"."2.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "sha.js-2.1.8";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.7.tgz";
-        name = "sha.js-2.1.7.tgz";
-        sha1 = "4ab5d386d5c1a26183e61bcc446a9370a3eb8859";
+        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.8.tgz";
+        name = "sha.js-2.1.8.tgz";
+        sha1 = "9b89a99b030eed2280b06a2b79383a4ceecd7719";
       })
     ];
     buildInputs =
       (self.nativeDeps."sha.js" or []);
-    deps = [
-      self.by-version."buffer"."2.3.4"
-    ];
+    deps = {
+      "buffer-2.3.4" = self.by-version."buffer"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sha.js" ];
@@ -16809,7 +17965,8 @@
   by-spec."shallow-copy"."0.0.1" =
     self.by-version."shallow-copy"."0.0.1";
   by-version."shallow-copy"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shallow-copy-0.0.1";
+    name = "shallow-copy-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
@@ -16819,8 +17976,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shallow-copy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shallow-copy" ];
@@ -16828,7 +17985,8 @@
   by-spec."shasum"."^1.0.0" =
     self.by-version."shasum"."1.0.0";
   by-version."shasum"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shasum-1.0.0";
+    name = "shasum-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shasum/-/shasum-1.0.0.tgz";
@@ -16838,9 +17996,9 @@
     ];
     buildInputs =
       (self.nativeDeps."shasum" or []);
-    deps = [
-      self.by-version."json-stable-stringify"."0.0.1"
-    ];
+    deps = {
+      "json-stable-stringify-0.0.1" = self.by-version."json-stable-stringify"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shasum" ];
@@ -16848,7 +18006,8 @@
   by-spec."shell-quote"."~0.0.1" =
     self.by-version."shell-quote"."0.0.1";
   by-version."shell-quote"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shell-quote-0.0.1";
+    name = "shell-quote-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
@@ -16858,8 +18017,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shell-quote" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shell-quote" ];
@@ -16868,6 +18027,7 @@
     self.by-version."shelljs"."0.3.0";
   by-version."shelljs"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "shelljs-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
@@ -16877,8 +18037,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shelljs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shelljs" ];
@@ -16889,7 +18049,8 @@
   by-spec."should"."*" =
     self.by-version."should"."4.0.4";
   by-version."should"."4.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-should-4.0.4";
+    name = "should-4.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/should/-/should-4.0.4.tgz";
@@ -16899,8 +18060,8 @@
     ];
     buildInputs =
       (self.nativeDeps."should" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "should" ];
@@ -16909,7 +18070,8 @@
   by-spec."sigmund"."~1.0.0" =
     self.by-version."sigmund"."1.0.0";
   by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sigmund-1.0.0";
+    name = "sigmund-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
@@ -16919,8 +18081,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sigmund" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sigmund" ];
@@ -16928,7 +18090,8 @@
   by-spec."signals"."<2.0" =
     self.by-version."signals"."1.0.0";
   by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-signals-1.0.0";
+    name = "signals-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
@@ -16938,8 +18101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."signals" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "signals" ];
@@ -16951,7 +18114,8 @@
   by-spec."simple-lru-cache"."0.0.x" =
     self.by-version."simple-lru-cache"."0.0.1";
   by-version."simple-lru-cache"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simple-lru-cache-0.0.1";
+    name = "simple-lru-cache-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz";
@@ -16961,29 +18125,30 @@
     ];
     buildInputs =
       (self.nativeDeps."simple-lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "simple-lru-cache" ];
   };
   by-spec."simplesmtp".">= 0.1.22" =
-    self.by-version."simplesmtp"."0.3.32";
-  by-version."simplesmtp"."0.3.32" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simplesmtp-0.3.32";
+    self.by-version."simplesmtp"."0.3.33";
+  by-version."simplesmtp"."0.3.33" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.33";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.32.tgz";
-        name = "simplesmtp-0.3.32.tgz";
-        sha1 = "b3589b4cbf90624e712ab0ec1a7480ec14fd1c12";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.33.tgz";
+        name = "simplesmtp-0.3.33.tgz";
+        sha1 = "f25e12431d8c6363755c106595b998f5f965aad9";
       })
     ];
     buildInputs =
       (self.nativeDeps."simplesmtp" or []);
-    deps = [
-      self.by-version."rai"."0.1.11"
-      self.by-version."xoauth2"."0.1.8"
-    ];
+    deps = {
+      "rai-0.1.11" = self.by-version."rai"."0.1.11";
+      "xoauth2-0.1.8" = self.by-version."xoauth2"."0.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "simplesmtp" ];
@@ -16991,7 +18156,8 @@
   by-spec."sinon"."*" =
     self.by-version."sinon"."1.10.3";
   by-version."sinon"."1.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sinon-1.10.3";
+    name = "sinon-1.10.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz";
@@ -17001,41 +18167,43 @@
     ];
     buildInputs =
       (self.nativeDeps."sinon" or []);
-    deps = [
-      self.by-version."formatio"."1.0.2"
-      self.by-version."util"."0.10.3"
-    ];
+    deps = {
+      "formatio-1.0.2" = self.by-version."formatio"."1.0.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sinon" ];
   };
   "sinon" = self.by-version."sinon"."1.10.3";
   by-spec."slasp"."*" =
-    self.by-version."slasp"."0.0.3";
-  by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slasp-0.0.3";
+    self.by-version."slasp"."0.0.4";
+  by-version."slasp"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "slasp-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.3.tgz";
-        name = "slasp-0.0.3.tgz";
-        sha1 = "fb9aba74f30fc2f012d0ff2d34d4b5c678c11f9f";
+        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.4.tgz";
+        name = "slasp-0.0.4.tgz";
+        sha1 = "9adc26ee729a0f95095851a5489f87a5258d57a9";
       })
     ];
     buildInputs =
       (self.nativeDeps."slasp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "slasp" ];
   };
-  "slasp" = self.by-version."slasp"."0.0.3";
-  by-spec."slasp"."0.0.3" =
-    self.by-version."slasp"."0.0.3";
+  "slasp" = self.by-version."slasp"."0.0.4";
+  by-spec."slasp"."0.0.4" =
+    self.by-version."slasp"."0.0.4";
   by-spec."sliced"."0.0.3" =
     self.by-version."sliced"."0.0.3";
   by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.3";
+    name = "sliced-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
@@ -17045,8 +18213,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17054,7 +18222,8 @@
   by-spec."sliced"."0.0.4" =
     self.by-version."sliced"."0.0.4";
   by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.4";
+    name = "sliced-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
@@ -17064,8 +18233,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17073,7 +18242,8 @@
   by-spec."sliced"."0.0.5" =
     self.by-version."sliced"."0.0.5";
   by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.5";
+    name = "sliced-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
@@ -17083,8 +18253,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17092,7 +18262,8 @@
   by-spec."slide"."^1.1.3" =
     self.by-version."slide"."1.1.5";
   by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slide-1.1.5";
+    name = "slide-1.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
@@ -17102,8 +18273,8 @@
     ];
     buildInputs =
       (self.nativeDeps."slide" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "slide" ];
@@ -17116,6 +18287,7 @@
     self.by-version."smartdc"."7.3.0";
   by-version."smartdc"."7.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-7.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/smartdc/-/smartdc-7.3.0.tgz";
@@ -17125,18 +18297,18 @@
     ];
     buildInputs =
       (self.nativeDeps."smartdc" or []);
-    deps = [
-      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"
-      self.by-version."cmdln"."1.3.2"
-      self.by-version."dashdash"."1.5.0"
-      self.by-version."vasync"."1.4.3"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "lru-cache-2.2.0" = self.by-version."lru-cache"."2.2.0";
+      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
+      "restify-2.4.1" = self.by-version."restify"."2.4.1";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "clone-0.1.6" = self.by-version."clone"."0.1.6";
+      "smartdc-auth-1.0.1" = self.by-version."smartdc-auth"."1.0.1";
+      "cmdln-1.3.2" = self.by-version."cmdln"."1.3.2";
+      "dashdash-1.5.0" = self.by-version."dashdash"."1.5.0";
+      "vasync-1.4.3" = self.by-version."vasync"."1.4.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
@@ -17145,7 +18317,8 @@
   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 = "node-smartdc-auth-1.0.1";
+    name = "smartdc-auth-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
@@ -17155,13 +18328,13 @@
     ];
     buildInputs =
       (self.nativeDeps."smartdc-auth" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "clone-0.1.5" = self.by-version."clone"."0.1.5";
+      "ssh-agent-0.2.1" = self.by-version."ssh-agent"."0.2.1";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "vasync-1.3.3" = self.by-version."vasync"."1.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "smartdc-auth" ];
@@ -17169,7 +18342,8 @@
   by-spec."sntp"."0.1.x" =
     self.by-version."sntp"."0.1.4";
   by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.1.4";
+    name = "sntp-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
@@ -17179,9 +18353,9 @@
     ];
     buildInputs =
       (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
@@ -17189,7 +18363,8 @@
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.2.4";
+    name = "sntp-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
@@ -17199,9 +18374,9 @@
     ];
     buildInputs =
       (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
@@ -17209,7 +18384,8 @@
   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 = "node-socket.io-0.9.14";
+    name = "socket.io-0.9.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
@@ -17219,12 +18395,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "socket.io-client-0.9.11" = self.by-version."socket.io-client"."0.9.11";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
@@ -17232,7 +18408,8 @@
   by-spec."socket.io"."~0.9.13" =
     self.by-version."socket.io"."0.9.17";
   by-version."socket.io"."0.9.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-0.9.17";
+    name = "socket.io-0.9.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz";
@@ -17242,12 +18419,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "socket.io-client-0.9.16" = self.by-version."socket.io-client"."0.9.16";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
@@ -17257,7 +18434,8 @@
   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 = "node-socket.io-client-0.9.11";
+    name = "socket.io-client-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
@@ -17267,12 +18445,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
@@ -17280,7 +18458,8 @@
   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 = "node-socket.io-client-0.9.16";
+    name = "socket.io-client-0.9.16";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
@@ -17290,12 +18469,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
@@ -17303,7 +18482,8 @@
   by-spec."sockjs"."*" =
     self.by-version."sockjs"."0.3.9";
   by-version."sockjs"."0.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sockjs-0.3.9";
+    name = "sockjs-0.3.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.9.tgz";
@@ -17313,10 +18493,10 @@
     ];
     buildInputs =
       (self.nativeDeps."sockjs" or []);
-    deps = [
-      self.by-version."node-uuid"."1.3.3"
-      self.by-version."faye-websocket"."0.7.2"
-    ];
+    deps = {
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "faye-websocket-0.7.2" = self.by-version."faye-websocket"."0.7.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sockjs" ];
@@ -17325,7 +18505,8 @@
   by-spec."sorted-object"."~1.0.0" =
     self.by-version."sorted-object"."1.0.0";
   by-version."sorted-object"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sorted-object-1.0.0";
+    name = "sorted-object-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz";
@@ -17335,37 +18516,39 @@
     ];
     buildInputs =
       (self.nativeDeps."sorted-object" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sorted-object" ];
   };
   by-spec."source-map"."*" =
-    self.by-version."source-map"."0.1.38";
-  by-version."source-map"."0.1.38" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.38";
+    self.by-version."source-map"."0.1.39";
+  by-version."source-map"."0.1.39" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.39";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.38.tgz";
-        name = "source-map-0.1.38.tgz";
-        sha1 = "f93a6f9d96a5b9cf5494c043497d9542f9fa6b33";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.39.tgz";
+        name = "source-map-0.1.39.tgz";
+        sha1 = "64ad329c4761ab956ff7d011c6b205aeb66a2d4a";
       })
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
-  "source-map" = self.by-version."source-map"."0.1.38";
+  "source-map" = self.by-version."source-map"."0.1.39";
   by-spec."source-map"."0.1.11" =
     self.by-version."source-map"."0.1.11";
   by-version."source-map"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.11";
+    name = "source-map-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.11.tgz";
@@ -17375,9 +18558,9 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
@@ -17385,7 +18568,8 @@
   by-spec."source-map"."0.1.31" =
     self.by-version."source-map"."0.1.31";
   by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.31";
+    name = "source-map-0.1.31";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
@@ -17395,9 +18579,9 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
@@ -17405,7 +18589,8 @@
   by-spec."source-map"."0.1.34" =
     self.by-version."source-map"."0.1.34";
   by-version."source-map"."0.1.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.34";
+    name = "source-map-0.1.34";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
@@ -17415,31 +18600,32 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
   by-spec."source-map"."0.1.x" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map".">= 0.1.2" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~ 0.1.8" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.30" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.31" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.33" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."spdy"."1.7.1" =
     self.by-version."spdy"."1.7.1";
   by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-spdy-1.7.1";
+    name = "spdy-1.7.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
@@ -17449,8 +18635,8 @@
     ];
     buildInputs =
       (self.nativeDeps."spdy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "spdy" ];
@@ -17458,7 +18644,8 @@
   by-spec."sprintf"."~0.1.2" =
     self.by-version."sprintf"."0.1.4";
   by-version."sprintf"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sprintf-0.1.4";
+    name = "sprintf-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.4.tgz";
@@ -17468,8 +18655,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sprintf" ];
@@ -17480,6 +18667,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
@@ -17489,10 +18677,10 @@
     ];
     buildInputs =
       (self.nativeDeps."ssh-agent" or []);
-    deps = [
-      self.by-version."ctype"."0.5.0"
-      self.by-version."posix-getopt"."1.0.0"
-    ];
+    deps = {
+      "ctype-0.5.0" = self.by-version."ctype"."0.5.0";
+      "posix-getopt-1.0.0" = self.by-version."posix-getopt"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ssh-agent" ];
@@ -17500,7 +18688,8 @@
   by-spec."stack-trace"."0.0.7" =
     self.by-version."stack-trace"."0.0.7";
   by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.7";
+    name = "stack-trace-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
@@ -17510,8 +18699,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
@@ -17519,7 +18708,8 @@
   by-spec."stack-trace"."0.0.x" =
     self.by-version."stack-trace"."0.0.9";
   by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.9";
+    name = "stack-trace-0.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
@@ -17529,8 +18719,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
@@ -17538,7 +18728,8 @@
   by-spec."stackdriver-statsd-backend"."*" =
     self.by-version."stackdriver-statsd-backend"."0.2.2";
   by-version."stackdriver-statsd-backend"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stackdriver-statsd-backend-0.2.2";
+    name = "stackdriver-statsd-backend-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.2.tgz";
@@ -17548,8 +18739,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stackdriver-statsd-backend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stackdriver-statsd-backend" ];
@@ -17559,6 +18750,7 @@
     self.by-version."statsd"."0.7.1";
   by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "statsd-0.7.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz";
@@ -17568,20 +18760,42 @@
     ];
     buildInputs =
       (self.nativeDeps."statsd" or []);
-    deps = [
-      self.by-version."node-syslog"."1.1.7"
-      self.by-version."hashring"."1.0.1"
-      self.by-version."winser"."0.1.6"
-    ];
+    deps = {
+      "node-syslog-1.1.7" = self.by-version."node-syslog"."1.1.7";
+      "hashring-1.0.1" = self.by-version."hashring"."1.0.1";
+      "winser-0.1.6" = self.by-version."winser"."0.1.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "statsd" ];
   };
   "statsd" = self.by-version."statsd"."0.7.1";
+  by-spec."statsd-influxdb-backend"."*" =
+    self.by-version."statsd-influxdb-backend"."0.3.0";
+  by-version."statsd-influxdb-backend"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "statsd-influxdb-backend-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/statsd-influxdb-backend/-/statsd-influxdb-backend-0.3.0.tgz";
+        name = "statsd-influxdb-backend-0.3.0.tgz";
+        sha1 = "f66197570545c04743c8637af1fbbc914096ec44";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."statsd-influxdb-backend" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "statsd-influxdb-backend" ];
+  };
+  "statsd-influxdb-backend" = self.by-version."statsd-influxdb-backend"."0.3.0";
   by-spec."statsd-librato-backend"."*" =
     self.by-version."statsd-librato-backend"."0.1.3";
   by-version."statsd-librato-backend"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statsd-librato-backend-0.1.3";
+    name = "statsd-librato-backend-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.3.tgz";
@@ -17591,36 +18805,18 @@
     ];
     buildInputs =
       (self.nativeDeps."statsd-librato-backend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "statsd-librato-backend" ];
   };
   "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.3";
-  by-spec."statuses"."~1.0.1" =
-    self.by-version."statuses"."1.0.4";
-  by-version."statuses"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statuses-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/statuses/-/statuses-1.0.4.tgz";
-        name = "statuses-1.0.4.tgz";
-        sha1 = "a8b203f645cf475a66426f6be690205c85f3ebdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."statuses" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "statuses" ];
-  };
   by-spec."stream-browserify"."^1.0.0" =
     self.by-version."stream-browserify"."1.0.0";
   by-version."stream-browserify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-browserify-1.0.0";
+    name = "stream-browserify-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz";
@@ -17630,10 +18826,10 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-browserify" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-browserify" ];
@@ -17641,7 +18837,8 @@
   by-spec."stream-combiner"."~0.0.2" =
     self.by-version."stream-combiner"."0.0.4";
   by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner-0.0.4";
+    name = "stream-combiner-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
@@ -17651,9 +18848,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-combiner" or []);
-    deps = [
-      self.by-version."duplexer"."0.1.1"
-    ];
+    deps = {
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-combiner" ];
@@ -17661,7 +18858,8 @@
   by-spec."stream-combiner2"."~1.0.0" =
     self.by-version."stream-combiner2"."1.0.1";
   by-version."stream-combiner2"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner2-1.0.1";
+    name = "stream-combiner2-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.1.tgz";
@@ -17671,18 +18869,39 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-combiner2" or []);
-    deps = [
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."through2"."0.5.1"
-    ];
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-combiner2" ];
   };
+  by-spec."stream-consume"."~0.1.0" =
+    self.by-version."stream-consume"."0.1.0";
+  by-version."stream-consume"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "stream-consume-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz";
+        name = "stream-consume-0.1.0.tgz";
+        sha1 = "a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stream-consume" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "stream-consume" ];
+  };
   by-spec."stream-counter"."^1.0.0" =
     self.by-version."stream-counter"."1.0.0";
   by-version."stream-counter"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-counter-1.0.0";
+    name = "stream-counter-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz";
@@ -17692,8 +18911,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-counter" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
@@ -17701,7 +18920,8 @@
   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 = "node-stream-counter-0.2.0";
+    name = "stream-counter-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
@@ -17711,9 +18931,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-counter" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
@@ -17721,7 +18941,8 @@
   by-spec."stream-splicer"."^1.1.0" =
     self.by-version."stream-splicer"."1.3.0";
   by-version."stream-splicer"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splicer-1.3.0";
+    name = "stream-splicer-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.0.tgz";
@@ -17731,14 +18952,14 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."readable-wrap"."1.0.0"
-      self.by-version."through2"."1.1.1"
-      self.by-version."indexof"."0.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "readable-wrap-1.0.0" = self.by-version."readable-wrap"."1.0.0";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-splicer" ];
@@ -17746,7 +18967,8 @@
   by-spec."stream-splitter-transform"."*" =
     self.by-version."stream-splitter-transform"."0.0.4";
   by-version."stream-splitter-transform"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splitter-transform-0.0.4";
+    name = "stream-splitter-transform-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz";
@@ -17756,9 +18978,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-splitter-transform" or []);
-    deps = [
-      self.by-version."buffertools"."1.1.1"
-    ];
+    deps = {
+      "buffertools-1.1.1" = self.by-version."buffertools"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
@@ -17767,7 +18989,8 @@
   by-spec."string"."1.6.1" =
     self.by-version."string"."1.6.1";
   by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string-1.6.1";
+    name = "string-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
@@ -17777,8 +19000,8 @@
     ];
     buildInputs =
       (self.nativeDeps."string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string" ];
@@ -17786,7 +19009,8 @@
   by-spec."string_decoder"."~0.0.0" =
     self.by-version."string_decoder"."0.0.1";
   by-version."string_decoder"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.0.1";
+    name = "string_decoder-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
@@ -17796,27 +19020,28 @@
     ];
     buildInputs =
       (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string_decoder" ];
   };
   by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.25";
-  by-version."string_decoder"."0.10.25" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.10.25";
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25.tgz";
-        name = "string_decoder-0.10.25.tgz";
-        sha1 = "668c9da4f8efbdc937a4a6b6bf1cfbec4e9a82e2";
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        name = "string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
       })
     ];
     buildInputs =
       (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string_decoder" ];
@@ -17824,7 +19049,8 @@
   by-spec."stringstream"."~0.0.4" =
     self.by-version."stringstream"."0.0.4";
   by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stringstream-0.0.4";
+    name = "stringstream-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
@@ -17834,48 +19060,50 @@
     ];
     buildInputs =
       (self.nativeDeps."stringstream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stringstream" ];
   };
-  by-spec."strip-ansi"."^0.2.1" =
-    self.by-version."strip-ansi"."0.2.2";
-  by-version."strip-ansi"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-ansi-0.2.2";
+  by-spec."strip-ansi"."^0.3.0" =
+    self.by-version."strip-ansi"."0.3.0";
+  by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-ansi-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz";
-        name = "strip-ansi-0.2.2.tgz";
-        sha1 = "854d290c981525fc8c397a910b025ae2d54ffc08";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+        name = "strip-ansi-0.3.0.tgz";
+        sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.1.0"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
   };
-  by-spec."strip-ansi"."^0.3.0" =
-    self.by-version."strip-ansi"."0.3.0";
-  by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-ansi-0.3.0";
+  by-spec."strip-ansi"."^1.0.0" =
+    self.by-version."strip-ansi"."1.0.0";
+  by-version."strip-ansi"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-ansi-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
-        name = "strip-ansi-0.3.0.tgz";
-        sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-1.0.0.tgz";
+        name = "strip-ansi-1.0.0.tgz";
+        sha1 = "6c021321d6ece161a3c608fbab268c7328901c73";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
@@ -17884,6 +19112,7 @@
     self.by-version."strip-ansi"."0.1.1";
   by-version."strip-ansi"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "strip-ansi-0.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
@@ -17893,29 +19122,30 @@
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
   };
-  by-spec."strip-bom"."^0.3.0" =
-    self.by-version."strip-bom"."0.3.1";
-  by-version."strip-bom"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-bom-0.3.1";
+  by-spec."strip-bom"."^1.0.0" =
+    self.by-version."strip-bom"."1.0.0";
+  by-version."strip-bom"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-bom-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-bom/-/strip-bom-0.3.1.tgz";
-        name = "strip-bom-0.3.1.tgz";
-        sha1 = "9e8a39eff456ff9abc2f059f5f2225bb0f3f7ca5";
+        url = "http://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz";
+        name = "strip-bom-1.0.0.tgz";
+        sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-bom" or []);
-    deps = [
-      self.by-version."first-chunk-stream"."0.1.0"
-      self.by-version."is-utf8"."0.2.0"
-    ];
+    deps = {
+      "first-chunk-stream-1.0.0" = self.by-version."first-chunk-stream"."1.0.0";
+      "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-bom" ];
@@ -17924,6 +19154,7 @@
     self.by-version."strip-json-comments"."0.1.3";
   by-version."strip-json-comments"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "strip-json-comments-0.1.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
@@ -17933,8 +19164,8 @@
     ];
     buildInputs =
       (self.nativeDeps."strip-json-comments" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-json-comments" ];
@@ -17942,7 +19173,8 @@
   by-spec."strong-data-uri"."~0.1.0" =
     self.by-version."strong-data-uri"."0.1.1";
   by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-strong-data-uri-0.1.1";
+    name = "strong-data-uri-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz";
@@ -17952,43 +19184,45 @@
     ];
     buildInputs =
       (self.nativeDeps."strong-data-uri" or []);
-    deps = [
-      self.by-version."truncate"."1.0.2"
-    ];
+    deps = {
+      "truncate-1.0.2" = self.by-version."truncate"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
   by-spec."stylus"."*" =
-    self.by-version."stylus"."0.48.0";
-  by-version."stylus"."0.48.0" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.48.0";
+    self.by-version."stylus"."0.48.1";
+  by-version."stylus"."0.48.1" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.48.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.0.tgz";
-        name = "stylus-0.48.0.tgz";
-        sha1 = "a8de8341b1cd89efb9161050bf87a72d65485795";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.1.tgz";
+        name = "stylus-0.48.1.tgz";
+        sha1 = "612c1b8806ce2c35f37cd3a57ad932c883f7ff10";
       })
     ];
     buildInputs =
       (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.by-version."stylus"."0.48.0";
+  "stylus" = self.by-version."stylus"."0.48.1";
   by-spec."stylus"."0.42.2" =
     self.by-version."stylus"."0.42.2";
   by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage {
     name = "stylus-0.42.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz";
@@ -17998,13 +19232,13 @@
     ];
     buildInputs =
       (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-    ];
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
@@ -18012,7 +19246,8 @@
   by-spec."subarg"."0.0.1" =
     self.by-version."subarg"."0.0.1";
   by-version."subarg"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-subarg-0.0.1";
+    name = "subarg-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz";
@@ -18022,9 +19257,9 @@
     ];
     buildInputs =
       (self.nativeDeps."subarg" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "subarg" ];
@@ -18032,7 +19267,8 @@
   by-spec."superagent"."0.18.0" =
     self.by-version."superagent"."0.18.0";
   by-version."superagent"."0.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.0";
+    name = "superagent-0.18.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz";
@@ -18042,19 +19278,19 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.5"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."0.0.1"
-      self.by-version."cookiejar"."1.3.2"
-      self.by-version."debug"."0.7.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.2"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.5" = self.by-version."mime"."1.2.5";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "cookiejar-1.3.2" = self.by-version."cookiejar"."1.3.2";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.2" = self.by-version."form-data"."0.1.2";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
@@ -18062,7 +19298,8 @@
   by-spec."superagent"."~0.13.0" =
     self.by-version."superagent"."0.13.0";
   by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.13.0";
+    name = "superagent-0.13.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.13.0.tgz";
@@ -18072,22 +19309,23 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      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"
-    ];
+    deps = {
+      "qs-0.5.2" = self.by-version."qs"."0.5.2";
+      "formidable-1.0.9" = self.by-version."formidable"."1.0.9";
+      "mime-1.2.5" = self.by-version."mime"."1.2.5";
+      "emitter-component-0.0.6" = self.by-version."emitter-component"."0.0.6";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "cookiejar-1.3.0" = self.by-version."cookiejar"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  by-spec."superagent"."~0.18.0" =
+  by-spec."superagent"."~0.18.2" =
     self.by-version."superagent"."0.18.2";
   by-version."superagent"."0.18.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.2";
+    name = "superagent-0.18.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.18.2.tgz";
@@ -18097,19 +19335,19 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.11"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."1.0.1"
-      self.by-version."cookiejar"."2.0.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.3"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-1.0.1" = self.by-version."methods"."1.0.1";
+      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
@@ -18117,7 +19355,8 @@
   by-spec."supertest"."*" =
     self.by-version."supertest"."0.13.0";
   by-version."supertest"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-supertest-0.13.0";
+    name = "supertest-0.13.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz";
@@ -18127,10 +19366,10 @@
     ];
     buildInputs =
       (self.nativeDeps."supertest" or []);
-    deps = [
-      self.by-version."superagent"."0.18.0"
-      self.by-version."methods"."1.0.0"
-    ];
+    deps = {
+      "superagent-0.18.0" = self.by-version."superagent"."0.18.0";
+      "methods-1.0.0" = self.by-version."methods"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "supertest" ];
@@ -18140,6 +19379,7 @@
     self.by-version."supports-color"."0.2.0";
   by-version."supports-color"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "supports-color-0.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
@@ -18149,8 +19389,8 @@
     ];
     buildInputs =
       (self.nativeDeps."supports-color" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "supports-color" ];
@@ -18158,7 +19398,8 @@
   by-spec."swig"."0.14.x" =
     self.by-version."swig"."0.14.0";
   by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-swig-0.14.0";
+    name = "swig-0.14.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
@@ -18168,9 +19409,9 @@
     ];
     buildInputs =
       (self.nativeDeps."swig" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "swig" ];
@@ -18179,7 +19420,8 @@
   by-spec."sylvester".">= 0.0.12" =
     self.by-version."sylvester"."0.0.21";
   by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sylvester-0.0.21";
+    name = "sylvester-0.0.21";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
@@ -18189,8 +19431,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sylvester" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
@@ -18200,7 +19442,8 @@
   by-spec."syntax-error"."^1.1.1" =
     self.by-version."syntax-error"."1.1.1";
   by-version."syntax-error"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-syntax-error-1.1.1";
+    name = "syntax-error-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.1.tgz";
@@ -18210,17 +19453,38 @@
     ];
     buildInputs =
       (self.nativeDeps."syntax-error" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "syntax-error" ];
   };
+  by-spec."tabtab"."git+https://github.com/mixu/node-tabtab.git" =
+    self.by-version."tabtab"."0.0.2";
+  by-version."tabtab"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "tabtab-0.0.2";
+    bin = false;
+    src = [
+      (fetchgit {
+        url = "https://github.com/mixu/node-tabtab.git";
+        rev = "94af2b878b174527b6636aec88acd46979247755";
+        sha256 = "7be2daa2fe7893478d38d90b213de359c9a662a7ef06ad9cbfaac11ad399a149";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tabtab" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tabtab" ];
+  };
   by-spec."tape"."~0.2.2" =
     self.by-version."tape"."0.2.2";
   by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "tape-0.2.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz";
@@ -18230,11 +19494,11 @@
     ];
     buildInputs =
       (self.nativeDeps."tape" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-      self.by-version."deep-equal"."0.0.0"
-      self.by-version."defined"."0.0.0"
-    ];
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tape" ];
@@ -18242,7 +19506,8 @@
   by-spec."tar"."*" =
     self.by-version."tar"."1.0.1";
   by-version."tar"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-1.0.1";
+    name = "tar-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar/-/tar-1.0.1.tgz";
@@ -18252,42 +19517,21 @@
     ];
     buildInputs =
       (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
   "tar" = self.by-version."tar"."1.0.1";
-  by-spec."tar"."0" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.20";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
   by-spec."tar"."0.1.17" =
     self.by-version."tar"."0.1.17";
   by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.17";
+    name = "tar-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
@@ -18297,23 +19541,24 @@
     ];
     buildInputs =
       (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."inherits"."1.0.0"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-    ];
+    deps = {
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
   by-spec."tar"."^1.0.0" =
     self.by-version."tar"."1.0.1";
-  by-spec."tar"."~0.1.20" =
-    self.by-version."tar"."0.1.20";
+  by-spec."tar"."~1.0.1" =
+    self.by-version."tar"."1.0.1";
   by-spec."tar-stream"."~0.4.0" =
     self.by-version."tar-stream"."0.4.5";
   by-version."tar-stream"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-stream-0.4.5";
+    name = "tar-stream-0.4.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.5.tgz";
@@ -18323,12 +19568,12 @@
     ];
     buildInputs =
       (self.nativeDeps."tar-stream" or []);
-    deps = [
-      self.by-version."bl"."0.9.1"
-      self.by-version."end-of-stream"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar-stream" ];
@@ -18336,7 +19581,8 @@
   by-spec."temp"."*" =
     self.by-version."temp"."0.8.1";
   by-version."temp"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.8.1";
+    name = "temp-0.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/temp/-/temp-0.8.1.tgz";
@@ -18346,9 +19592,9 @@
     ];
     buildInputs =
       (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
@@ -18357,7 +19603,8 @@
   by-spec."temp"."0.6.0" =
     self.by-version."temp"."0.6.0";
   by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.6.0";
+    name = "temp-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
@@ -18367,22 +19614,23 @@
     ];
     buildInputs =
       (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.1.4"
-      self.by-version."osenv"."0.0.3"
-    ];
+    deps = {
+      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
   };
   by-spec."temp"."~0.6.0" =
     self.by-version."temp"."0.6.0";
-  by-spec."temp"."~0.8.0" =
+  by-spec."temp"."~0.8.1" =
     self.by-version."temp"."0.8.1";
   by-spec."text-table"."~0.2.0" =
     self.by-version."text-table"."0.2.0";
   by-version."text-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-text-table-0.2.0";
+    name = "text-table-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
@@ -18392,8 +19640,8 @@
     ];
     buildInputs =
       (self.nativeDeps."text-table" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "text-table" ];
@@ -18401,7 +19649,8 @@
   by-spec."throttleit"."~0.0.2" =
     self.by-version."throttleit"."0.0.2";
   by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-throttleit-0.0.2";
+    name = "throttleit-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
@@ -18411,8 +19660,8 @@
     ];
     buildInputs =
       (self.nativeDeps."throttleit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "throttleit" ];
@@ -18420,7 +19669,8 @@
   by-spec."through".">=2.2.7 <3" =
     self.by-version."through"."2.3.4";
   by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through-2.3.4";
+    name = "through-2.3.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
@@ -18430,8 +19680,8 @@
     ];
     buildInputs =
       (self.nativeDeps."through" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through" ];
@@ -18441,7 +19691,8 @@
   by-spec."through2"."^0.5.1" =
     self.by-version."through2"."0.5.1";
   by-version."through2"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.5.1";
+    name = "through2-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.5.1.tgz";
@@ -18451,10 +19702,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18462,7 +19713,8 @@
   by-spec."through2"."^0.6.1" =
     self.by-version."through2"."0.6.1";
   by-version."through2"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.6.1";
+    name = "through2-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.6.1.tgz";
@@ -18472,10 +19724,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18483,7 +19735,8 @@
   by-spec."through2"."^1.0.0" =
     self.by-version."through2"."1.1.1";
   by-version."through2"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-1.1.1";
+    name = "through2-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz";
@@ -18493,10 +19746,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18504,7 +19757,8 @@
   by-spec."through2"."~0.4.1" =
     self.by-version."through2"."0.4.2";
   by-version."through2"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.4.2";
+    name = "through2-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
@@ -18514,32 +19768,54 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."2.1.2"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
   };
   by-spec."through2"."~0.5.1" =
     self.by-version."through2"."0.5.1";
+  by-spec."tildify"."^1.0.0" =
+    self.by-version."tildify"."1.0.0";
+  by-version."tildify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "tildify-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tildify/-/tildify-1.0.0.tgz";
+        name = "tildify-1.0.0.tgz";
+        sha1 = "2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tildify" or []);
+    deps = {
+      "user-home-1.0.0" = self.by-version."user-home"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tildify" ];
+  };
   by-spec."timers-browserify"."^1.0.1" =
-    self.by-version."timers-browserify"."1.0.3";
-  by-version."timers-browserify"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timers-browserify-1.0.3";
+    self.by-version."timers-browserify"."1.1.0";
+  by-version."timers-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "timers-browserify-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.3.tgz";
-        name = "timers-browserify-1.0.3.tgz";
-        sha1 = "ffba70c9c12eed916fd67318e629ac6f32295551";
+        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.1.0.tgz";
+        name = "timers-browserify-1.1.0.tgz";
+        sha1 = "bffd11af00fe82b089b015e8de4dc6a911b7ec3e";
       })
     ];
     buildInputs =
       (self.nativeDeps."timers-browserify" or []);
-    deps = [
-      self.by-version."process"."0.5.2"
-    ];
+    deps = {
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timers-browserify" ];
@@ -18547,7 +19823,8 @@
   by-spec."timespan"."~2.3.0" =
     self.by-version."timespan"."2.3.0";
   by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timespan-2.3.0";
+    name = "timespan-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
@@ -18557,8 +19834,8 @@
     ];
     buildInputs =
       (self.nativeDeps."timespan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
@@ -18566,7 +19843,8 @@
   by-spec."timezone"."*" =
     self.by-version."timezone"."0.0.34";
   by-version."timezone"."0.0.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timezone-0.0.34";
+    name = "timezone-0.0.34";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/timezone/-/timezone-0.0.34.tgz";
@@ -18576,8 +19854,8 @@
     ];
     buildInputs =
       (self.nativeDeps."timezone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
@@ -18586,7 +19864,8 @@
   by-spec."tinycolor"."0.x" =
     self.by-version."tinycolor"."0.0.1";
   by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tinycolor-0.0.1";
+    name = "tinycolor-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
@@ -18596,8 +19875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tinycolor" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
@@ -18606,6 +19885,7 @@
     self.by-version."titanium"."3.2.1";
   by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "titanium-3.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz";
@@ -18615,23 +19895,23 @@
     ];
     buildInputs =
       (self.nativeDeps."titanium" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."fields"."0.1.12"
-      self.by-version."humanize"."0.0.9"
-      self.by-version."jade"."0.35.0"
-      self.by-version."longjohn"."0.2.4"
-      self.by-version."moment"."2.4.0"
-      self.by-version."node-appc"."0.2.0"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.2.1"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."winston"."0.6.2"
-      self.by-version."wrench"."1.5.8"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "fields-0.1.13" = self.by-version."fields"."0.1.13";
+      "humanize-0.0.9" = self.by-version."humanize"."0.0.9";
+      "jade-0.35.0" = self.by-version."jade"."0.35.0";
+      "longjohn-0.2.4" = self.by-version."longjohn"."0.2.4";
+      "moment-2.4.0" = self.by-version."moment"."2.4.0";
+      "node-appc-0.2.0" = self.by-version."node-appc"."0.2.0";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "semver-2.2.1" = self.by-version."semver"."2.2.1";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "titanium" ];
@@ -18640,7 +19920,8 @@
   by-spec."tmp"."~0.0.20" =
     self.by-version."tmp"."0.0.24";
   by-version."tmp"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tmp-0.0.24";
+    name = "tmp-0.0.24";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz";
@@ -18650,8 +19931,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tmp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
@@ -18659,7 +19940,8 @@
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
   by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.12.1";
+    name = "tough-cookie-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
@@ -18669,29 +19951,9 @@
     ];
     buildInputs =
       (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tough-cookie"."~0.9.15" =
-    self.by-version."tough-cookie"."0.9.15";
-  by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.9.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
-        name = "tough-cookie-0.9.15.tgz";
-        sha1 = "75617ac347e3659052b0350131885829677399f6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
+    deps = {
+      "punycode-1.3.1" = self.by-version."punycode"."1.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tough-cookie" ];
@@ -18700,6 +19962,7 @@
     self.by-version."traceur"."0.0.55";
   by-version."traceur"."0.0.55" = lib.makeOverridable self.buildNodePackage {
     name = "traceur-0.0.55";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/traceur/-/traceur-0.0.55.tgz";
@@ -18709,11 +19972,11 @@
     ];
     buildInputs =
       (self.nativeDeps."traceur" or []);
-    deps = [
-      self.by-version."commander"."2.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."semver"."2.3.2"
-    ];
+    deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "traceur" ];
@@ -18721,7 +19984,8 @@
   by-spec."transformers"."2.1.0" =
     self.by-version."transformers"."2.1.0";
   by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-transformers-2.1.0";
+    name = "transformers-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
@@ -18731,11 +19995,11 @@
     ];
     buildInputs =
       (self.nativeDeps."transformers" or []);
-    deps = [
-      self.by-version."promise"."2.0.0"
-      self.by-version."css"."1.0.8"
-      self.by-version."uglify-js"."2.2.5"
-    ];
+    deps = {
+      "promise-2.0.0" = self.by-version."promise"."2.0.0";
+      "css-1.0.8" = self.by-version."css"."1.0.8";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
@@ -18743,7 +20007,8 @@
   by-spec."truncate"."~1.0.2" =
     self.by-version."truncate"."1.0.2";
   by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-truncate-1.0.2";
+    name = "truncate-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/truncate/-/truncate-1.0.2.tgz";
@@ -18753,8 +20018,8 @@
     ];
     buildInputs =
       (self.nativeDeps."truncate" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
@@ -18762,7 +20027,8 @@
   by-spec."tty-browserify"."~0.0.0" =
     self.by-version."tty-browserify"."0.0.0";
   by-version."tty-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tty-browserify-0.0.0";
+    name = "tty-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
@@ -18772,8 +20038,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tty-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tty-browserify" ];
@@ -18781,7 +20047,8 @@
   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 = "node-tunnel-agent-0.2.0";
+    name = "tunnel-agent-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
@@ -18791,8 +20058,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18800,7 +20067,8 @@
   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 = "node-tunnel-agent-0.3.0";
+    name = "tunnel-agent-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
@@ -18810,8 +20078,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18819,7 +20087,8 @@
   by-spec."tunnel-agent"."~0.4.0" =
     self.by-version."tunnel-agent"."0.4.0";
   by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.4.0";
+    name = "tunnel-agent-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
@@ -18829,8 +20098,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18838,7 +20107,8 @@
   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 = "node-type-detect-0.1.1";
+    name = "type-detect-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
@@ -18848,8 +20118,8 @@
     ];
     buildInputs =
       (self.nativeDeps."type-detect" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
@@ -18857,7 +20127,8 @@
   by-spec."type-is"."1.0.0" =
     self.by-version."type-is"."1.0.0";
   by-version."type-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.0.0";
+    name = "type-is-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz";
@@ -18867,81 +20138,62 @@
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."1.2.1" =
-    self.by-version."type-is"."1.2.1";
-  by-version."type-is"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz";
-        name = "type-is-1.2.1.tgz";
-        sha1 = "73d448080a4f1dd18acb1eefff62968c5b5d54a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."type-is"."1.3.1" =
-    self.by-version."type-is"."1.3.1";
-  by-version."type-is"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.1";
+  by-spec."type-is"."~1.3.2" =
+    self.by-version."type-is"."1.3.2";
+  by-version."type-is"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "type-is-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.1.tgz";
-        name = "type-is-1.3.1.tgz";
-        sha1 = "a6789b5a52138289ade1ef8f6d9f2874ffd70b6b";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        name = "type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
       })
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.0"
-    ];
+    deps = {
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."~1.3.1" =
-    self.by-version."type-is"."1.3.2";
-  by-version."type-is"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.2";
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.1";
+  by-version."type-is"."1.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "type-is-1.5.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
-        name = "type-is-1.3.2.tgz";
-        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz";
+        name = "type-is-1.5.1.tgz";
+        sha1 = "5c1e62d874f79199fb16b34d16972dba376ccbed";
       })
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.2"
-    ];
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.1" = self.by-version."mime-types"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."~1.3.2" =
-    self.by-version."type-is"."1.3.2";
   by-spec."typechecker"."~2.0.1" =
     self.by-version."typechecker"."2.0.8";
   by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typechecker-2.0.8";
+    name = "typechecker-2.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
@@ -18951,8 +20203,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typechecker" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
@@ -18960,7 +20212,8 @@
   by-spec."typedarray"."~0.0.5" =
     self.by-version."typedarray"."0.0.6";
   by-version."typedarray"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typedarray-0.0.6";
+    name = "typedarray-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
@@ -18970,8 +20223,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typedarray" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typedarray" ];
@@ -18980,6 +20233,7 @@
     self.by-version."typescript"."1.0.1";
   by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "typescript-1.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
@@ -18989,8 +20243,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typescript" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typescript" ];
@@ -19000,6 +20254,7 @@
     self.by-version."uglify-js"."2.4.15";
   by-version."uglify-js"."2.4.15" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.15";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz";
@@ -19009,12 +20264,12 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.34"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19024,6 +20279,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
@@ -19033,8 +20289,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19043,6 +20299,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
@@ -19052,12 +20309,12 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19068,6 +20325,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
@@ -19077,10 +20335,10 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
+    deps = {
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19091,6 +20349,7 @@
     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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
@@ -19100,11 +20359,11 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19118,7 +20377,8 @@
   by-spec."uglify-to-browserify"."~1.0.0" =
     self.by-version."uglify-to-browserify"."1.0.2";
   by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uglify-to-browserify-1.0.2";
+    name = "uglify-to-browserify-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
@@ -19128,8 +20388,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-to-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-to-browserify" ];
@@ -19137,7 +20397,8 @@
   by-spec."uid-number"."0.0.5" =
     self.by-version."uid-number"."0.0.5";
   by-version."uid-number"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-number-0.0.5";
+    name = "uid-number-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
@@ -19147,16 +20408,17 @@
     ];
     buildInputs =
       (self.nativeDeps."uid-number" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid-number" ];
   };
-  by-spec."uid-safe"."1" =
+  by-spec."uid-safe"."1.0.1" =
     self.by-version."uid-safe"."1.0.1";
   by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-safe-1.0.1";
+    name = "uid-safe-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
@@ -19166,20 +20428,21 @@
     ];
     buildInputs =
       (self.nativeDeps."uid-safe" or []);
-    deps = [
-      self.by-version."mz"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
+    deps = {
+      "mz-1.0.1" = self.by-version."mz"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid-safe" ];
   };
-  by-spec."uid-safe"."1.0.1" =
+  by-spec."uid-safe"."~1.0.1" =
     self.by-version."uid-safe"."1.0.1";
   by-spec."uid2"."0.0.3" =
     self.by-version."uid2"."0.0.3";
   by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid2-0.0.3";
+    name = "uid2-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
@@ -19189,8 +20452,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uid2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid2" ];
@@ -19199,6 +20462,7 @@
     self.by-version."umd"."2.1.0";
   by-version."umd"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "umd-2.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/umd/-/umd-2.1.0.tgz";
@@ -19208,12 +20472,12 @@
     ];
     buildInputs =
       (self.nativeDeps."umd" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."ruglify"."1.0.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "ruglify-1.0.0" = self.by-version."ruglify"."1.0.0";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "umd" ];
@@ -19221,9 +20485,31 @@
   by-spec."umd"."~2.1.0" =
     self.by-version."umd"."2.1.0";
   by-spec."underscore"."*" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.7.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        name = "underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  "underscore" = self.by-version."underscore"."1.7.0";
+  by-spec."underscore"."1.6.x" =
     self.by-version."underscore"."1.6.0";
   by-version."underscore"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.6.0";
+    name = "underscore-1.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
@@ -19233,27 +20519,23 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  "underscore" = self.by-version."underscore"."1.6.0";
-  by-spec."underscore"."1.6.x" =
-    self.by-version."underscore"."1.6.0";
-  by-spec."underscore".">= 1.3.0" =
-    self.by-version."underscore"."1.6.0";
   by-spec."underscore".">=1.1.7" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore".">=1.3.1" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore".">=1.5.0" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore"."~1.4.3" =
     self.by-version."underscore"."1.4.4";
   by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.4.4";
+    name = "underscore-1.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
@@ -19263,8 +20545,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
@@ -19274,7 +20556,8 @@
   by-spec."underscore"."~1.5.2" =
     self.by-version."underscore"."1.5.2";
   by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.5.2";
+    name = "underscore-1.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
@@ -19284,8 +20567,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
@@ -19293,7 +20576,8 @@
   by-spec."underscore.string"."~2.2.1" =
     self.by-version."underscore.string"."2.2.1";
   by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore.string-2.2.1";
+    name = "underscore.string-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
@@ -19303,8 +20587,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
@@ -19312,7 +20596,8 @@
   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 = "node-underscore.string-2.3.3";
+    name = "underscore.string-2.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
@@ -19322,8 +20607,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
@@ -19333,7 +20618,8 @@
   by-spec."unfunk-diff"."~0.0.1" =
     self.by-version."unfunk-diff"."0.0.2";
   by-version."unfunk-diff"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unfunk-diff-0.0.2";
+    name = "unfunk-diff-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
@@ -19343,72 +20629,74 @@
     ];
     buildInputs =
       (self.nativeDeps."unfunk-diff" or []);
-    deps = [
-      self.by-version."diff"."1.0.8"
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
+    deps = {
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "unfunk-diff" ];
   };
   by-spec."ungit"."*" =
-    self.by-version."ungit"."0.8.2";
-  by-version."ungit"."0.8.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.8.2";
+    self.by-version."ungit"."0.8.3";
+  by-version."ungit"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.8.3";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.2.tgz";
-        name = "ungit-0.8.2.tgz";
-        sha1 = "11fe51329ab2aaafaccd155eb0c911a90036b27f";
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.3.tgz";
+        name = "ungit-0.8.3.tgz";
+        sha1 = "93ea5734cb8408ef9ba3406102fa5254abfeaa4b";
       })
     ];
     buildInputs =
       (self.nativeDeps."ungit" or []);
-    deps = [
-      self.by-version."express"."4.4.5"
-      self.by-version."superagent"."0.18.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."moment"."2.7.0"
-      self.by-version."async"."0.9.0"
-      self.by-version."rc"."0.4.0"
-      self.by-version."uuid"."1.4.1"
-      self.by-version."winston"."0.7.3"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-local"."1.0.0"
-      self.by-version."semver"."2.3.2"
-      self.by-version."forever-monitor"."1.1.0"
-      self.by-version."open"."0.0.5"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."crossroads"."0.12.0"
-      self.by-version."signals"."1.0.0"
-      self.by-version."hasher"."1.2.0"
-      self.by-version."blueimp-md5"."1.1.0"
-      self.by-version."color"."0.6.0"
-      self.by-version."keen.io"."0.1.2"
-      self.by-version."getmac"."1.0.6"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."raven"."0.7.0"
-      self.by-version."knockout"."3.1.0"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."body-parser"."1.4.3"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."express-session"."1.6.5"
-      self.by-version."serve-static"."1.3.2"
-    ];
+    deps = {
+      "express-4.8.8" = self.by-version."express"."4.8.8";
+      "superagent-0.18.2" = self.by-version."superagent"."0.18.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "moment-2.8.3" = self.by-version."moment"."2.8.3";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "rc-0.5.1" = self.by-version."rc"."0.5.1";
+      "uuid-1.4.1" = self.by-version."uuid"."1.4.1";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-local-1.0.0" = self.by-version."passport-local"."1.0.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "forever-monitor-1.1.0" = self.by-version."forever-monitor"."1.1.0";
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "crossroads-0.12.0" = self.by-version."crossroads"."0.12.0";
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+      "hasher-1.2.0" = self.by-version."hasher"."1.2.0";
+      "blueimp-md5-1.1.0" = self.by-version."blueimp-md5"."1.1.0";
+      "color-0.7.1" = self.by-version."color"."0.7.1";
+      "keen.io-0.1.2" = self.by-version."keen.io"."0.1.2";
+      "getmac-1.0.6" = self.by-version."getmac"."1.0.6";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "raven-0.7.2" = self.by-version."raven"."0.7.2";
+      "knockout-3.2.0" = self.by-version."knockout"."3.2.0";
+      "npm-registry-client-3.1.8" = self.by-version."npm-registry-client"."3.1.8";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "body-parser-1.6.7" = self.by-version."body-parser"."1.6.7";
+      "cookie-parser-1.3.3" = self.by-version."cookie-parser"."1.3.3";
+      "express-session-1.7.6" = self.by-version."express-session"."1.7.6";
+      "serve-static-1.5.4" = self.by-version."serve-static"."1.5.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ungit" ];
   };
-  "ungit" = self.by-version."ungit"."0.8.2";
+  "ungit" = self.by-version."ungit"."0.8.3";
   by-spec."unique-stream"."^1.0.0" =
     self.by-version."unique-stream"."1.0.0";
   by-version."unique-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unique-stream-1.0.0";
+    name = "unique-stream-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
@@ -19418,8 +20706,8 @@
     ];
     buildInputs =
       (self.nativeDeps."unique-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "unique-stream" ];
@@ -19427,7 +20715,8 @@
   by-spec."update-notifier"."~0.1.8" =
     self.by-version."update-notifier"."0.1.10";
   by-version."update-notifier"."0.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-update-notifier-0.1.10";
+    name = "update-notifier-0.1.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.10.tgz";
@@ -19437,12 +20726,12 @@
     ];
     buildInputs =
       (self.nativeDeps."update-notifier" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."configstore"."0.3.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."semver"."2.3.2"
-    ];
+    deps = {
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+      "configstore-0.3.1" = self.by-version."configstore"."0.3.1";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
@@ -19450,7 +20739,8 @@
   by-spec."url"."~0.10.1" =
     self.by-version."url"."0.10.1";
   by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-url-0.10.1";
+    name = "url-0.10.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/url/-/url-0.10.1.tgz";
@@ -19460,17 +20750,38 @@
     ];
     buildInputs =
       (self.nativeDeps."url" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-    ];
+    deps = {
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "url" ];
   };
+  by-spec."user-home"."^1.0.0" =
+    self.by-version."user-home"."1.0.0";
+  by-version."user-home"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "user-home-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/user-home/-/user-home-1.0.0.tgz";
+        name = "user-home-1.0.0.tgz";
+        sha1 = "54ecb631e0fa420e9b0a6b946b158d137825b38b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."user-home" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "user-home" ];
+  };
   by-spec."useragent"."~2.0.4" =
     self.by-version."useragent"."2.0.9";
   by-version."useragent"."2.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-useragent-2.0.9";
+    name = "useragent-2.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/useragent/-/useragent-2.0.9.tgz";
@@ -19480,29 +20791,30 @@
     ];
     buildInputs =
       (self.nativeDeps."useragent" or []);
-    deps = [
-      self.by-version."lru-cache"."2.2.4"
-    ];
+    deps = {
+      "lru-cache-2.2.4" = self.by-version."lru-cache"."2.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "useragent" ];
   };
-  by-spec."util"."0.10.2" =
-    self.by-version."util"."0.10.2";
-  by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.2";
+  by-spec."util"."0.10.3" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "util-0.10.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.2.tgz";
-        name = "util-0.10.2.tgz";
-        sha1 = "8180519cf690fb88bc56480fe55087531f446304";
+        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        name = "util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
@@ -19510,7 +20822,8 @@
   by-spec."util"."0.4.9" =
     self.by-version."util"."0.4.9";
   by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.4.9";
+    name = "util-0.4.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
@@ -19520,39 +20833,22 @@
     ];
     buildInputs =
       (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."events.node"."0.4.9"
-    ];
+    deps = {
+      "events.node-0.4.9" = self.by-version."events.node"."0.4.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
   by-spec."util".">=0.10.3 <1" =
     self.by-version."util"."0.10.3";
-  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        name = "util-0.10.3.tgz";
-        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util" ];
-  };
   by-spec."util"."~0.10.1" =
     self.by-version."util"."0.10.3";
   by-spec."util-extend"."^1.0.1" =
     self.by-version."util-extend"."1.0.1";
   by-version."util-extend"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-extend-1.0.1";
+    name = "util-extend-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz";
@@ -19562,8 +20858,8 @@
     ];
     buildInputs =
       (self.nativeDeps."util-extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util-extend" ];
@@ -19571,7 +20867,8 @@
   by-spec."utile"."0.1.x" =
     self.by-version."utile"."0.1.7";
   by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.1.7";
+    name = "utile-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
@@ -19581,14 +20878,14 @@
     ];
     buildInputs =
       (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.2.7"
-      self.by-version."rimraf"."1.0.9"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.2.7" = self.by-version."ncp"."0.2.7";
+      "rimraf-1.0.9" = self.by-version."rimraf"."1.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
@@ -19596,7 +20893,8 @@
   by-spec."utile"."0.2.1" =
     self.by-version."utile"."0.2.1";
   by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.2.1";
+    name = "utile-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
@@ -19606,14 +20904,14 @@
     ];
     buildInputs =
       (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.4.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
@@ -19625,7 +20923,8 @@
   by-spec."utils-merge"."1.0.0" =
     self.by-version."utils-merge"."1.0.0";
   by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utils-merge-1.0.0";
+    name = "utils-merge-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
@@ -19635,8 +20934,8 @@
     ];
     buildInputs =
       (self.nativeDeps."utils-merge" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utils-merge" ];
@@ -19644,7 +20943,8 @@
   by-spec."uuid"."1.4.1" =
     self.by-version."uuid"."1.4.1";
   by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
+    name = "uuid-1.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
@@ -19654,8 +20954,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
@@ -19665,7 +20965,8 @@
   by-spec."validator"."0.4.x" =
     self.by-version."validator"."0.4.28";
   by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
-    name = "node-validator-0.4.28";
+    name = "validator-0.4.28";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz";
@@ -19675,8 +20976,8 @@
     ];
     buildInputs =
       (self.nativeDeps."validator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
@@ -19684,7 +20985,8 @@
   by-spec."vargs"."~0.1.0" =
     self.by-version."vargs"."0.1.0";
   by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vargs-0.1.0";
+    name = "vargs-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
@@ -19694,8 +20996,8 @@
     ];
     buildInputs =
       (self.nativeDeps."vargs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
@@ -19703,7 +21005,8 @@
   by-spec."vary"."0.1.0" =
     self.by-version."vary"."0.1.0";
   by-version."vary"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-0.1.0";
+    name = "vary-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
@@ -19713,18 +21016,17 @@
     ];
     buildInputs =
       (self.nativeDeps."vary" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vary" ];
   };
-  by-spec."vary"."~0.1.0" =
-    self.by-version."vary"."0.1.0";
   by-spec."vary"."~1.0.0" =
     self.by-version."vary"."1.0.0";
   by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-1.0.0";
+    name = "vary-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
@@ -19734,8 +21036,8 @@
     ];
     buildInputs =
       (self.nativeDeps."vary" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vary" ];
@@ -19743,7 +21045,8 @@
   by-spec."vasync"."1.3.3" =
     self.by-version."vasync"."1.3.3";
   by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.3.3";
+    name = "vasync-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
@@ -19753,10 +21056,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
@@ -19764,7 +21067,8 @@
   by-spec."vasync"."1.4.3" =
     self.by-version."vasync"."1.4.3";
   by-version."vasync"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.4.3";
+    name = "vasync-1.4.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vasync/-/vasync-1.4.3.tgz";
@@ -19774,10 +21078,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
@@ -19785,7 +21089,8 @@
   by-spec."verror"."1.1.0" =
     self.by-version."verror"."1.1.0";
   by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.1.0";
+    name = "verror-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
@@ -19795,9 +21100,9 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
@@ -19805,7 +21110,8 @@
   by-spec."verror"."1.3.3" =
     self.by-version."verror"."1.3.3";
   by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.3";
+    name = "verror-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
@@ -19815,9 +21121,9 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
@@ -19825,7 +21131,8 @@
   by-spec."verror"."1.3.6" =
     self.by-version."verror"."1.3.6";
   by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.6";
+    name = "verror-1.3.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
@@ -19835,28 +21142,29 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.2"
-    ];
+    deps = {
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  by-spec."vhost"."2.0.0" =
-    self.by-version."vhost"."2.0.0";
-  by-version."vhost"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vhost-2.0.0";
+  by-spec."vhost"."~3.0.0" =
+    self.by-version."vhost"."3.0.0";
+  by-version."vhost"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "vhost-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vhost/-/vhost-2.0.0.tgz";
-        name = "vhost-2.0.0.tgz";
-        sha1 = "1e26770bd0fce86c40945591e6f284c6891791e2";
+        url = "http://registry.npmjs.org/vhost/-/vhost-3.0.0.tgz";
+        name = "vhost-3.0.0.tgz";
+        sha1 = "2d0ec59a3e012278b65adbe17c1717a5a5023045";
       })
     ];
     buildInputs =
       (self.nativeDeps."vhost" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vhost" ];
@@ -19864,7 +21172,8 @@
   by-spec."view-helpers"."*" =
     self.by-version."view-helpers"."0.1.5";
   by-version."view-helpers"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-view-helpers-0.1.5";
+    name = "view-helpers-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.5.tgz";
@@ -19874,8 +21183,8 @@
     ];
     buildInputs =
       (self.nativeDeps."view-helpers" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
@@ -19884,7 +21193,8 @@
   by-spec."vinyl"."^0.2.3" =
     self.by-version."vinyl"."0.2.3";
   by-version."vinyl"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.2.3";
+    name = "vinyl-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz";
@@ -19894,65 +21204,70 @@
     ];
     buildInputs =
       (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-    ];
+    deps = {
+      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl" ];
   };
-  by-spec."vinyl"."^0.3.2" =
-    self.by-version."vinyl"."0.3.2";
-  by-version."vinyl"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.3.2";
+  by-spec."vinyl"."^0.4.0" =
+    self.by-version."vinyl"."0.4.3";
+  by-version."vinyl"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "vinyl-0.4.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.3.2.tgz";
-        name = "vinyl-0.3.2.tgz";
-        sha1 = "2b422d7c5ff0abc0d22d90ed2275e409dab5e174";
+        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.4.3.tgz";
+        name = "vinyl-0.4.3.tgz";
+        sha1 = "19f61a1b28e72b4c50697889dbe91d7503943ecf";
       })
     ];
     buildInputs =
       (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl" ];
   };
-  by-spec."vinyl-fs"."^0.3.3" =
-    self.by-version."vinyl-fs"."0.3.6";
-  by-version."vinyl-fs"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-fs-0.3.6";
+  by-spec."vinyl-fs"."^0.3.0" =
+    self.by-version."vinyl-fs"."0.3.7";
+  by-version."vinyl-fs"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "vinyl-fs-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.6.tgz";
-        name = "vinyl-fs-0.3.6.tgz";
-        sha1 = "c96985527cd53eb4a3eeb8ffb3180bda3084ecfc";
+        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.7.tgz";
+        name = "vinyl-fs-0.3.7.tgz";
+        sha1 = "2e25cfe6df5c80818f97ff417bf5c21a41e4a49b";
       })
     ];
     buildInputs =
       (self.nativeDeps."vinyl-fs" or []);
-    deps = [
-      self.by-version."glob-stream"."3.1.15"
-      self.by-version."glob-watcher"."0.0.6"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."strip-bom"."0.3.1"
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.3.2"
-    ];
+    deps = {
+      "glob-stream-3.1.15" = self.by-version."glob-stream"."3.1.15";
+      "glob-watcher-0.0.6" = self.by-version."glob-watcher"."0.0.6";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "strip-bom-1.0.0" = self.by-version."strip-bom"."1.0.0";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+      "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl-fs" ];
   };
+  by-spec."vinyl-fs"."^0.3.3" =
+    self.by-version."vinyl-fs"."0.3.7";
   by-spec."vm-browserify"."~0.0.1" =
     self.by-version."vm-browserify"."0.0.4";
   by-version."vm-browserify"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vm-browserify-0.0.4";
+    name = "vm-browserify-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
@@ -19962,17 +21277,38 @@
     ];
     buildInputs =
       (self.nativeDeps."vm-browserify" or []);
-    deps = [
-      self.by-version."indexof"."0.0.1"
-    ];
+    deps = {
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vm-browserify" ];
   };
+  by-spec."void-elements"."~1.0.0" =
+    self.by-version."void-elements"."1.0.0";
+  by-version."void-elements"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "void-elements-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/void-elements/-/void-elements-1.0.0.tgz";
+        name = "void-elements-1.0.0.tgz";
+        sha1 = "6e5db1e35d591f5ac690ce1a340f793a817b2c2a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."void-elements" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "void-elements" ];
+  };
   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";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
@@ -19982,10 +21318,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vows" or []);
-    deps = [
-      self.by-version."eyes"."0.1.8"
-      self.by-version."diff"."1.0.8"
-    ];
+    deps = {
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
@@ -19993,7 +21329,8 @@
   by-spec."walk"."*" =
     self.by-version."walk"."2.3.3";
   by-version."walk"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.3.3";
+    name = "walk-2.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/walk/-/walk-2.3.3.tgz";
@@ -20003,9 +21340,9 @@
     ];
     buildInputs =
       (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."foreachasync"."3.0.0"
-    ];
+    deps = {
+      "foreachasync-3.0.0" = self.by-version."foreachasync"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
@@ -20014,7 +21351,8 @@
   by-spec."walk"."~2.2.1" =
     self.by-version."walk"."2.2.1";
   by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.2.1";
+    name = "walk-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
@@ -20024,9 +21362,9 @@
     ];
     buildInputs =
       (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."forEachAsync"."2.2.1"
-    ];
+    deps = {
+      "forEachAsync-2.2.1" = self.by-version."forEachAsync"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
@@ -20034,7 +21372,8 @@
   by-spec."watch"."0.5.x" =
     self.by-version."watch"."0.5.1";
   by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.5.1";
+    name = "watch-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
@@ -20044,8 +21383,8 @@
     ];
     buildInputs =
       (self.nativeDeps."watch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
@@ -20053,7 +21392,8 @@
   by-spec."watch"."~0.8.0" =
     self.by-version."watch"."0.8.0";
   by-version."watch"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.8.0";
+    name = "watch-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/watch/-/watch-0.8.0.tgz";
@@ -20063,55 +21403,57 @@
     ];
     buildInputs =
       (self.nativeDeps."watch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  by-spec."wcwidth.js"."~0.0.4" =
-    self.by-version."wcwidth.js"."0.0.4";
-  by-version."wcwidth.js"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wcwidth.js-0.0.4";
+  by-spec."wcwidth"."^1.0.0" =
+    self.by-version."wcwidth"."1.0.0";
+  by-version."wcwidth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "wcwidth-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz";
-        name = "wcwidth.js-0.0.4.tgz";
-        sha1 = "44298a7c899c17501990fdaddd76ef6bd081be75";
+        url = "http://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz";
+        name = "wcwidth-1.0.0.tgz";
+        sha1 = "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wcwidth.js" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+      (self.nativeDeps."wcwidth" or []);
+    deps = {
+      "defaults-1.0.0" = self.by-version."defaults"."1.0.0";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "wcwidth.js" ];
+    passthru.names = [ "wcwidth" ];
   };
   by-spec."wd"."~0.3.4" =
-    self.by-version."wd"."0.3.4";
-  by-version."wd"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.3.4";
+    self.by-version."wd"."0.3.7";
+  by-version."wd"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.3.7";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.3.4.tgz";
-        name = "wd-0.3.4.tgz";
-        sha1 = "da95a0998eb8acfd297e3a9baf28f610b6345543";
+        url = "http://registry.npmjs.org/wd/-/wd-0.3.7.tgz";
+        name = "wd-0.3.7.tgz";
+        sha1 = "311f03e56a7d67fe263aa446a360145c592a5dc8";
       })
     ];
     buildInputs =
       (self.nativeDeps."wd" or []);
-    deps = [
-      self.by-version."archiver"."0.10.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."q"."1.0.1"
-      self.by-version."request"."2.37.0"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."vargs"."0.1.0"
-    ];
+    deps = {
+      "archiver-0.11.0" = self.by-version."archiver"."0.11.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "vargs-0.1.0" = self.by-version."vargs"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
@@ -20119,7 +21461,8 @@
   by-spec."weak-map"."^1.0.4" =
     self.by-version."weak-map"."1.0.5";
   by-version."weak-map"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-weak-map-1.0.5";
+    name = "weak-map-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz";
@@ -20129,8 +21472,8 @@
     ];
     buildInputs =
       (self.nativeDeps."weak-map" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "weak-map" ];
@@ -20139,6 +21482,7 @@
     self.by-version."webdrvr"."2.41.0-0";
   by-version."webdrvr"."2.41.0-0" = lib.makeOverridable self.buildNodePackage {
     name = "webdrvr-2.41.0-0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.41.0-0.tgz";
@@ -20148,15 +21492,15 @@
     ];
     buildInputs =
       (self.nativeDeps."webdrvr" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."kew"."0.1.7"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."npmconf"."0.1.16"
-      self.by-version."phantomjs"."1.9.7-15"
-      self.by-version."tmp"."0.0.24"
-      self.by-version."follow-redirects"."0.0.3"
-    ];
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "kew-0.1.7" = self.by-version."kew"."0.1.7";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "npmconf-0.1.16" = self.by-version."npmconf"."0.1.16";
+      "phantomjs-1.9.7-15" = self.by-version."phantomjs"."1.9.7-15";
+      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
@@ -20165,7 +21509,8 @@
   by-spec."websocket-driver".">=0.3.1" =
     self.by-version."websocket-driver"."0.3.5";
   by-version."websocket-driver"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-websocket-driver-0.3.5";
+    name = "websocket-driver-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.5.tgz";
@@ -20175,27 +21520,28 @@
     ];
     buildInputs =
       (self.nativeDeps."websocket-driver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  by-spec."when"."~3.1.0" =
-    self.by-version."when"."3.1.0";
-  by-version."when"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-when-3.1.0";
+  by-spec."when"."~3.4.4" =
+    self.by-version."when"."3.4.5";
+  by-version."when"."3.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "when-3.4.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/when/-/when-3.1.0.tgz";
-        name = "when-3.1.0.tgz";
-        sha1 = "a2479659ca15f725541ecf52ebae091b781ee134";
+        url = "http://registry.npmjs.org/when/-/when-3.4.5.tgz";
+        name = "when-3.4.5.tgz";
+        sha1 = "1f39cc46cfb349f0aee37c5b1abce6a527846969";
       })
     ];
     buildInputs =
       (self.nativeDeps."when" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
@@ -20204,6 +21550,7 @@
     self.by-version."which"."1.0.5";
   by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
@@ -20213,8 +21560,8 @@
     ];
     buildInputs =
       (self.nativeDeps."which" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "which" ];
@@ -20227,6 +21574,7 @@
     self.by-version."winser"."0.1.6";
   by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "winser-0.1.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
@@ -20236,10 +21584,10 @@
     ];
     buildInputs =
       (self.nativeDeps."winser" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-      self.by-version."commander"."1.3.1"
-    ];
+    deps = {
+      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
+      "commander-1.3.1" = self.by-version."commander"."1.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winser" ];
@@ -20247,7 +21595,8 @@
   by-spec."winston"."*" =
     self.by-version."winston"."0.7.3";
   by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.3";
+    name = "winston-0.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
@@ -20257,15 +21606,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      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.9"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20274,7 +21623,8 @@
   by-spec."winston"."0.6.2" =
     self.by-version."winston"."0.6.2";
   by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.6.2";
+    name = "winston-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
@@ -20284,15 +21634,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      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.9"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20302,7 +21652,8 @@
   by-spec."winston"."0.7.2" =
     self.by-version."winston"."0.7.2";
   by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.2";
+    name = "winston-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
@@ -20312,15 +21663,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      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.9"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20332,7 +21683,8 @@
   by-spec."with"."~1.1.0" =
     self.by-version."with"."1.1.1";
   by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-1.1.1";
+    name = "with-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
@@ -20342,9 +21694,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20352,7 +21704,8 @@
   by-spec."with"."~2.0.0" =
     self.by-version."with"."2.0.0";
   by-version."with"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-2.0.0";
+    name = "with-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz";
@@ -20362,9 +21715,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20372,7 +21725,8 @@
   by-spec."with"."~3.0.0" =
     self.by-version."with"."3.0.1";
   by-version."with"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-3.0.1";
+    name = "with-3.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-3.0.1.tgz";
@@ -20382,9 +21736,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20392,7 +21746,8 @@
   by-spec."wordwrap"."0.0.x" =
     self.by-version."wordwrap"."0.0.2";
   by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wordwrap-0.0.2";
+    name = "wordwrap-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
@@ -20402,8 +21757,8 @@
     ];
     buildInputs =
       (self.nativeDeps."wordwrap" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
@@ -20415,7 +21770,8 @@
   by-spec."wrench"."~1.5.0" =
     self.by-version."wrench"."1.5.8";
   by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wrench-1.5.8";
+    name = "wrench-1.5.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
@@ -20425,8 +21781,8 @@
     ];
     buildInputs =
       (self.nativeDeps."wrench" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wrench" ];
@@ -20437,6 +21793,7 @@
     self.by-version."ws"."0.4.32";
   by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.32";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
@@ -20446,12 +21803,12 @@
     ];
     buildInputs =
       (self.nativeDeps."ws" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."nan"."1.0.0"
-      self.by-version."tinycolor"."0.0.1"
-      self.by-version."options"."0.0.5"
-    ];
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.5" = self.by-version."options"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
@@ -20461,7 +21818,8 @@
   by-spec."wu"."*" =
     self.by-version."wu"."2.0.0";
   by-version."wu"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wu-2.0.0";
+    name = "wu-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wu/-/wu-2.0.0.tgz";
@@ -20471,9 +21829,9 @@
     ];
     buildInputs =
       (self.nativeDeps."wu" or []);
-    deps = [
-      self.by-version."traceur"."0.0.55"
-    ];
+    deps = {
+      "traceur-0.0.55" = self.by-version."traceur"."0.0.55";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
@@ -20482,7 +21840,8 @@
   by-spec."x509"."*" =
     self.by-version."x509"."0.0.7";
   by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-x509-0.0.7";
+    name = "x509-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz";
@@ -20492,8 +21851,8 @@
     ];
     buildInputs =
       (self.nativeDeps."x509" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
@@ -20502,7 +21861,8 @@
   by-spec."xml2js"."0.2.4" =
     self.by-version."xml2js"."0.2.4";
   by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.4";
+    name = "xml2js-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
@@ -20512,9 +21872,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-    ];
+    deps = {
+      "sax-0.6.0" = self.by-version."sax"."0.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20522,7 +21882,8 @@
   by-spec."xml2js"."0.2.6" =
     self.by-version."xml2js"."0.2.6";
   by-version."xml2js"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.6";
+    name = "xml2js-0.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz";
@@ -20532,9 +21893,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.4.2"
-    ];
+    deps = {
+      "sax-0.4.2" = self.by-version."sax"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20542,7 +21903,8 @@
   by-spec."xml2js".">= 0.0.1" =
     self.by-version."xml2js"."0.4.4";
   by-version."xml2js"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.4.4";
+    name = "xml2js-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz";
@@ -20552,10 +21914,10 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-      self.by-version."xmlbuilder"."2.4.3"
-    ];
+    deps = {
+      "sax-0.6.0" = self.by-version."sax"."0.6.0";
+      "xmlbuilder-2.4.4" = self.by-version."xmlbuilder"."2.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20567,7 +21929,8 @@
   by-spec."xmlbuilder"."0.4.2" =
     self.by-version."xmlbuilder"."0.4.2";
   by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-0.4.2";
+    name = "xmlbuilder-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
@@ -20577,28 +21940,29 @@
     ];
     buildInputs =
       (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
   by-spec."xmlbuilder".">=1.0.0" =
-    self.by-version."xmlbuilder"."2.4.3";
-  by-version."xmlbuilder"."2.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-2.4.3";
+    self.by-version."xmlbuilder"."2.4.4";
+  by-version."xmlbuilder"."2.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "xmlbuilder-2.4.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.3.tgz";
-        name = "xmlbuilder-2.4.3.tgz";
-        sha1 = "0589eeee0986adf0af605e878f24ff6557d7697f";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.4.tgz";
+        name = "xmlbuilder-2.4.4.tgz";
+        sha1 = "6e2a84da5df79e11abb0a05bad2f0acc12e33893";
       })
     ];
     buildInputs =
       (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-      self.by-version."lodash-node"."2.4.1"
-    ];
+    deps = {
+      "lodash-node-2.4.1" = self.by-version."lodash-node"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
@@ -20606,7 +21970,8 @@
   by-spec."xmldom"."~0.1.16" =
     self.by-version."xmldom"."0.1.19";
   by-version."xmldom"."0.1.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmldom-0.1.19";
+    name = "xmldom-0.1.19";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
@@ -20616,8 +21981,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xmldom" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmldom" ];
@@ -20625,7 +21990,8 @@
   by-spec."xmlhttprequest"."1.4.2" =
     self.by-version."xmlhttprequest"."1.4.2";
   by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlhttprequest-1.4.2";
+    name = "xmlhttprequest-1.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
@@ -20635,8 +22001,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xmlhttprequest" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlhttprequest" ];
@@ -20644,7 +22010,8 @@
   by-spec."xoauth2"."~0.1.8" =
     self.by-version."xoauth2"."0.1.8";
   by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xoauth2-0.1.8";
+    name = "xoauth2-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
@@ -20654,8 +22021,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xoauth2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xoauth2" ];
@@ -20663,7 +22030,8 @@
   by-spec."xtend".">=4.0.0 <4.1.0-0" =
     self.by-version."xtend"."4.0.0";
   by-version."xtend"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-4.0.0";
+    name = "xtend-4.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
@@ -20673,8 +22041,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20682,7 +22050,8 @@
   by-spec."xtend"."^3.0.0" =
     self.by-version."xtend"."3.0.0";
   by-version."xtend"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-3.0.0";
+    name = "xtend-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz";
@@ -20692,8 +22061,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20703,7 +22072,8 @@
   by-spec."xtend"."~2.1.1" =
     self.by-version."xtend"."2.1.2";
   by-version."xtend"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-2.1.2";
+    name = "xtend-2.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
@@ -20713,9 +22083,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-      self.by-version."object-keys"."0.4.0"
-    ];
+    deps = {
+      "object-keys-0.4.0" = self.by-version."object-keys"."0.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20727,7 +22097,8 @@
   by-spec."yargs"."~1.2.1" =
     self.by-version."yargs"."1.2.6";
   by-version."yargs"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-yargs-1.2.6";
+    name = "yargs-1.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz";
@@ -20737,9 +22108,9 @@
     ];
     buildInputs =
       (self.nativeDeps."yargs" or []);
-    deps = [
-      self.by-version."minimist"."0.1.0"
-    ];
+    deps = {
+      "minimist-0.1.0" = self.by-version."minimist"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "yargs" ];
@@ -20747,7 +22118,8 @@
   by-spec."zeparser"."0.0.5" =
     self.by-version."zeparser"."0.0.5";
   by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zeparser-0.0.5";
+    name = "zeparser-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
@@ -20757,33 +22129,31 @@
     ];
     buildInputs =
       (self.nativeDeps."zeparser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zeparser" ];
   };
-  by-spec."zip-stream"."~0.3.0" =
-    self.by-version."zip-stream"."0.3.7";
-  by-version."zip-stream"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zip-stream-0.3.7";
+  by-spec."zip-stream"."~0.4.0" =
+    self.by-version."zip-stream"."0.4.1";
+  by-version."zip-stream"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "zip-stream-0.4.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.3.7.tgz";
-        name = "zip-stream-0.3.7.tgz";
-        sha1 = "c84d057eb0bcc0139747bd3c6c97280bcf5f2bb2";
+        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.4.1.tgz";
+        name = "zip-stream-0.4.1.tgz";
+        sha1 = "4ea795a8ce19e9fab49a31d1d0877214159f03a3";
       })
     ];
     buildInputs =
       (self.nativeDeps."zip-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."crc32-stream"."0.2.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."deflate-crc32-stream"."0.1.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "compress-commons-0.1.6" = self.by-version."compress-commons"."0.1.6";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zip-stream" ];
@@ -20791,7 +22161,8 @@
   by-spec."zlib-browserify"."^0.0.3" =
     self.by-version."zlib-browserify"."0.0.3";
   by-version."zlib-browserify"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zlib-browserify-0.0.3";
+    name = "zlib-browserify-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz";
@@ -20801,9 +22172,9 @@
     ];
     buildInputs =
       (self.nativeDeps."zlib-browserify" or []);
-    deps = [
-      self.by-version."tape"."0.2.2"
-    ];
+    deps = {
+      "tape-0.2.2" = self.by-version."tape"."0.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zlib-browserify" ];
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1ebb9f290b71..f4ce379d76e3 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -72,6 +72,7 @@
 , "statsd"
 , "statsd-librato-backend"
 , "stackdriver-statsd-backend"
+, "statsd-influxdb-backend"
 , "ungit"
 , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index a50a56177947..6635d9dd910a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -25,10 +25,10 @@ let self = _self // overrides; _self = with self; {
 
 
   ack = buildPerlPackage rec {
-    name = "ack-2.12";
+    name = "ack-2.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "0avxpgg1fvib4354d9a9710j63sgxpb5j07if5qr83apq9xx7wjj";
+      sha256 = "0gqv30666vlclnwylhk9i64s7raa70x4ncy6bg48s5gcxwrshjc5";
     };
     # use gnused so that the preCheck command passes
     buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ];
@@ -301,7 +301,7 @@ let self = _self // overrides; _self = with self; {
         and produces an XML document in Dia format (or images via graphviz
         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
         package.  The diagrams its creates are standard UML diagrams showing
-        dependancies, superclasses, packages, classes and inheritances, as
+        dependencies, superclasses, packages, classes and inheritances, as
         well as the methods, etc of each class.
 
         AutoDia supports any language that a Handler has been written for,
@@ -480,6 +480,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "14s75bsm5irisp8wkbwl3ycw160srr1rks7x9jcbvcxh79wr6gbh";
     };
     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
+    doCheck = false; # randomly fails
   };
 
   CacheFastMmap = buildPerlPackage rec {
@@ -3784,10 +3785,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FinanceQuote = buildPerlPackage rec {
-    name = "Finance-Quote-1.29";
+    name = "Finance-Quote-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
-      sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f";
+      sha256 = "0mxfhi1ndckj4w7fw20rwy6ymalg2yncnp9xn0v2bnk5ibqj439w";
     };
     propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ];
     meta = {
@@ -6975,10 +6976,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Plack = buildPerlPackage {
-    name = "Plack-1.0030";
+    name = "Plack-1.0031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz;
-      sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0031.tar.gz;
+      sha256 = "0vvppxs36729lggrx4s1gn37lzsm794wfkm3k386bwhkmk7sr31i";
     };
     buildInputs = [ FileShareDirInstall TestRequires ];
     propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 57032cf2ec4d..f7d4099cf542 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -38,7 +38,7 @@ rec {
   # global distutils config used by buildPythonPackage
   distutils-cfg = callPackage ../development/python-modules/distutils-cfg { };
 
-  buildPythonPackage = callPackage ../development/python-modules/generic { };
+  buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { });
 
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
@@ -65,7 +65,7 @@ rec {
 
   dbus = import ../development/python-modules/dbus {
     inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools;
-    inherit python;
+    inherit python isPyPy;
   };
 
   discid = buildPythonPackage rec {
@@ -90,6 +90,19 @@ rec {
     '';
   };
 
+  h5py = callPackage ../development/python-modules/h5py {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python buildPythonPackage cython numpy;
+    hdf5 = pkgs.hdf5.override { mpi = null; };
+  };
+
+  h5py-mpi = h5py.override {
+    mpiSupport = true;
+    mpi = pkgs.openmpi;
+    hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; };
+    inherit mpi4py;
+  };
+
   ipython = import ../shells/ipython {
     inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
@@ -106,6 +119,12 @@ rec {
     pylabQtSupport = false;
   });
 
+  mpi4py = callPackage ../development/python-modules/mpi4py {
+    inherit (pkgs) stdenv fetchurl openssh;
+    inherit python buildPythonPackage;
+    mpi = pkgs.openmpi;
+  };
+
   nixpart = callPackage ../tools/filesystems/nixpart { };
 
   # This is used for NixOps to make sure we won't break it with the next major
@@ -119,7 +138,7 @@ rec {
 
   pycairo = import ../development/python-modules/pycairo {
     inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11;
-    inherit python;
+    inherit python isPyPy;
   };
 
   pycrypto = import ../development/python-modules/pycrypto {
@@ -169,12 +188,12 @@ rec {
 
   sip = import ../development/python-modules/sip {
     inherit (pkgs) stdenv fetchurl;
-    inherit python;
+    inherit python isPyPy;
   };
 
   sip_4_16 = import ../development/python-modules/sip/4.16.nix {
     inherit (pkgs) stdenv fetchurl;
-    inherit python;
+    inherit python isPyPy;
   };
 
   tables = import ../development/python-modules/tables {
@@ -421,6 +440,7 @@ rec {
 
   apsw = buildPythonPackage rec {
     name = "apsw-3.7.6.2-r1";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://apsw.googlecode.com/files/${name}.zip";
@@ -655,7 +675,7 @@ rec {
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz";
-      md5 = "c012adc06217b8532c446d181cc56586";
+      md5 = "f1481ed77336de77a2d8e5b061b6ad62";
     };
 
     # invalid command 'test'
@@ -1094,6 +1114,24 @@ rec {
   });
 
 
+  cairocffi = buildPythonPackage rec {
+    name = "cairocffi-0.5.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz";
+      md5 = "e3fa4002583bfaa88b156e1af9c75bde";
+    };
+
+    propagatedBuildInputs = [ cffi ];
+
+    meta = {
+      homepage = https://github.com/SimonSapin/cairocffi;
+      license = "bsd";
+      description = "cffi-based cairo bindings for Python";
+    };
+  };
+
+
   carrot = buildPythonPackage rec {
     name = "carrot-0.10.7";
 
@@ -1835,6 +1873,27 @@ rec {
     };
   };
 
+  docker = buildPythonPackage rec {
+    name = "docker-py-0.4.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz";
+      md5 = "21ab8fd729105487e6423b654d6c0860";
+    };
+
+    propagatedBuildInputs = [ six requests websocket_client ];
+
+    # Version conflict
+    doCheck = false;
+
+    meta = {
+      description = "An API client for docker written in Python";
+      homepage = https://github.com/docker/docker-py;
+      license = licenses.asl20;
+    };
+  };
+
+
   dogpile_cache = buildPythonPackage rec {
     name = "dogpile.cache-0.5.4";
 
@@ -1871,6 +1930,23 @@ rec {
     };
   };
 
+  dotfiles = buildPythonPackage rec {
+    name = "dotfiles-0.6.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dotfiles/${name}.tar.gz";
+      md5 = "95a0792eb92a8fc0db8a7e59389470fe";
+    };
+
+    doCheck = true;
+
+    meta = {
+      description = "Easily manage your dotfiles";
+      homepage = https://github.com/jbernard/dotfiles;
+      license = licenses.isc;
+    };
+  };
+
   dpkt = buildPythonPackage rec {
     name = "dpkt-1.8";
     disabled = isPy3k;
@@ -1965,6 +2041,7 @@ rec {
   eyeD3 = buildPythonPackage rec {
     version = "0.7.4";
     name    = "eyeD3-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://eyed3.nicfit.net/releases/${name}.tgz";
@@ -2069,6 +2146,7 @@ rec {
       sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1";
     };
     disabled = isPy3k;
+    doCheck = (!isPyPy);  # https://github.com/fabric/fabric/issues/11891
     propagatedBuildInputs = [ paramiko pycrypto ];
     buildInputs = [ fudge nose ];
   };
@@ -2129,6 +2207,21 @@ rec {
     };
   };
 
+  singledispatch = buildPythonPackage rec {
+    name = "singledispatch-3.4.0.3";
+
+    propagatedBuildInputs = [ six ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/singledispatch/${name}.tar.gz";
+      md5 = "af2fc6a3d6cc5a02d0bf54d909785fcb";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://docs.python.org/3/library/functools.html;
+    };
+  };
+
   gcutil = buildPythonPackage rec {
     name = "gcutil-1.15.0";
     meta.maintainers = [ stdenv.lib.maintainers.phreedom ];
@@ -2138,6 +2231,10 @@ rec {
       sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq";
     };
 
+    patchPhase = ''
+      substituteInPlace setup.py --replace "httplib2==0.8" "httplib2"
+    '';
+
     propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ];
   };
 
@@ -2242,6 +2339,34 @@ rec {
     };
   };
 
+  jsonwatch = buildPythonPackage rec {
+    name = "jsonwatch-0.2.0";
+
+    disabled = isPyPy; # doesn't find setuptools
+
+    src = fetchurl {
+      url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz";
+      sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06";
+    };
+
+    propagatedBuildInputs = [ six ];
+
+    meta = {
+      description = "Like watch -d but for JSON";
+      longDescription = ''
+        jsonwatch is a command line utility with which you can track changes in
+        JSON data delivered by a shell command or a web (HTTP/HTTPS) API.
+        jsonwatch requests data from the designated source repeatedly at a set
+        interval and displays the differences when the data changes. It is
+        similar in its behavior to how watch(1) with the -d switch works
+        for plain-text data.
+      '';
+      homepage = "https://github.com/dbohdan/jsonwatch";
+      license = stdenv.lib.licenses.mit;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
   logilab_astng = buildPythonPackage rec {
     name = "logilab-astng-0.24.3";
 
@@ -2731,7 +2856,7 @@ rec {
 
   random2 = pythonPackages.buildPythonPackage rec {
     name = "random2-1.0.1";
-    
+
     doCheck = !isPyPy;
 
     src = fetchurl {
@@ -3375,6 +3500,23 @@ rec {
     };
   };
 
+  flask_cache = buildPythonPackage rec {
+    name = "Flask-Cache-0.13.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/F/Flask-Cache/${name}.tar.gz";
+      md5 = "ab82a9cd0844891ccdb54fbb93fd6c59";
+    };
+
+    propagatedBuildInputs = [ werkzeug flask ];
+
+    meta = {
+      homepage = https://github.com/thadeusb/flask-cache;
+      description = "Adds cache support to your Flask application";
+      license = "BSD";
+    };
+  };
+
   flexget = buildPythonPackage rec {
     name = "FlexGet-1.2.161";
     disabled = isPy3k;
@@ -3385,7 +3527,7 @@ rec {
     };
 
     buildInputs = [ nose ];
-    # dateutil dependancy: requirement is dateutil !=2.0 and != 2.2,
+    # dateutil dependency: requirement is dateutil !=2.0 and != 2.2,
     # dateutil_1_5 is used as it's supported, but a newer version could be used
     propagatedBuildInputs = [ paver feedparser sqlalchemy pyyaml rpyc
 	    beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask
@@ -3784,6 +3926,7 @@ rec {
 
   greenlet = buildPythonPackage rec {
     name = "greenlet-0.4.3";
+    disabled = isPyPy;  # builtin for pypy
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip";
@@ -3861,12 +4004,12 @@ rec {
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.7.0";
+    version = "0.7.2";
 
     src = fetchurl {
       url = "https://github.com/RedMoonStudios/hetzner/archive/"
           + "v${version}.tar.gz";
-      sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src";
+      sha256 = "07jnrgy9fkh1hwgsa8491ljz9spazmifqsg92m3xnamja1536qfl";
     };
 
     # not there yet, but coming soon.
@@ -3956,11 +4099,11 @@ rec {
   };
 
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.8";
+    name = "httplib2-0.9";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz";
-      sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff";
+      sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir";
     };
 
     meta = {
@@ -3975,6 +4118,7 @@ rec {
     name = "httpretty-${version}";
     version = "0.8.3";
     disabled = isPy3k;
+    doCheck = !isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz";
@@ -4013,6 +4157,25 @@ rec {
     doCheck = false;
   }) else null;
 
+  influxdb = buildPythonPackage rec {
+    name = "influxdb-0.1.12";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/i/influxdb/${name}.tar.gz";
+      md5 = "6c975058ccc4df41dad8d8234c52d754";
+    };
+
+    # ImportError: No module named tests
+    doCheck = false;
+    propagatedBuildInputs = [ requests ];
+
+    meta = {
+      description = "Python client for InfluxDB";
+      homepage = https://github.com/influxdb/influxdb-python;
+      license = licenses.mit;
+    };
+  };
+
   iptools = buildPythonPackage rec {
     version = "0.6.1";
     name = "iptools-${version}";
@@ -4066,11 +4229,12 @@ rec {
     };
   };
 
-  ipdb = buildPythonPackage {
-    name = "ipdb-0.7";
+  ipdb = buildPythonPackage rec {
+    name = "ipdb-0.8";
+    disabled = isPyPy;  # setupterm: could not find terminfo database
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
-      md5 = "d879f9b2b0f26e0e999809585dcaec61";
+      url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip";
+      md5 = "96dca0712efa01aa5eaf6b22071dd3ed";
     };
     propagatedBuildInputs = [ pythonPackages.ipythonLight ];
   };
@@ -4280,29 +4444,12 @@ rec {
     propagatedBuildInputs = [ unittest2 ];
   };
 
-  "lxml-2.3.6" = buildPythonPackage rec {
-    name = "lxml-2.3.6";
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/l/lxml/lxml-2.3.6.tar.gz";
-      md5 = "d5d886088e78b1bdbfd66d328fc2d0bc";
-    };
-    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
-    propagatedBuildInputs = [  ];
-    doCheck = false;
-
-    meta = {
-      description = "Pythonic binding for the libxml2 and libxslt libraries";
-      homepage = http://codespeak.net/lxml/index.html;
-      license = "BSD";
-    };
-  };
-
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.0.2";
+    name = "lxml-3.3.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz";
-      md5 = "38b15b0dd5e9292cf98be800e84a3ce4";
+      md5 = "a804b36864c483fe7abdd7f493a0c379";
     };
 
     buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
@@ -4685,6 +4832,25 @@ rec {
     };
   });
 
+  moretools = buildPythonPackage rec {
+    name = "moretools-0.1a41";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz";
+      sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f";
+    };
+
+    buildInputs = [ six pathpy setuptools ];
+    propagatedBuildInputs = [ decorator ];
+
+    meta = with stdenv.lib; {
+      description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections";
+      homepage = https://bitbucket.org/userzimmermann/python-moretools;
+      license = licenses.gpl3Plus;
+      platforms = platforms.linux;
+    };
+  };
+
 
   mox = buildPythonPackage rec {
     name = "mox-0.5.3";
@@ -5208,12 +5374,14 @@ rec {
   };
 
   numpy = buildPythonPackage ( rec {
-    name = "numpy-1.7.1";
+    name = "numpy-1.8.2";
 
     src = fetchurl {
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
-      sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am";
+      sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf";
     };
+    
+    disabled = isPyPy;  # WIP
 
     preConfigure = ''
       sed -i 's/-faltivec//' numpy/distutils/system_info.py
@@ -5263,17 +5431,18 @@ rec {
     };
   };
 
-  livestreamer = if isPy34 then null else (buildPythonPackage rec {
-    version = "1.8.2";
+  livestreamer = buildPythonPackage rec {
+    version = "1.10.2";
     name = "livestreamer-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
-      sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc";
+      sha256 = "0f1m51wax4q17ida4h0ckyakmlchf36kbhfa9qs6bpxc6xqqbry0";
     };
 
     buildInputs = [ pkgs.makeWrapper ];
-    propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ];
+    propagatedBuildInputs = [ requests2 pkgs.rtmpdump pycrypto singledispatch futures ];
     postInstall = ''
       wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
     '';
@@ -5286,7 +5455,7 @@ rec {
       '';
       license = "bsd";
     };
-  });
+  };
 
   oauth2 = buildPythonPackage (rec {
     name = "oauth2-1.5.211";
@@ -5534,6 +5703,22 @@ rec {
     };
   };
 
+  pathpy = buildPythonPackage rec {
+    name = "path.py-5.2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip";
+      sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A module wrapper for os.path";
+      homepage = http://github.com/jaraco/path.py;
+      license = licenses.mit;
+      platforms = platforms.linux;
+    };
+  };
+
   paypalrestsdk = buildPythonPackage rec {
     name = "paypalrestsdk-0.7.0";
 
@@ -5680,8 +5865,9 @@ rec {
     buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ];
 
     disabled = isPy3k;
-
     doCheck = true;
+    
+    postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL";
 
     preConfigure = ''
       sed -i "setup.py" \
@@ -5690,13 +5876,8 @@ rec {
               s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;'
     '';
 
-    checkPhase   = "${python}/bin/${python.executable} selftest.py";
-    buildPhase   = "${python}/bin/${python.executable} setup.py build_ext -i";
-
-    postInstall = ''
-      cd "$out"/lib/python*/site-packages
-      ln -s $PWD PIL
-    '';
+    checkPhase = "${python}/bin/${python.executable} selftest.py";
+    buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i";
 
     meta = {
       homepage = http://www.pythonware.com/products/pil/;
@@ -5879,6 +6060,7 @@ rec {
 
   psycopg2 = buildPythonPackage rec {
     name = "psycopg2-2.5.3";
+    disabled = isPyPy;
 
     # error: invalid command 'test'
     doCheck = false;
@@ -6099,6 +6281,7 @@ rec {
 
   pycurl = buildPythonPackage (rec {
     name = "pycurl-7.19.5";
+    disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
 
     src = fetchurl {
       url = "http://pycurl.sourceforge.net/download/${name}.tar.gz";
@@ -6258,6 +6441,7 @@ rec {
   pygpgme = buildPythonPackage rec {
     version = "0.3";
     name = "pygpgme-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz";
@@ -6334,6 +6518,7 @@ rec {
 
   pyodbc = buildPythonPackage rec {
     name = "pyodbc-3.0.7";
+    disabled = isPyPy;  # use pypypdbc instead
 
     src = fetchurl {
       url = "https://pyodbc.googlecode.com/files/${name}.zip";
@@ -6373,6 +6558,7 @@ rec {
   pyparted = buildPythonPackage rec {
     name = "pyparted-${version}";
     version = "3.10";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz";
@@ -6975,11 +7161,11 @@ rec {
 
 
   requests = buildPythonPackage rec {
-    name = "requests-1.2.0";
+    name = "requests-1.2.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
-      md5 = "22af2682233770e5468a986f451c51c0";
+      md5 = "adbd3f18445f7fe5e77f65c502e264fb";
     };
 
     meta = {
@@ -7196,6 +7382,26 @@ rec {
   };
 
 
+  robotframework-tools = buildPythonPackage rec {
+    version = "0.1a115";
+    name = "robotframework-tools-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz";
+      sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q";
+    };
+
+    propagatedBuildInputs = [ robotframework moretools pathpy six setuptools ];
+
+    meta = with stdenv.lib; {
+      description = "Python Tools for Robot Framework and Test Libraries";
+      homepage = http://bitbucket.org/userzimmermann/robotframework-tools;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+    };
+  };
+
+
   robotsuite = buildPythonPackage rec {
     version = "1.4.2";
     name = "robotsuite-${version}";
@@ -7852,7 +8058,7 @@ rec {
 
   skype4py = buildPythonPackage (rec {
     name = "Skype4Py-1.0.32.0";
-    disabled = isPy3k;
+    disabled = isPy3k || isPyPy;
 
     src = fetchurl {
       url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz;
@@ -8015,9 +8221,11 @@ rec {
     };
   });
 
-  sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy = sqlalchemy9.override rec {
     name = "SQLAlchemy-0.7.10";
-    disabled = isPy3k;
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
@@ -8030,10 +8238,13 @@ rec {
     preConfigure = optionalString isPy3k ''
       python3 sa2to3.py --no-diffs -w lib test examples
     '';
-  });
+  };
 
-  sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy8 = sqlalchemy9.override rec {
     name = "SQLAlchemy-0.8.7";
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       md5 = "4f3377306309e46739696721b1785335";
@@ -8041,7 +8252,7 @@ rec {
     preConfigure = optionalString isPy3k ''
       python3 sa2to3.py --no-diffs -w lib test examples
     '';
-  });
+  };
 
   sqlalchemy9 = buildPythonPackage rec {
     name = "SQLAlchemy-0.9.4";
@@ -8191,15 +8402,11 @@ rec {
       export LC_ALL="en_US.UTF-8"
     '';
 
-    # Not picking up from PyPI because it doesn't contain tests.
-    src = fetchgit {
-      url = "git://github.com/gabrielfalcao/sure.git";
-      rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a";
-      sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz";
+      md5 = "6dbecef27dffc41c8cd8aab8a8b3fdfb";
     };
 
-
-
     buildInputs = [ nose ];
 
     propagatedBuildInputs = [ six mock ];
@@ -8212,6 +8419,22 @@ rec {
   };
 
 
+  structlog = buildPythonPackage rec {
+    name = "structlog-0.4.2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/structlog/${name}.tar.gz";
+      md5 = "062cda36069e8573e00c265f451f899e";
+    };
+
+    meta = {
+      description = "Painless structural logging";
+      homepage = http://www.structlog.org/;
+      license = licenses.asl20;
+    };
+  };
+
+
   # XXX: ValueError: ZIP does not support timestamps before 1980
   # svneverever =  buildPythonPackage rec {
   #   name = "svneverever-778489a8";
@@ -8412,7 +8635,7 @@ rec {
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
-    disabled = isPy3k;  # next release will have py3k support
+    disabled = isPy3k || isPyPy;  # next release will have py3k/pypy support
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
     src = fetchurl {
@@ -8996,13 +9219,13 @@ rec {
 
   wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
     inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+    inherit pythonPackages isPyPy python;
     wxGTK = pkgs.wxGTK28;
   };
 
   wxPython30 = import ../development/python-modules/wxPython/3.0.nix {
     inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+    inherit pythonPackages isPyPy python;
     wxGTK = pkgs.wxGTK30;
   };
 
@@ -9131,6 +9354,7 @@ rec {
 
   zfec = buildPythonPackage (rec {
     name = "zfec-1.4.24";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
@@ -9161,6 +9385,7 @@ rec {
   zodb3 = buildPythonPackage rec {
     name = "zodb3-${version}";
     version = "3.11.0";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz";
@@ -9179,6 +9404,8 @@ rec {
 
   zodb = buildPythonPackage rec {
     name = "zodb-${version}";
+    disabled = isPyPy;
+
     version = "4.0.1";
 
     src = fetchurl {
@@ -9204,6 +9431,7 @@ rec {
 
   zodbpickle = pythonPackages.buildPythonPackage rec {
     name = "zodbpickle-0.5.2";
+    disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz";
@@ -9551,11 +9779,11 @@ rec {
 
 
   zope_schema = buildPythonPackage rec {
-    name = "zope.schema-4.4.1";
+    name = "zope.schema-4.4.2";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz";
-      sha256 = "0wpwfggd736ai8bbrwbsnqf522sh5j57d1zxq8m8p6i5nwml0q02";
+      sha256 = "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank";
     };
 
     propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
@@ -9602,11 +9830,13 @@ rec {
 
 
   zope_sqlalchemy = buildPythonPackage rec {
-    name = "zope.sqlalchemy-0.7.3";
+    name = "zope.sqlalchemy-0.7.5";
+
+    doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
-      md5 = "8b317b41244fc2e67f2f286890ba59a0";
+      md5 = "0a468bd5b8884cd29fb71acbf7eaa31e";
     };
 
     buildInputs = [ zope_testing zope_interface ];
@@ -9655,8 +9885,7 @@ rec {
 
     propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit;
 
-    # a test is failing
-    doCheck = false;
+    doCheck = true;
 
     meta = {
       description = "A flexible test runner with layer support";
@@ -9927,6 +10156,24 @@ rec {
   };
 
 
+  websocket_client = buildPythonPackage rec {
+    name = "websocket-client-0.17.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz";
+      md5 = "c86591719085eaf4a01c2275e0c834fc";
+    };
+
+    propagatedBuildInputs = [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ];
+
+    meta = {
+      homepage = https://github.com/liris/websocket-client;
+      description = "Websocket client for python";
+      license = licenses.lgpl2;
+    };
+  };
+
+
   webhelpers = buildPythonPackage rec {
     name = "WebHelpers-1.3";
 
@@ -10113,6 +10360,58 @@ rec {
     };
   };
 
+  graphite_api = buildPythonPackage rec {
+    name = "graphite-api-1.0.1";
+
+    src = fetchgit {
+      url = "https://github.com/brutasse/graphite-api.git";
+      rev = "b6f75e8a08fae695c094fece6de611b893fc65fb";
+      sha256 = "41b90d5f35e99a020a6b1b77938690652521d1841b3165574fcfcee807ce4e6a";
+    };
+
+    # ImportError: No module named tests
+    doCheck = false;
+
+    propagatedBuildInputs = [
+      flask
+      flask_cache
+      cairocffi
+      pyparsing
+      pytz
+      pyyaml
+      raven
+      six
+      structlog
+      tzlocal
+    ];
+
+    meta = {
+      description = "Graphite-web,  without the interface. Just the rendering HTTP API.";
+      homepage = https://github.com/brutasse/graphite-api;
+      license = licenses.asl20;
+    };
+  };
+
+  graphite_influxdb = buildPythonPackage rec {
+    name = "graphite-influxdb-0.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/g/graphite-influxdb/${name}.tar.gz";
+      md5 = "5ce64ff6bb0b41c99e57486d6ec86eb7";
+    };
+
+    propagatedBuildInputs = [ influxdb graphite_api ];
+
+    passthru.moduleName = "graphite_influxdb.InfluxdbFinder";
+
+    meta = {
+      description = "An influxdb backend for Graphite-web and graphite-api";
+      homepage = https://github.com/vimeo/graphite-influxdb;
+      license = licenses.asl20;
+    };
+  };
+
+
   pyspotify = buildPythonPackage rec {
     name = "pyspotify-${version}";
 
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index e2f5309ced33..0a8e7165d663 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -123,6 +123,8 @@ rec {
       packagesWithMetaPlatform attrSet
     else if attrSet.recurseForRelease or false then
       packagesWithMetaPlatform attrSet
+    else if attrSet.meta.broken or false then
+      []
     else
       attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 07c3126e5abe..71f51554719c 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -48,39 +48,25 @@ let
     } // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec {
 
       abcde = linux;
-      alsaUtils = linux;
       apacheHttpd = linux;
       aspell = all;
       at = linux;
       atlas = linux;
-      audacious = linux;
       autoconf = all;
       automake = all;
-      avahi = allBut cygwin;  # Cygwin builds fail
       bash = all;
       bashInteractive = all;
       bazaar = linux; # first let sqlite3 work on darwin
-      bc = all;
       binutils = linux;
       bind = linux;
-      bitlbee = linux;
-      bittorrent = linux;
-      blender = linux;
-      bsdiff = all;
-      btrfsProgs = linux;
       bvi = all;
-      bzip2 = all;
-      cabextract = all;
       castle_combat = linux;
       cdrkit = linux;
-      chatzilla = linux;
       cksfv = all;
       classpath = linux;
       coreutils = all;
-      cpio = all;
       cron = linux;
       cvs = linux;
-      db4 = all;
       ddrescue = linux;
       dhcp = linux;
       dico = linux;
@@ -97,22 +83,15 @@ let
       dosbox = linux;
       dovecot = linux;
       doxygen = linux;
-      dpkg = linux;
       drgeo = linux;
       ejabberd = linux;
       elinks = linux;
-      enscript = all;
       eprover = linux;
-      evince = linux;
       expect = linux;
       exult = linux;
-      fbterm = linux;
-      feh = linux;
-      file = all;
       findutils = all;
       flex = all;
       fontforge = linux;
-      fuse = linux;
       gajim = linux;
       gawk = all;
       gcc = linux;
@@ -120,53 +99,34 @@ let
       gcc34 = linux;
       gcc44 = linux;
       gcj = linux;
-      ghdl = linux;
       ghostscript = linux;
       ghostscriptX = linux;
-      gimp_2_8 = linux;
       git = linux;
       gitFull = linux;
       glibc = linux;
       glibcLocales = linux;
       glxinfo = linux;
-      gnash = linux;
-      gnat = linux;
-      gnugrep = all;
       gnum4 = all;
-      gnumake = all;
-      gnupatch = all;
       gnupg = linux;
       gnuplot = allBut cygwin;
-      gnused = all;
-      gnutar = all;
       gnutls = linux;
       gogoclient = linux;
       gphoto2 = linux;
       gpm = linux;
-      gprolog = linux;
       gpscorrelate = linux;
-      gpsd = linux;
       gqview = gtkSupported;
       graphviz = all;
       grub = linux;
-      grub2 = linux;
       gsl = linux;
       guile = linux;  # tests fail on Cygwin
-      gv = linux;
       gzip = all;
       hddtemp = linux;
-      hello = all;
       host = linux;
       htmlTidy = all;
-      hugin = linux;
       iana_etc = linux;
       icewm = linux;
-      idutils = all;
       ifplugd = linux;
-      impressive = linux;
-      inetutils = linux;
       inkscape = linux;
-      iputils = linux;
       irssi = linux;
       jfsutils = linux;
       jfsrec = linux;
@@ -175,19 +135,14 @@ let
       kbd = linux;
       keen4 = ["i686-linux"];
     #  klibc = linux;
-      kvm = linux;
-      qemu = linux;
-      qemu_kvm = linux;
       less = all;
       lftp = all;
       libarchive = linux;
-      libsmbios = linux;
       libtool = all;
       libtool_2 = all;
       lout = linux;
       lsof = linux;
       ltrace = linux;
-      lvm2 = linux;
       lynx = linux;
       lzma = linux;
       man = linux;
@@ -200,14 +155,11 @@ let
       mercurial = unix;
       mercurialFull = linux;
       mesa = mesaPlatforms;
-      midori = linux;
       mingetty = linux;
       mk = linux;
       mktemp = all;
       mod_python = linux;
       module_init_tools = linux;
-      mono = linux;
-      mpg321 = linux;
       mupen64plus = linux;
       mutt = linux;
       mysql = linux;
@@ -216,71 +168,53 @@ let
       nano = allBut cygwin;
       ncat = linux;
       netcat = all;
-      nfsUtils = linux;
-      nmap = linux;
       nss_ldap = linux;
       nssmdns = linux;
-      ntfs3g = linux;
-      ntp = linux;
       ocaml = linux;
-      octave = linux;
-      openssl = all;
       pam_console = linux;
       pam_login = linux;
       pan = gtkSupported;
       par2cmdline = all;
-      pavucontrol = linux;
       pciutils = linux;
       pdf2xml = all;
       perl = all;
       php = linux;
-      pidgin = linux;
       pinentry = linux;
       pltScheme = linux;
       pmccabe = linux;
       portmap = linux;
       postgresql = all;
-      postfix = linux;
       ppl = all;
       procps = linux;
       pthreadmanpages = linux;
       pygtk = linux;
-      pyqt4 = linux;
       python = allBut cygwin;
       pythonFull = linux;
       sbcl = linux;
       qt3 = linux;
       quake3demo = linux;
-      readline = all;
       reiserfsprogs = linux;
       rlwrap = all;
       rogue = all;
       rpm = linux;
       rsync = linux;
       rubber = allBut cygwin;
-      ruby = all;
       rxvt_unicode = linux;
       screen = linux ++ darwin;
       scrot = linux;
       sdparm = linux;
       seccure = linux;
       sgtpuzzles = linux;
-      sharutils = all;
-      slim = linux;
       sloccount = allBut cygwin;
-      smartmontools = linux;
       spidermonkey = linux;
-      sqlite = allBut cygwin;
       squid = linux;
       ssmtp = linux;
       stdenv = prio 175 all;
       stlport = linux;
-      strace = linux;
       su = linux;
       sudo = linux;
       superTuxKart = linux;
       swig = linux;
-      sylpheed = linux;
       sysklogd = linux;
       syslinux = ["i686-linux"];
       sysvinit = linux;
@@ -298,29 +232,23 @@ let
       time = linux;
       tinycc = linux;
       uae = linux;
-      udev = linux;
       unrar = linux;
       upstart = linux;
       usbutils = linux;
       utillinux = linux;
       utillinuxCurses = linux;
-      uzbl = linux;
       viking = linux;
       vice = linux;
       vim = linux;
       vimHugeX = linux;
       vncrec = linux;
       vorbisTools = linux;
-      vpnc = linux;
       vsftpd = linux;
       w3m = all;
-      webkit = linux;
       weechat = linux;
-      wget = all;
       which = all;
       wicd = linux;
       wine = ["i686-linux"];
-      wireshark = linux;
       wirelesstools = linux;
       wxGTK = linux;
       x11_ssh_askpass = linux;
@@ -334,10 +262,7 @@ let
       xscreensaver = linux;
       xsel = linux;
       xterm = linux;
-      xxdiff = linux;
       zdelta = linux;
-      zile = linux;
-      zip = all;
       zsh = linux;
       zsnes = ["i686-linux"];