summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-12-04 18:33:45 +0100
committerPeter Simons <simons@cryp.to>2013-12-04 18:33:52 +0100
commitc32bf83301bc4063df924ee442d8e35c1b96d912 (patch)
tree5a0821f9960cfa2508fc6b451fbaf8bfa6326367
parent88c7b4c7fee42c1ae5167fd1e7806d600e4451e4 (diff)
parent41f0e6ad9203a1859996e53323321a758c1fc7c4 (diff)
downloadnixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar.gz
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar.bz2
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar.lz
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar.xz
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.tar.zst
nixlib-c32bf83301bc4063df924ee442d8e35c1b96d912.zip
Merge remote-tracking branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/development/interpreters/perl/5.16/default.nix
	pkgs/tools/networking/curl/default.nix
	pkgs/top-level/all-packages.nix
	pkgs/top-level/release-python.nix
	pkgs/top-level/release-small.nix
	pkgs/top-level/release.nix
-rw-r--r--.version2
-rw-r--r--doc/meta.xml50
-rw-r--r--lib/attrsets.nix8
-rw-r--r--lib/default.nix2
-rw-r--r--lib/lists.nix47
-rw-r--r--lib/maintainers.nix3
-rw-r--r--lib/modules.nix6
-rw-r--r--lib/options.nix10
-rw-r--r--lib/platforms.nix4
-rw-r--r--lib/strings.nix3
-rw-r--r--lib/trivial.nix10
-rw-r--r--lib/types.nix14
-rw-r--r--nixos/doc/manual/default.nix5
-rw-r--r--nixos/doc/manual/development.xml31
-rw-r--r--nixos/doc/manual/installation.xml20
-rw-r--r--nixos/doc/manual/manual.xml1
-rw-r--r--nixos/lib/build-vms.nix4
-rw-r--r--nixos/lib/eval-config.nix4
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-ebs-amis.py11
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-s3-amis.sh7
-rw-r--r--nixos/modules/config/pulseaudio.nix2
-rw-r--r--nixos/modules/config/shells-environment.nix4
-rw-r--r--nixos/modules/config/sysctl.nix7
-rw-r--r--nixos/modules/config/users-groups.nix32
-rw-r--r--nixos/modules/hardware/network/b43.nix18
-rw-r--r--nixos/modules/installer/cd-dvd/channel.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-base.nix6
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-efi.nix14
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix40
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl3
-rw-r--r--nixos/modules/misc/ids.nix5
-rw-r--r--nixos/modules/misc/version.nix2
-rw-r--r--nixos/modules/module-list.nix12
-rw-r--r--nixos/modules/programs/gurobi.nix43
-rw-r--r--nixos/modules/programs/screen.nix30
-rw-r--r--nixos/modules/programs/venus.nix6
-rw-r--r--nixos/modules/security/polkit.nix94
-rw-r--r--nixos/modules/services/audio/alsa.nix1
-rw-r--r--nixos/modules/services/databases/mongodb.nix5
-rw-r--r--nixos/modules/services/databases/openldap.nix27
-rw-r--r--nixos/modules/services/databases/postgresql.nix19
-rw-r--r--nixos/modules/services/hardware/acpid.nix1
-rw-r--r--nixos/modules/services/hardware/amd-hybrid-graphics.nix39
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix2
-rw-r--r--nixos/modules/services/hardware/udev.nix11
-rw-r--r--nixos/modules/services/logging/klogd.nix2
-rw-r--r--nixos/modules/services/logging/logstash.nix160
-rw-r--r--nixos/modules/services/misc/disnix.nix22
-rw-r--r--nixos/modules/services/misc/gurobi.nix41
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix7
-rw-r--r--nixos/modules/services/misc/nixos-manual.nix1
-rw-r--r--nixos/modules/services/monitoring/apcupsd.nix4
-rw-r--r--nixos/modules/services/monitoring/dd-agent.nix4
-rw-r--r--nixos/modules/services/monitoring/graphite.nix9
-rw-r--r--nixos/modules/services/monitoring/munin.nix2
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix6
-rw-r--r--nixos/modules/services/networking/dhcpcd.nix2
-rw-r--r--nixos/modules/services/networking/networkmanager.nix57
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix4
-rw-r--r--nixos/modules/services/networking/vsftpd.nix122
-rw-r--r--nixos/modules/services/printing/cupsd.nix2
-rw-r--r--nixos/modules/services/scheduling/fcron.nix5
-rw-r--r--nixos/modules/services/search/elasticsearch.nix2
-rw-r--r--nixos/modules/services/torrent/transmission.nix2
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix9
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/mediawiki.nix4
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix13
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix42
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix1
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix4
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix16
-rw-r--r--nixos/modules/services/x11/terminal-server.nix57
-rw-r--r--nixos/modules/services/x11/xserver.nix13
-rw-r--r--nixos/modules/system/activation/activation-script.nix2
-rw-r--r--nixos/modules/system/activation/top-level.nix26
-rw-r--r--nixos/modules/system/boot/kernel.nix7
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix2
-rw-r--r--nixos/modules/system/boot/modprobe.nix2
-rw-r--r--nixos/modules/system/boot/shutdown.nix28
-rw-r--r--nixos/modules/system/boot/stage-1.nix7
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix62
-rw-r--r--nixos/modules/system/boot/systemd.nix185
-rw-r--r--nixos/modules/tasks/cpu-freq.nix2
-rw-r--r--nixos/modules/tasks/filesystems.nix1
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix2
-rw-r--r--nixos/modules/tasks/kbd.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces.nix2
-rw-r--r--nixos/modules/tasks/scsi-link-power-management.nix2
-rw-r--r--nixos/modules/testing/service-runner.nix114
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix5
-rw-r--r--nixos/modules/virtualisation/containers.nix137
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix20
-rw-r--r--nixos/modules/virtualisation/nova.nix8
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix5
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix2
-rw-r--r--nixos/release.nix13
-rw-r--r--nixos/tests/default.nix1
-rw-r--r--nixos/tests/efi-installer.nix3
-rw-r--r--nixos/tests/logstash.nix40
-rw-r--r--nixos/tests/misc.nix6
-rw-r--r--pkgs/applications/audio/caps/default.nix4
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix8
-rw-r--r--pkgs/applications/audio/jalv/default.nix4
-rw-r--r--pkgs/applications/audio/milkytracker/decompressor_gzip.patch20
-rw-r--r--pkgs/applications/audio/milkytracker/default.nix44
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/qmmp/default.nix5
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix34
-rw-r--r--pkgs/applications/editors/emacs-modes/ess/default.nix8
-rw-r--r--pkgs/applications/editors/emacs-modes/offlineimap/default.nix28
-rw-r--r--pkgs/applications/editors/vim/qvim.nix115
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix15
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix43
-rw-r--r--pkgs/applications/graphics/grafx2/default.nix28
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix4
-rw-r--r--pkgs/applications/graphics/mirage/default.nix4
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix16
-rw-r--r--pkgs/applications/graphics/pencil/default.nix33
-rw-r--r--pkgs/applications/graphics/sane/backends-git.nix9
-rw-r--r--pkgs/applications/graphics/sane/backends.nix7
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix12
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix33
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix2
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/dunst/default.nix2
-rw-r--r--pkgs/applications/misc/fbreader/default.nix7
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix76
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix4
-rw-r--r--pkgs/applications/misc/krename/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--pkgs/applications/misc/redshift/default.nix3
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix7
-rw-r--r--pkgs/applications/misc/vifm/default.nix4
-rw-r--r--pkgs/applications/misc/vue/default.nix9
-rw-r--r--pkgs/applications/misc/xmobar/default.nix6
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix8
-rw-r--r--pkgs/applications/misc/zathura/default.nix12
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix4
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch293
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/icecat-3/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/netsurf/haru.nix1
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libParserUtils.nix1
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix1
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/dev.nix45
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/fuze/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix47
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix6
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix4
-rw-r--r--pkgs/applications/networking/jmeter/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix18
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/sup/default.nix11
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix3
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix25
-rw-r--r--pkgs/applications/networking/remote/freerdp/unstable.nix2
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix26
-rw-r--r--pkgs/applications/networking/remote/remmina/lgthread.patch16
-rw-r--r--pkgs/applications/networking/remote/teamviewer/8.nix24
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/znc/modules.nix4
-rw-r--r--pkgs/applications/office/gnucash/default.nix18
-rw-r--r--pkgs/applications/office/ledger/3.0.nix6
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix20
-rw-r--r--pkgs/applications/science/logic/ekrhyper/default.nix8
-rw-r--r--pkgs/applications/science/logic/hol/default.nix4
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix3
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix4
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/misc/vite/default.nix2
-rw-r--r--pkgs/applications/science/spyder/default.nix4
-rw-r--r--pkgs/applications/version-management/darcs/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix29
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix20
-rw-r--r--pkgs/applications/version-management/subversion/default.nix5
-rw-r--r--pkgs/applications/version-management/veracity/default.nix1
-rw-r--r--pkgs/applications/video/key-mon/default.nix4
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/tvtime/default.nix1
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/xawtv/default.nix32
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch22
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch21
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch44
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix62
-rw-r--r--pkgs/applications/virtualization/nova/client.nix1
-rw-r--r--pkgs/applications/virtualization/nova/default.nix15
-rw-r--r--pkgs/applications/virtualization/xen/default.nix1
-rw-r--r--pkgs/applications/window-managers/awesome/3.4.nix50
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix97
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix4
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh3
-rw-r--r--pkgs/build-support/clang-wrapper/clang-wrapper.sh11
-rw-r--r--pkgs/build-support/clang-wrapper/default.nix4
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git10
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh4
-rw-r--r--pkgs/data/fonts/andagii/default.nix3
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/dejavu-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/terminus-font/default.nix27
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix2
-rw-r--r--pkgs/desktops/kde-4.11/default.nix2
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/4.11.4.nix444
-rw-r--r--pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix272
-rw-r--r--pkgs/desktops/kde-4.11/support/akonadi/default.nix6
-rw-r--r--pkgs/desktops/xfce/common.nix2
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar-archive-plugin.nix2
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix18
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix5
-rw-r--r--pkgs/desktops/xfce/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix25
-rw-r--r--pkgs/development/arduino/ino/default.nix4
-rw-r--r--pkgs/development/compilers/chicken/default.nix50
-rw-r--r--pkgs/development/compilers/elm/elm.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix5
-rw-r--r--pkgs/development/compilers/ghc/head.nix10
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix38
-rw-r--r--pkgs/development/compilers/go/1.1-darwin.nix5
-rw-r--r--pkgs/development/compilers/idris/default.nix20
-rw-r--r--pkgs/development/compilers/llvm/clang-tablegen-dir.patch9
-rw-r--r--pkgs/development/compilers/llvm/clang.nix3
-rw-r--r--pkgs/development/compilers/sbcl/default.nix8
-rw-r--r--pkgs/development/compilers/scala/2.9.nix34
-rw-r--r--pkgs/development/compilers/scala/default.nix17
-rw-r--r--pkgs/development/compilers/sdcc/default.nix4
-rw-r--r--pkgs/development/guile-modules/guile-ncurses/default.nix4
-rw-r--r--pkgs/development/interpreters/elixir/default.nix19
-rw-r--r--pkgs/development/interpreters/erlang/default.nix (renamed from pkgs/development/interpreters/erlang/R16B01.nix)9
-rw-r--r--pkgs/development/interpreters/love/default.nix23
-rw-r--r--pkgs/development/interpreters/luajit/default.nix22
-rw-r--r--pkgs/development/interpreters/php/5.4.nix4
-rw-r--r--pkgs/development/interpreters/pypy/2.2/default.nix (renamed from pkgs/development/interpreters/pypy/2.1/default.nix)4
-rw-r--r--pkgs/development/interpreters/pypy/2.2/setup-hook.sh (renamed from pkgs/development/interpreters/pypy/2.1/setup-hook.sh)4
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix11
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix694
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix9
-rw-r--r--pkgs/development/interpreters/ruby/ruby-18.nix6
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix6
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.nix18
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix4
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix15
-rw-r--r--pkgs/development/interpreters/spidermonkey/185-1.0.0.nix6
-rw-r--r--pkgs/development/libraries/SDL2/default.nix19
-rw-r--r--pkgs/development/libraries/amrnb/default.nix12
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix2
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix3
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix10
-rw-r--r--pkgs/development/libraries/atk/default.nix2
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/avahi/default.nix4
-rw-r--r--pkgs/development/libraries/boost/1.55.nix91
-rw-r--r--pkgs/development/libraries/boost/header-only-wrapper.nix5
-rw-r--r--pkgs/development/libraries/caelum/default.nix1
-rw-r--r--pkgs/development/libraries/eigen/2.0.nix4
-rw-r--r--pkgs/development/libraries/eigen/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix8
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix4
-rw-r--r--pkgs/development/libraries/giflib/default.nix10
-rw-r--r--pkgs/development/libraries/glibc/2.17/locales.nix2
-rw-r--r--pkgs/development/libraries/gpgme/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/default.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix33
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix4
-rw-r--r--pkgs/development/libraries/gts/default.nix2
-rw-r--r--pkgs/development/libraries/gurobi/default.nix25
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/EitherT/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix (renamed from pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/Glob/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix6
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.9.nix24
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/abstract-par/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/accelerate-examples/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/accelerate-fft/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/accelerate-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/accelerate/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ariadne/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/asn1-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/bert/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/binary-conduit/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/cereal-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/codec-image-devil/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/connection/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/control-monad-loop/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/cpu/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-numbers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/cufft/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/data-memocombinators/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-pprint/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix (renamed from pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix12
-rw-r--r--pkgs/development/libraries/haskell/diagrams/contrib.nix19
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix10
-rw-r--r--pkgs/development/libraries/haskell/diagrams/diagrams.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix17
-rw-r--r--pkgs/development/libraries/haskell/diagrams/svg.nix12
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digits/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/direct-sqlite/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/dlist/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ekg/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filemanip/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb-utils/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gio/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/gloss-accelerate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-names/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix (renamed from pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix)1
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hse-cpp/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hslua/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hsyslog/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/indexed-free/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/indexed/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/intervals/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/language-ecmascript/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/language-java/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lifted-async/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monoid-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/netwire/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.2.1.nix (renamed from pkgs/development/libraries/haskell/network/2.4.2.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/pandoc-citeproc/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/parseargs/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.10.1.1.nix (renamed from pkgs/development/libraries/haskell/parsers/0.10.nix)4
-rw-r--r--pkgs/development/libraries/haskell/pem/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-network/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-parse/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/pipes-safe/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/postgresql-libpq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-assertions/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-instances/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/scientific/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/smallcheck/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix4
-rw-r--r--pkgs/development/libraries/haskell/socket-activation/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/statestack/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/stringsearch/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/svgcairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/system-posix-redirect/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/tabular/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/tasty-golden/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tasty-hunit/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/tasty-smallcheck/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tasty-th/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/terminfo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/text-icu/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/threads/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/thyme/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/traverse-with-class/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/type-eq/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/unix-time/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-launch/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-logger/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp-tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/web-routes-boomerang/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix1
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zeromq3-haskell/default.nix6
-rw-r--r--pkgs/development/libraries/java/icedtea/default.nix2
-rw-r--r--pkgs/development/libraries/json-c/0.11.nix22
-rw-r--r--pkgs/development/libraries/json-c/default.nix12
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix4
-rw-r--r--pkgs/development/libraries/lensfun/default.nix4
-rw-r--r--pkgs/development/libraries/lgi/default.nix24
-rw-r--r--pkgs/development/libraries/libc++/default.nix34
-rw-r--r--pkgs/development/libraries/libcue/default.nix4
-rw-r--r--pkgs/development/libraries/libdc1394avt/default.nix1
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libestr/default.nix6
-rw-r--r--pkgs/development/libraries/libgpod/default.nix4
-rw-r--r--pkgs/development/libraries/libiconv/default.nix2
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix4
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix4
-rw-r--r--pkgs/development/libraries/libmusclecard/default.nix1
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix4
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/libopensc-dnie/default.nix17
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix6
-rw-r--r--pkgs/development/libraries/libunibreak/default.nix7
-rw-r--r--pkgs/development/libraries/libusb1/1_0_9.nix20
-rw-r--r--pkgs/development/libraries/libusb1/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix10
-rw-r--r--pkgs/development/libraries/libvirt/securtyfs_userns.patch30
-rw-r--r--pkgs/development/libraries/libxml2/default.nix30
-rw-r--r--pkgs/development/libraries/libxml2/pthread-once-init.patch35
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix2
-rw-r--r--pkgs/development/libraries/log4cxx/default.nix23
-rw-r--r--pkgs/development/libraries/mesa/default.nix5
-rw-r--r--pkgs/development/libraries/mesa/werror-wundef.patch12
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix23
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix8
-rw-r--r--pkgs/development/libraries/openbabel/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/2.1.nix1
-rw-r--r--pkgs/development/libraries/pango/default.nix2
-rw-r--r--pkgs/development/libraries/phonon-backend-gstreamer/default.nix4
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/default.nix6
-rw-r--r--pkgs/development/libraries/polkit/default.nix54
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix5
-rw-r--r--pkgs/development/libraries/qt-5/default.nix157
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-absolute-paths.patch36
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch36
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch36
-rw-r--r--pkgs/development/libraries/qt-5/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/soprano/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix2
-rw-r--r--pkgs/development/libraries/unicap/default.nix1
-rw-r--r--pkgs/development/libraries/unixODBC/default.nix4
-rw-r--r--pkgs/development/libraries/vtk/default.nix10
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/default.nix38
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4174
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m444
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m424
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix4
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml361
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix16
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix14
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix10
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix12
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix12
-rw-r--r--pkgs/development/mobile/androidenv/repository-8.xml180
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix8
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix2
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix6
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix4
-rw-r--r--pkgs/development/qtcreator/default.nix31
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix43
-rw-r--r--pkgs/development/tools/analysis/valgrind/glibc-2.17.patch78
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/simple-build-tool/default.nix103
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/hdevtools/default.nix16
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix4
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix16
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.14.x.nix40
-rw-r--r--pkgs/development/tools/misc/complexity/default.nix7
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttv/default.nix4
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix8
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix3
-rw-r--r--pkgs/development/tools/misc/swig/2.x.nix4
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix56
-rw-r--r--pkgs/development/tools/parsing/alex/3.1.3.nix (renamed from pkgs/development/tools/parsing/alex/3.1.0.nix)8
-rw-r--r--pkgs/development/tools/parsing/happy/1.19.2.nix (renamed from pkgs/development/tools/parsing/happy/1.19.0.nix)4
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix1
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix17
-rw-r--r--pkgs/development/web/nodejs/default.nix4
-rw-r--r--pkgs/games/LambdaHack/default.nix11
-rw-r--r--pkgs/games/alienarena/default.nix3
-rw-r--r--pkgs/games/dwarf-therapist/default.nix3
-rw-r--r--pkgs/games/flightgear/default.nix3
-rw-r--r--pkgs/games/gnuchess/default.nix8
-rw-r--r--pkgs/games/naev/default.nix3
-rw-r--r--pkgs/games/oilrush/default.nix3
-rw-r--r--pkgs/games/sauerbraten/default.nix2
-rw-r--r--pkgs/games/sdlmame/default.nix6
-rw-r--r--pkgs/games/soi/default.nix1
-rw-r--r--pkgs/games/speed-dreams/default.nix3
-rw-r--r--pkgs/games/spring/default.nix7
-rw-r--r--pkgs/games/spring/springlobby.nix11
-rw-r--r--pkgs/games/tintin/default.nix24
-rw-r--r--pkgs/games/torcs/default.nix7
-rw-r--r--pkgs/games/ufoai/default.nix3
-rw-r--r--pkgs/games/unvanquished/default.nix3
-rw-r--r--pkgs/games/urbanterror/default.nix3
-rw-r--r--pkgs/games/vdrift/default.nix3
-rw-r--r--pkgs/games/widelands/default.nix3
-rw-r--r--pkgs/games/xonotic/default.nix7
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix12
-rw-r--r--pkgs/misc/emulators/VisualBoyAdvance/default.nix3
-rw-r--r--pkgs/misc/emulators/wine/stable.nix6
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix4
-rw-r--r--pkgs/misc/screensavers/slock/default.nix4
-rw-r--r--pkgs/misc/solfege/default.nix12
-rw-r--r--pkgs/misc/uboot/guruplug.nix2
-rw-r--r--pkgs/os-specific/darwin/native-x11-and-opengl/default.nix6
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix4
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix6
-rw-r--r--pkgs/os-specific/linux/alienfx/default.nix38
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix3
-rw-r--r--pkgs/os-specific/linux/audit/default.nix28
-rw-r--r--pkgs/os-specific/linux/autofs/autofs-v5.nix8
-rw-r--r--pkgs/os-specific/linux/autofs/create-patches-v5.sh4
-rw-r--r--pkgs/os-specific/linux/autofs/patches-v5.nix31
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix2
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix7
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix4
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix6
-rw-r--r--pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch22
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix11
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/default.nix6
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix4
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix4
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix4
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix4
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hibernate/default.nix6
-rw-r--r--pkgs/os-specific/linux/hwdata/builder.sh5
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix19
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix8
-rw-r--r--pkgs/os-specific/linux/iproute/no-werror.patch12
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix19
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/grsec-path.patch15
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.11.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix49
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix14
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix38
-rw-r--r--pkgs/os-specific/linux/libatasmart/default.nix6
-rw-r--r--pkgs/os-specific/linux/libnl/3.2.19.nix20
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix4
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix24
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix8
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix12
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix2
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix9
-rw-r--r--pkgs/os-specific/linux/mdadm/udev.patch20
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix13
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch25
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/version-test.patch19
-rw-r--r--pkgs/os-specific/linux/policycoreutils/default.nix14
-rw-r--r--pkgs/os-specific/linux/sepolgen/default.nix4
-rw-r--r--pkgs/os-specific/linux/setools/default.nix31
-rw-r--r--pkgs/os-specific/linux/upower/default.nix23
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix10
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix1
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--pkgs/servers/beanstalkd/default.nix21
-rw-r--r--pkgs/servers/dico/default.nix22
-rw-r--r--pkgs/servers/evolution-data-server/default.nix1
-rw-r--r--pkgs/servers/ftp/vsftpd/default.nix27
-rw-r--r--pkgs/servers/gpsd/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix2
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix6
-rw-r--r--pkgs/servers/http/joseki/default.nix3
-rw-r--r--pkgs/servers/http/lighttpd/default.nix10
-rw-r--r--pkgs/servers/http/nginx/default.nix33
-rw-r--r--pkgs/servers/http/nginx/default.upstream2
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix4
-rw-r--r--pkgs/servers/http/yaws/default.nix6
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/official/default.nix2
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix2
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix2
-rw-r--r--pkgs/servers/mpd/default.nix6
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix4
-rw-r--r--pkgs/servers/openafs-client/default.nix5
-rw-r--r--pkgs/servers/polipo/default.nix4
-rw-r--r--pkgs/servers/radius/default.nix2
-rw-r--r--pkgs/servers/samba/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch14
-rw-r--r--pkgs/servers/sql/virtuoso/6.x.nix4
-rw-r--r--pkgs/servers/squid/squids.nix6
-rw-r--r--pkgs/servers/varnish/2.1.nix21
-rw-r--r--pkgs/servers/varnish/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/unichrome/default.nix3
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix12
-rw-r--r--pkgs/shells/fish/default.nix9
-rw-r--r--pkgs/stdenv/generic/default.nix25
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix4
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix6
-rw-r--r--pkgs/tools/backup/bup/default.nix6
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix54
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix10
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix2
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix5
-rw-r--r--pkgs/tools/graphics/welkin/default.nix3
-rw-r--r--pkgs/tools/misc/bogofilter/default.nix4
-rw-r--r--pkgs/tools/misc/direnv/default.nix37
-rw-r--r--pkgs/tools/misc/g500-control/default.nix13
-rw-r--r--pkgs/tools/misc/gparted/default.nix2
-rw-r--r--pkgs/tools/misc/keychain/default.nix25
-rw-r--r--pkgs/tools/misc/ldapvi/default.nix30
-rw-r--r--pkgs/tools/misc/ngrok/default.nix15
-rw-r--r--pkgs/tools/misc/screen/default.nix4
-rw-r--r--pkgs/tools/misc/smc/default.nix49
-rw-r--r--pkgs/tools/misc/ttmkfdir/default.nix4
-rw-r--r--pkgs/tools/misc/w3c-css-validator/default.nix1
-rw-r--r--pkgs/tools/misc/xmltv/default.nix1
-rw-r--r--pkgs/tools/networking/badvpn/default.nix35
-rw-r--r--pkgs/tools/networking/badvpn/default.upstream3
-rw-r--r--pkgs/tools/networking/chrony/default.nix6
-rw-r--r--pkgs/tools/networking/cjdns/default.nix2
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/ddclient/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--pkgs/tools/networking/dropbear/default.nix4
-rw-r--r--pkgs/tools/networking/iperf/default.nix15
-rw-r--r--pkgs/tools/networking/nbd/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix3
-rw-r--r--pkgs/tools/networking/ntop/default.nix4
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix7
-rw-r--r--pkgs/tools/networking/openssh/default.nix2
-rw-r--r--pkgs/tools/networking/openssh/gcmrekey.patch18
-rw-r--r--pkgs/tools/networking/privoxy/default.nix23
-rw-r--r--pkgs/tools/networking/privoxy/disable-user-error.patch66
-rw-r--r--pkgs/tools/networking/socat/2.0.0-b3.nix29
-rw-r--r--pkgs/tools/networking/socat/2.x.nix20
-rw-r--r--pkgs/tools/networking/socat/default.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix2
-rw-r--r--pkgs/tools/networking/wget/iri-test.patch12
-rw-r--r--pkgs/tools/package-management/cabal-install/1.18.0.2.nix3
-rw-r--r--pkgs/tools/package-management/disnix/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix14
-rw-r--r--pkgs/tools/security/ccid/default.nix6
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix2
-rw-r--r--pkgs/tools/security/opensc/0.11.7.nix27
-rw-r--r--pkgs/tools/security/opensc/default.nix36
-rw-r--r--pkgs/tools/security/prey/default.nix1
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/vidalia/default.nix8
-rw-r--r--pkgs/tools/system/fdisk/default.nix3
-rw-r--r--pkgs/tools/system/lshw/default.nix6
-rw-r--r--pkgs/tools/system/pciutils/default.nix6
-rw-r--r--pkgs/tools/system/rsyslog/default.nix6
-rw-r--r--pkgs/tools/system/ts/default.nix15
-rw-r--r--pkgs/tools/text/ascii/default.nix12
-rw-r--r--pkgs/tools/text/ebook-tools/default.nix4
-rw-r--r--pkgs/tools/text/uni2ascii/default.nix4
-rw-r--r--pkgs/tools/text/wdiff/default.nix2
-rw-r--r--pkgs/tools/text/xml/basex/default.nix6
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix9
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix2
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix3
-rw-r--r--pkgs/top-level/all-packages.nix356
-rw-r--r--pkgs/top-level/haskell-defaults.nix10
-rw-r--r--pkgs/top-level/haskell-packages.nix213
-rw-r--r--pkgs/top-level/node-packages-generated.nix12665
-rw-r--r--pkgs/top-level/node-packages.json3
-rw-r--r--pkgs/top-level/node-packages.nix26
-rw-r--r--pkgs/top-level/perl-packages.nix56
-rw-r--r--pkgs/top-level/python-packages.nix390
-rw-r--r--pkgs/top-level/release-lib.nix8
-rw-r--r--pkgs/top-level/release.nix2
765 files changed, 14238 insertions, 11047 deletions
diff --git a/.version b/.version
index 381796ec8b7e..07167f90842e 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-13.10
\ No newline at end of file
+14.02
\ No newline at end of file
diff --git a/doc/meta.xml b/doc/meta.xml
index 09252410d807..00e9b8ac67a1 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -118,6 +118,56 @@ interpretation:</para>
     package).</para></listitem>
   </varlistentry>
 
+  <varlistentry>
+    <term><varname>platforms</varname></term>
+    <listitem><para>The list of Nix platform types on which the
+    package is supported.  If this attribute is set, the package will
+    refuse to build, and won’t show up in <literal>nix-env
+    -qa</literal> output, on any platform not listed
+    here.  An example is:
+
+<programlisting>
+meta.platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+</programlisting>
+
+    The set <varname>lib.platforms</varname> defines various common
+    lists of platforms types, so it’s more typical to write:
+
+<programlisting>
+meta.platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+</programlisting>
+
+    </para></listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><varname>hydraPlatforms</varname></term>
+    <listitem><para>The list of Nix platform types for which the Hydra
+    instance at <literal>hydra.nixos.org</literal> should build the
+    package.  (Hydra is the Nix-based continuous build system.)  It
+    defaults to the value of <varname>meta.platforms</varname>.  Thus,
+    the only reason to set <varname>meta.hydraPlatforms</varname> is
+    if you want <literal>hydra.nixos.org</literal> to build the
+    package on a subset of <varname>meta.platforms</varname>, or not
+    at all, e.g.
+
+<programlisting>
+meta.platforms = stdenv.lib.platforms.linux;
+meta.hydraPlatforms = [];
+</programlisting>
+
+    </para></listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><varname>broken</varname></term>
+    <listitem><para>If set to <literal>true</literal>, the package is
+    marked as “broken”, meaning that it won’t show up in
+    <literal>nix-env -qa</literal>, and cannot be built or installed.
+    Sush packages should be removed from Nixpkgs eventually unless
+    they are fixed.</para></listitem>
+  </varlistentry>
+
 </variablelist>
 
 
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index 7c93d8698de0..da735d71b255 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -1,7 +1,7 @@
 # Operations on attribute sets.
 
 with {
-  inherit (builtins) head tail isString;
+  inherit (builtins) head tail;
   inherit (import ./trivial.nix) or;
   inherit (import ./default.nix) fold;
   inherit (import ./strings.nix) concatStringsSep;
@@ -20,7 +20,7 @@ rec {
     let attr = head attrPath;
     in
       if attrPath == [] then e
-      else if builtins ? hasAttr && hasAttr attr e
+      else if hasAttr attr e
       then attrByPath (tail attrPath) default (getAttr attr e)
       else default;
 
@@ -100,7 +100,7 @@ rec {
          (AttrSet -> Bool) -> AttrSet -> AttrSet
 
      Example:
-       collect builtins.isList { a = { b = ["b"]; }; c = [1]; }
+       collect isList { a = { b = ["b"]; }; c = [1]; }
        => [["b"] [1]]
 
        collect (x: x ? outPath)
@@ -110,7 +110,7 @@ rec {
   collect = pred: attrs:
     if pred attrs then
       [ attrs ]
-    else if builtins.isAttrs attrs then
+    else if isAttrs attrs then
       concatMap (collect pred) (attrValues attrs)
     else
       [];
diff --git a/lib/default.nix b/lib/default.nix
index fc92e04503b2..4b6027c437be 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -21,8 +21,6 @@ let
 in
   { inherit trivial lists strings stringsWithDeps attrsets sources options
       modules types meta debug maintainers licenses platforms systems;
-    # Pull in some builtins not included elsewhere.
-    inherit (builtins) pathExists readFile;
   }
   # !!! don't include everything at top-level; perhaps only the most
   # commonly used functions.
diff --git a/lib/lists.nix b/lib/lists.nix
index d0b09539bf69..d6e8628f03a1 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -1,14 +1,16 @@
 # General list operations.
-let
 
-  inherit (import ./trivial.nix) deepSeq;
+with import ./trivial.nix;
+
+let
 
   inc = builtins.add 1;
 
   dec = n: builtins.sub n 1;
 
 in rec {
-  inherit (builtins) head tail length isList add sub lessThan elemAt;
+
+  inherit (builtins) head tail length isList elemAt concatLists filter elem;
 
 
   # Create a list consisting of a single element.  `singleton x' is
@@ -55,10 +57,6 @@ in rec {
           else [ (f (inc n) (elemAt list n)) ] ++ imap' (inc n);
     in imap' 0;
 
-    
-  # Concatenate a list of lists.
-  concatLists = builtins.concatLists or (fold (x: y: x ++ y) []);
-
 
   # Map and concatenate the result.
   concatMap = f: list: concatLists (map f list);
@@ -72,24 +70,10 @@ in rec {
     then fold (x: y: (flatten x) ++ y) [] x
     else [x];
 
-    
-  # Filter a list using a predicate; that is, return a list containing
-  # every element from `list' for which `pred' returns true.
-  filter =
-    builtins.filter or
-    (pred: list:
-      fold (x: y: if pred x then [x] ++ y else y) [] list);
 
-    
   # Remove elements equal to 'e' from a list.  Useful for buildInputs.
   remove = e: filter (x: x != e);
 
-  
-  # Return true if `list' has an element `x'.
-  elem =
-    builtins.elem or
-    (x: list: fold (a: bs: x == a || bs) false list);
-
 
   # Find the sole element in the list matching the specified
   # predicate, returns `default' if no such element exists, or
@@ -106,7 +90,7 @@ in rec {
   findFirst = pred: default: list:
     let found = filter pred list;
     in if found == [] then default else head found;
-       
+
 
   # Return true iff function `pred' returns true for at least element
   # of `list'.
@@ -136,16 +120,16 @@ in rec {
   # If argument is a list, return it; else, wrap it in a singleton
   # list.  If you're using this, you should almost certainly
   # reconsider if there isn't a more "well-typed" approach.
-  toList = x: if builtins.isList x then x else [x];
+  toList = x: if isList x then x else [x];
+
 
-    
   # Return a list of integers from `first' up to and including `last'.
   range = first: last:
-    if builtins.lessThan last first
+    if lessThan last first
     then []
-    else [first] ++ range (builtins.add first 1) last;
+    else [first] ++ range (add first 1) last;
+
 
-    
   # Partition the elements of a list in two lists, `right' and
   # `wrong', depending on the evaluation of a predicate.
   partition = pred:
@@ -160,7 +144,7 @@ in rec {
     let
       len1 = length fst;
       len2 = length snd;
-      len = if builtins.lessThan len1 len2 then len1 else len2;
+      len = if lessThan len1 len2 then len1 else len2;
       zipListsWith' = n:
         if n != len then
           [ (f (elemAt fst n) (elemAt snd n)) ]
@@ -207,7 +191,7 @@ in rec {
           [ (elemAt list n) ] ++ take' (inc n);
     in take' 0;
 
-    
+
   # Remove the first (at most) N elements of a list.
   drop = count: list:
     let
@@ -219,7 +203,8 @@ in rec {
           drop' (dec n) ++ [ (elemAt list n) ];
     in drop' (dec len);
 
-    
+
+  # Return the last element of a list.
   last = list:
     assert list != []; elemAt list (dec (length list));
 
@@ -237,5 +222,7 @@ in rec {
         else [];
     in zipTwoLists' 0;
 
+
   deepSeqList = xs: y: if any (x: deepSeq x false) xs then y else y;
+
 }
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 7f84e11e561c..0418337b217b 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -55,6 +55,7 @@
   smironov = "Sergey Mironov <ierton@gmail.com>";
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
   the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
+  tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
   urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
   vcunat = "Vladimír Čunát <vcunat@gmail.com>";
   viric = "Lluís Batlle i Rossell <viric@viric.name>";
@@ -63,4 +64,6 @@
   winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
   zef = "Zef Hemel <zef@zef.me>";
+  zimbatm = "zimbatm <zimbatm@zimbatm.com>";
+  zoomulator = "Kim Simmons <zoomulator@gmail.com>";
 }
diff --git a/lib/modules.nix b/lib/modules.nix
index 071809daa58e..fa31ce6399ce 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -42,7 +42,7 @@ rec {
   closeModules = modules: args:
     let
       toClosureList = file: parentKey: imap (n: x:
-        if isAttrs x || builtins.isFunction x then
+        if isAttrs x || isFunction x then
           unifyModuleSyntax file "${parentKey}:anon-${toString n}" (applyIfFunction x args)
         else
           unifyModuleSyntax (toString x) (toString x) (applyIfFunction (import x) args));
@@ -74,7 +74,7 @@ rec {
         config = removeAttrs m ["key" "_file" "require" "imports"];
       };
 
-  applyIfFunction = f: arg: if builtins.isFunction f then f arg else f;
+  applyIfFunction = f: arg: if isFunction f then f arg else f;
 
   /* Merge a list of modules.  This will recurse over the option
      declarations in all modules, combining them into a single set.
@@ -260,7 +260,7 @@ rec {
       options' = opt.options or
         (throw "Option `${showOption loc'}' has type optionSet but has no option attribute.");
       coerce = x:
-        if builtins.isFunction x then x
+        if isFunction x then x
         else { config, ... }: { options = x; };
       options = map coerce (flatten options');
       f = tp:
diff --git a/lib/options.nix b/lib/options.nix
index 63798c4faa3b..71e02db58f69 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -34,12 +34,12 @@ rec {
   mergeDefaultOption = loc: defs:
     let list = getValues defs; in
     if length list == 1 then head list
-    else if all builtins.isFunction list then x: mergeDefaultOption loc (map (f: f x) list)
+    else if all isFunction list then x: mergeDefaultOption loc (map (f: f x) list)
     else if all isList list then concatLists list
     else if all isAttrs list then fold lib.mergeAttrs {} list
-    else if all builtins.isBool list then fold lib.or false list
-    else if all builtins.isString list then lib.concatStrings list
-    else if all builtins.isInt list && all (x: x == head list) list then head list
+    else if all isBool list then fold lib.or false list
+    else if all isString list then lib.concatStrings list
+    else if all isInt list && all (x: x == head list) list then head list
     else throw "Cannot merge definitions of `${showOption loc}' given in ${showFiles (getFiles defs)}.";
 
   /* Obsolete, will remove soon.  Specify an option type or apply
@@ -54,7 +54,7 @@ rec {
 
   mergeListOption = mergeTypedOption "list" isList concatLists;
 
-  mergeStringOption = mergeTypedOption "string" builtins.isString lib.concatStrings;
+  mergeStringOption = mergeTypedOption "string" isString lib.concatStrings;
 
   mergeOneOption = loc: defs:
     if defs == [] then abort "This case should never happen."
diff --git a/lib/platforms.nix b/lib/platforms.nix
index 8be37d7ed1e7..76df389deacd 100644
--- a/lib/platforms.nix
+++ b/lib/platforms.nix
@@ -2,9 +2,9 @@ let lists = import ./lists.nix; in
 
 rec {
   gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
-  linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
+  linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
   darwin = ["x86_64-darwin"];
-  freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"];
+  freebsd = ["i686-freebsd" "x86_64-freebsd"];
   openbsd = ["i686-openbsd" "x86_64-openbsd"];
   netbsd = ["i686-netbsd" "x86_64-netbsd"];
   cygwin = ["i686-cygwin"];
diff --git a/lib/strings.nix b/lib/strings.nix
index 024a9ac7d7a2..cd748f02cc63 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -7,7 +7,8 @@ inherit (builtins) add sub lessThan length;
 in
 
 rec {
-  inherit (builtins) stringLength substring head tail;
+
+  inherit (builtins) stringLength substring head tail isString;
 
 
   # Concatenate a list of strings.
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 8af3474f2a67..760a74ce6664 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -16,7 +16,7 @@ rec {
   or = x: y: x || y;
   and = x: y: x && y;
   mergeAttrs = x: y: x // y;
-  
+
   # Take a function and evaluate it with its own returned value.
   fix = f: let result = f result; in result;
 
@@ -26,7 +26,7 @@ rec {
   # `seq x y' evaluates x, then returns y.  That is, it forces strict
   # evaluation of its first argument.
   seq = x: y: if x == null then y else y;
-  
+
   # Like `seq', but recurses into lists and attribute sets to force evaluation
   # of all list elements/attributes.
   deepSeq = x: y:
@@ -35,4 +35,10 @@ rec {
     else if builtins.isAttrs x
       then deepSeqAttrs x y
       else seq x y;
+
+  # Pull in some builtins not included elsewhere.
+  inherit (builtins)
+    pathExists readFile isBool isFunction
+    isInt add sub lessThan;
+
 }
diff --git a/lib/types.nix b/lib/types.nix
index 09b29a762e1d..bdd21f123952 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -48,19 +48,19 @@ rec {
 
     bool = mkOptionType {
       name = "boolean";
-      check = builtins.isBool;
+      check = isBool;
       merge = loc: fold (x: y: x.value || y) false;
     };
 
     int = mkOptionType {
       name = "integer";
-      check = builtins.isInt;
+      check = isInt;
       merge = mergeOneOption;
     };
 
     str = mkOptionType {
       name = "string";
-      check = builtins.isString;
+      check = isString;
       merge = mergeOneOption;
     };
 
@@ -68,7 +68,7 @@ rec {
     # separator between the values).
     separatedString = sep: mkOptionType {
       name = "string";
-      check = builtins.isString;
+      check = isString;
       merge = loc: defs: concatStringsSep sep (getValues defs);
     };
 
@@ -170,7 +170,7 @@ rec {
 
     functionTo = elemType: mkOptionType {
       name = "function that evaluates to a(n) ${elemType.name}";
-      check = builtins.isFunction;
+      check = isFunction;
       merge = loc: defs:
         fnArgs: elemType.merge loc (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs);
       getSubOptions = elemType.getSubOptions;
@@ -183,10 +183,10 @@ rec {
       in
       mkOptionType rec {
         name = "submodule";
-        check = x: isAttrs x || builtins.isFunction x;
+        check = x: isAttrs x || isFunction x;
         merge = loc: defs:
           let
-            coerce = def: if builtins.isFunction def then def else { config = def; };
+            coerce = def: if isFunction def then def else { config = def; };
             modules = opts' ++ map (def: { _file = def.file; imports = [(coerce def.value)]; }) defs;
           in (evalModules { inherit modules; args.name = last loc; prefix = loc; }).config;
         getSubOptions = prefix: (evalModules
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index db3245fcc07d..6d5039e81778 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -1,6 +1,4 @@
-{ pkgs, options
-, revision ? "master"
-}:
+{ pkgs, options, version, revision }:
 
 with pkgs.lib;
 
@@ -60,6 +58,7 @@ in rec {
     buildCommand = ''
       ln -s $sources/*.xml . # */
       ln -s ${optionsDocBook} options-db.xml
+      echo "${version}" > version
 
       # Check the validity of the manual sources.
       xmllint --noout --nonet --xinclude --noxincludenode \
diff --git a/nixos/doc/manual/development.xml b/nixos/doc/manual/development.xml
index 6bbccac6e5c1..cbf7ff8902fc 100644
--- a/nixos/doc/manual/development.xml
+++ b/nixos/doc/manual/development.xml
@@ -652,6 +652,37 @@ $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/
     </listitem>
   </varlistentry>
 
+  <varlistentry>
+    <term><varname>systemd.units.<replaceable>unit-name</replaceable>.unit</varname></term>
+    <listitem>
+      <para>This builds the unit with the specified name.  Note that
+      since unit names contain dots
+      (e.g. <literal>httpd.service</literal>), you need to put them
+      between quotes, like this:
+
+<screen>
+$ nix-build -A 'config.systemd.units."httpd.service".unit'
+</screen>
+
+      You can also test individual units, without rebuilding the whole
+      system, by putting them in
+      <filename>/run/systemd/system</filename>:
+
+<screen>
+$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \
+    /run/systemd/system/tmp-httpd.service
+$ systemctl daemon-reload
+$ systemctl start tmp-httpd.service
+</screen>
+
+      Note that the unit must not have the same name as any unit in
+      <filename>/etc/systemd/system</filename> since those take
+      precedence over <filename>/run/systemd/system</filename>.
+      That’s why the unit is installed as
+      <filename>tmp-httpd.service</filename> here.</para>
+    </listitem>
+  </varlistentry>
+
 </variablelist>
 
 </para>
diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml
index 88ef589dd06a..70001577692e 100644
--- a/nixos/doc/manual/installation.xml
+++ b/nixos/doc/manual/installation.xml
@@ -369,9 +369,23 @@ $ nixos-rebuild build-vm
 $ ./result/bin/run-*-vm
 </screen>
 
-The VM does not have use any data from your host system, so your
-existing user accounts and home directories will not be
-available.</para>
+The VM does not have any data from your host system, so your existing
+user accounts and home directories will not be available.  You can
+forward ports on the host to the guest.  For instance, the following
+will forward host port 2222 to guest port 22 (SSH):
+
+<screen>
+$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm
+</screen>
+
+allowing you to log in via SSH (assuming you have set the appropriate
+passwords or SSH authorized keys):
+
+<screen>
+$ ssh -p 2222 localhost
+</screen>
+
+</para>
 
 </section>
 
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index dfbd865b505b..6e13281cbd94 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -5,6 +5,7 @@
   <info>
 
     <title>NixOS Manual</title>
+    <subtitle>Version <xi:include href="version" parse="text" /></subtitle>
 
     <author>
       <personname>
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index d20fbc1cc663..498c0a377836 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -68,8 +68,8 @@ rec {
                   # the first interface (i.e. the first network in its
                   # virtualisation.vlans option).
                   networking.extraHosts = flip concatMapStrings machines
-                    (m: let config = (getAttr m nodes).config; in
-                      optionalString (config.networking.primaryIPAddress != "")
+                    (m': let config = (getAttr m' nodes).config; in
+                      optionalString (m.first != m' && config.networking.primaryIPAddress != "")
                         ("${config.networking.primaryIPAddress} " +
                          "${config.networking.hostName}\n"));
 
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 5e1ce69158fd..4b8c7354a7ec 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -8,6 +8,7 @@
 , extraArgs ? {}
 , modules
 , check ? true
+, prefix ? []
 }:
 
 let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system; in
@@ -17,6 +18,7 @@ rec {
   # Merge the option definitions in all modules, forming the full
   # system configuration.
   inherit (pkgs.lib.evalModules {
+    inherit prefix;
     modules = modules ++ baseModules;
     args = extraArgs;
     check = check && options.environment.checkConfigurationOptions.value;
@@ -48,7 +50,7 @@ rec {
       let
         system = if nixpkgsOptions.system != "" then nixpkgsOptions.system else system_;
         nixpkgsOptions = (import ./eval-config.nix {
-          inherit system extraArgs modules;
+          inherit system extraArgs modules prefix;
           # For efficiency, leave out most NixOS modules; they don't
           # define nixpkgs.config, so it's pointless to evaluate them.
           baseModules = [ ../modules/misc/nixpkgs.nix ];
diff --git a/nixos/maintainers/scripts/ec2/create-ebs-amis.py b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
index 93971ac9504d..541eadd7b8c9 100755
--- a/nixos/maintainers/scripts/ec2/create-ebs-amis.py
+++ b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
@@ -16,7 +16,7 @@ parser.add_argument('--hvm', dest='hvm', action='store_true', help='Create HVM i
 parser.add_argument('--key', dest='key_name', action='store_true', help='Keypair used for HVM instance creation', default="rob")
 args = parser.parse_args()
 
-instance_type = "cc1.4xlarge" if args.hvm else "m1.small"
+instance_type = "m3.xlarge" if args.hvm else "m1.small"
 ebs_size = 8 if args.hvm else 20
 
 
@@ -67,12 +67,13 @@ m.run_command("mkdir -p /mnt/etc/nixos")
 m.run_command("nix-channel --add http://nixos.org/channels/nixos-unstable")
 m.run_command("nix-channel --update")
 m.run_command("nixos-rebuild switch")
-version = m.run_command("nixos-version", capture_stdout=True).replace('"', '').rstrip()
+version = m.run_command("nixos-version", capture_stdout=True).split(' ')[0]
 print >> sys.stderr, "NixOS version is {0}".format(version)
 m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix")
 m.run_command("nixos-install")
 if args.hvm:
-    m.run_command('cp /mnt/nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub')
+    m.run_command('nix-env -iA nixos.pkgs.grub')
+    m.run_command('cp /nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub')
     m.run_command('sed -i "s|hd0|hd0,0|" /mnt/boot/grub/menu.lst')
     m.run_command('echo "(hd1) /dev/xvdg" > device.map')
     m.run_command('echo -e "root (hd1,0)\nsetup (hd1)" | grub --device-map=device.map --batch')
@@ -98,7 +99,7 @@ def check():
 m.connect()
 volume = m._conn.get_all_volumes([], filters={'attachment.instance-id': m.resource_id, 'attachment.device': "/dev/sdg"})[0]
 if args.hvm:
-    instance = m._conn.run_instances( image_id="ami-6a9e4503"
+    instance = m._conn.run_instances( image_id="ami-5f491f36"
                                     , instance_type=instance_type
                                     , key_name=args.key_name
                                     , placement=m.zone
@@ -185,7 +186,7 @@ f.write(
     '''.format(args.region, ami_id, instance_type))
 f.close()
 
-test_depl = deployment.create_deployment(db)
+test_depl = db.create_deployment()
 test_depl.auto_response = "y"
 test_depl.name = "ebs-creator-test"
 test_depl.nix_exprs = [os.path.abspath("./ebs-test.nix")]
diff --git a/nixos/maintainers/scripts/ec2/create-s3-amis.sh b/nixos/maintainers/scripts/ec2/create-s3-amis.sh
index 1aaac2832394..140b4fcbddb8 100755
--- a/nixos/maintainers/scripts/ec2/create-s3-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-s3-amis.sh
@@ -1,9 +1,8 @@
 #! /bin/sh -e
 
-nixos=$(nix-instantiate --find-file nixos)
 export NIXOS_CONFIG=$(dirname $(readlink -f $0))/amazon-base-config.nix
 
-version=$(nix-instantiate --eval-only '<nixos>' -A config.system.nixosVersion | sed s/'"'//g)
+version=$(nix-instantiate --eval-only '<nixpkgs/nixos>' -A config.system.nixosVersion | sed s/'"'//g)
 echo "NixOS version is $version"
 
 buildAndUploadFor() {
@@ -11,13 +10,13 @@ buildAndUploadFor() {
     arch="$2"
 
     echo "building $system image..."
-    nix-build '<nixos>' \
+    nix-build '<nixpkgs/nixos>' \
         -A config.system.build.amazonImage --argstr system "$system" -o ec2-ami
 
     ec2-bundle-image -i ./ec2-ami/nixos.img --user "$AWS_ACCOUNT" --arch "$arch" \
         -c "$EC2_CERT" -k "$EC2_PRIVATE_KEY"
 
-    for region in eu-west-1 us-east-1 us-west-1 us-west-2; do
+    for region in eu-west-1; do
         echo "uploading $system image for $region..."
 
         name=nixos-$version-$arch-s3
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 7a6cc542273a..e7cbe7a28f36 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -131,7 +131,7 @@ in {
       users.extraGroups.pulse.gid = gid;
 
       systemd.services.pulseaudio = {
-        description = "PulseAudio system-wide server";
+        description = "PulseAudio System-Wide Server";
         wantedBy = [ "sound.target" ];
         before = [ "sound.target" ];
         path = [ cfg.package ];
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index e3fbdd7aaec1..0b4f75a35216 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -31,9 +31,9 @@ in
             res = (head defs').value;
           in
           if isList res then concatLists (getValues defs')
-          else if builtins.lessThan 1 (length defs') then
+          else if lessThan 1 (length defs') then
             throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
-          else if !builtins.isString res then
+          else if !isString res then
             throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
           else res;
       });
diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix
index 31441bad6157..8f9b31dccff3 100644
--- a/nixos/modules/config/sysctl.nix
+++ b/nixos/modules/config/sysctl.nix
@@ -6,7 +6,7 @@ let
 
   sysctlOption = mkOptionType {
     name = "sysctl option value";
-    check = x: builtins.isBool x || builtins.isString x || builtins.isInt x;
+    check = x: isBool x || isString x || isInt x;
     merge = args: defs: (last defs).value; # FIXME: hacky way to allow overriding in configuration.nix.
   };
 
@@ -46,7 +46,10 @@ in
         before = [ "sysinit.target" "shutdown.target" ];
         wantedBy = [ "sysinit.target" "multi-user.target" ];
         restartTriggers = [ config.environment.etc."sysctl.d/nixos.conf".source ];
-        unitConfig.DefaultDependencies = false; # needed to prevent a cycle
+        unitConfig = {
+          DefaultDependencies = false; # needed to prevent a cycle
+          ConditionPathIsReadWrite = "/proc/sys/"; # prevent systemd-sysctl in containers
+        };
         serviceConfig = {
           Type = "oneshot";
           RemainAfterExit = true;
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index fb8b0229c1da..714de646eb7a 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -188,6 +188,20 @@ in
       options = [ groupOpts ];
     };
 
+    security.initialRootPassword = mkOption {
+      type = types.str;
+      default = "";
+      example = "!";
+      description = ''
+        The (hashed) password for the root account set on initial
+        installation.  The empty string denotes that root can login
+        locally without a password (but not via remote services such
+        as SSH, or indirectly via <command>su</command> or
+        <command>sudo</command>).  The string <literal>!</literal>
+        prevents root from logging in using a password.
+      '';
+    };
+
   };
 
 
@@ -240,7 +254,23 @@ in
             # Can't use useradd, since it complains that it doesn't know us
             # (bootstrap problem!).
             echo "root:x:0:0:System administrator:$rootHome:${config.users.defaultUserShell}" >> /etc/passwd
-            echo "root::::::::" >> /etc/shadow
+            echo "root:${config.security.initialRootPassword}:::::::" >> /etc/shadow
+        fi
+      '';
+
+    # Print a reminder for users to set a root password.
+    environment.interactiveShellInit =
+      ''
+        if [ "$UID" = 0 ]; then
+            read _l < /etc/shadow
+            if [ "''${_l:0:6}" = root:: ]; then
+                cat >&2 <<EOF
+        Warning: Your root account has a null password, allowing local users
+        to login as root.  Please set a non-null password using \`passwd', or
+        disable password-based root logins using \`passwd -l'.
+        EOF
+            fi
+            unset _l
         fi
       '';
 
diff --git a/nixos/modules/hardware/network/b43.nix b/nixos/modules/hardware/network/b43.nix
index 8f45bd4d3f1a..03f81f92ef0b 100644
--- a/nixos/modules/hardware/network/b43.nix
+++ b/nixos/modules/hardware/network/b43.nix
@@ -1,4 +1,6 @@
-{pkgs, config, ...}:
+{ config, pkgs, ... }:
+
+with pkgs.lib;
 
 let kernelVersion = config.boot.kernelPackages.kernel.version; in
 
@@ -8,9 +10,9 @@ let kernelVersion = config.boot.kernelPackages.kernel.version; in
 
   options = {
 
-    networking.enableB43Firmware = pkgs.lib.mkOption {
+    networking.enableB43Firmware = mkOption {
       default = false;
-      type = pkgs.lib.types.bool;
+      type = types.bool;
       description = ''
         Turn on this option if you want firmware for the NICs supported by the b43 module.
       '';
@@ -21,11 +23,11 @@ let kernelVersion = config.boot.kernelPackages.kernel.version; in
 
   ###### implementation
 
-  config = pkgs.lib.mkIf config.networking.enableB43Firmware {
-    assertions = [ {
-      assertion = builtins.lessThan 0 (builtins.compareVersions kernelVersion "3.2");
-      message = "b43 firmware for kernels older than 3.2 not packaged yet!";
-    } ];
+  config = mkIf config.networking.enableB43Firmware {
+    assertions = singleton
+      { assertion = lessThan 0 (builtins.compareVersions kernelVersion "3.2");
+        message = "b43 firmware for kernels older than 3.2 not packaged yet!";
+      };
     hardware.firmware = [ pkgs.b43Firmware_5_1_138 ];
   };
 
diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix
index bcf3dbb3f735..9aca5b89d258 100644
--- a/nixos/modules/installer/cd-dvd/channel.nix
+++ b/nixos/modules/installer/cd-dvd/channel.nix
@@ -11,7 +11,7 @@ let
   # CD.  These are installed into the "nixos" channel of the root
   # user, as expected by nixos-rebuild/nixos-install.
   channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}"
-    { expr = builtins.readFile ../../../lib/channel-expr.nix; }
+    { expr = readFile ../../../lib/channel-expr.nix; }
     ''
       mkdir -p $out/nixos
       cp -prd ${pkgs.path} $out/nixos/nixpkgs
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 999871ab074f..1aba67dcd9e9 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -32,6 +32,12 @@ with pkgs.lib;
   # in the Nix store on the CD.
   isoImage.storeContents = [ pkgs.stdenv pkgs.busybox ];
 
+  # EFI booting
+  isoImage.makeEfiBootable = true;
+
   # Add Memtest86+ to the CD.
   boot.loader.grub.memtest86 = true;
+
+  # Get a console as soon as the initrd loads fbcon on EFI boot
+  boot.initrd.kernelModules = [ "fbcon" ];
 }
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-efi.nix b/nixos/modules/installer/cd-dvd/installation-cd-efi.nix
deleted file mode 100644
index 4aa788feeae5..000000000000
--- a/nixos/modules/installer/cd-dvd/installation-cd-efi.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, pkgs, ... }:
-
-{
-  # Move into base image once using 3.10 or later
-
-  require = [ ./installation-cd-minimal.nix ];
-
-  boot.kernelPackages = pkgs.linuxPackages_3_10;
-
-  # Get a console as soon as the initrd loads fbcon on EFI boot
-  boot.initrd.kernelModules = [ "fbcon" ];
-
-  isoImage.makeEfiBootable = true;
-}
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index b803a3f188b9..00a9e91c7338 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -44,31 +44,29 @@ let
 
 
   # The efi boot image
+  efiDir = pkgs.runCommand "efi-directory" {} ''
+    mkdir -p $out/efi/boot
+    cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/efi/boot/boot${targetArch}.efi
+    mkdir -p $out/loader/entries
+    echo "title NixOS LiveCD" > $out/loader/entries/nixos-livecd.conf
+    echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf
+    echo "initrd /boot/initrd" >> $out/loader/entries/nixos-livecd.conf
+    echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" >> $out/loader/entries/nixos-livecd.conf
+    echo "default nixos-livecd" > $out/loader/loader.conf
+    echo "timeout 5" >> $out/loader/loader.conf
+  '';
+
   efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools ]; }
     ''
       #Let's hope 10M is enough
       dd bs=2048 count=5120 if=/dev/zero of="$out"
       ${pkgs.dosfstools}/sbin/mkfs.vfat "$out"
-      mmd -i "$out" efi
-      mmd -i "$out" efi/boot
-      mmd -i "$out" efi/nixos
-      mmd -i "$out" loader
-      mmd -i "$out" loader/entries
-      mcopy -v -i "$out" \
-        ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi \
-        ::efi/boot/boot${targetArch}.efi
+      mcopy -svi "$out" ${efiDir}/* ::
+      mmd -i "$out" boot
       mcopy -v -i "$out" \
-        ${config.boot.kernelPackages.kernel}/bzImage ::bzImage
+        ${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage
       mcopy -v -i "$out" \
-        ${config.system.build.initialRamdisk}/initrd ::efi/nixos/initrd
-      echo "title NixOS LiveCD" > boot-params
-      echo "linux /bzImage" >> boot-params
-      echo "initrd /efi/nixos/initrd" >> boot-params
-      echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" >> boot-params
-      mcopy -v -i "$out" boot-params ::loader/entries/nixos-livecd.conf
-      echo "default nixos-livecd" > boot-params
-      echo "timeout 5" >> boot-params
-      mcopy -v -i "$out" boot-params ::loader/loader.conf
+        ${config.system.build.initialRamdisk}/initrd ::boot/initrd
     '';
 
   targetArch = if pkgs.stdenv.isi686 then
@@ -263,6 +261,12 @@ in
         { source = efiImg;
           target = "/boot/efi.img";
         }
+        { source = "${efiDir}/efi";
+          target = "/efi";
+        }
+        { source = "${efiDir}/loader";
+          target = "/loader";
+        }
       ] ++ mapAttrsToList (n: v: { source = v; target = "/boot/${n}"; }) config.boot.loader.grub.extraFiles;
 
     # The Grub menu.
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 0f9142990ec1..6b42058a8926 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -386,9 +386,6 @@ if ($showHardwareConfig) {
   boot.loader.grub.enable = false;
   boot.loader.gummiboot.enable = true;
   boot.loader.efi.canTouchEfiVariables = true;
-  # !!! Remove this when nixos is on 3.10 or greater by default
-  # EFI booting requires kernel >= 3.10
-  boot.kernelPackages = pkgs.linuxPackages_3_10;
 EOF
         } else {
             $bootLoaderConfig = <<EOF;
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index e3edc9dda6b6..ccd75d5b9158 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -106,6 +106,8 @@
       firebird = 95;
       redis = 96;
       haproxy = 97;
+      mongodb = 98;
+      openldap = 99;
 
       # When adding a uid, make sure it doesn't match an existing gid.
 
@@ -140,7 +142,7 @@
       tape = 25;
       video = 26;
       dialout = 27;
-      polkituser = 28;
+      #polkituser = 28; # currently unused, polkitd doesn't need a group
       utmp = 29;
       davfs2 = 31;
       privoxy = 32;
@@ -193,6 +195,7 @@
       amule = 90;
       minidlna = 91;
       haproxy = 92;
+      openldap = 93;
 
       # When adding a gid, make sure it doesn't match an existing uid.
 
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 2fa95563e9ab..ae9fb5fb2a0e 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -53,7 +53,7 @@ with pkgs.lib;
       mkDefault (if pathExists fn then readFile fn else "master");
 
     # Note: code names must only increase in alphabetical order.
-    system.nixosCodeName = "Aardvark";
+    system.nixosCodeName = "Baboon";
 
     # Generate /etc/os-release.  See
     # http://0pointer.de/public/systemd-man/os-release.html for the
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 8b76e1f21cba..078ea225e167 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -46,7 +46,6 @@
   ./programs/bash/command-not-found.nix
   ./programs/blcr.nix
   ./programs/environment.nix
-  ./programs/gurobi.nix
   ./programs/info.nix
   ./programs/shadow.nix
   ./programs/shell.nix
@@ -55,6 +54,7 @@
   ./programs/venus.nix
   ./programs/wvdial.nix
   ./programs/zsh/zsh.nix
+  ./programs/screen.nix
   ./rename.nix
   ./security/apparmor.nix
   ./security/apparmor-suid.nix
@@ -91,6 +91,7 @@
   ./services/databases/virtuoso.nix
   ./services/games/ghost-one.nix
   ./services/hardware/acpid.nix
+  ./services/hardware/amd-hybrid-graphics.nix
   ./services/hardware/bluetooth.nix
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
@@ -119,7 +120,6 @@
   ./services/misc/felix.nix
   ./services/misc/folding-at-home.nix
   ./services/misc/gpsd.nix
-  ./services/misc/gurobi.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
   ./services/misc/nixos-manual.nix
@@ -247,11 +247,11 @@
   ./system/boot/kexec.nix
   ./system/boot/loader/efi.nix
   ./system/boot/loader/generations-dir/generations-dir.nix
-  ./system/boot/loader/gummiboot/gummiboot.nix
-  ./system/boot/loader/raspberrypi/raspberrypi.nix
   ./system/boot/loader/grub/grub.nix
   ./system/boot/loader/grub/memtest.nix
+  ./system/boot/loader/gummiboot/gummiboot.nix
   ./system/boot/loader/init-script/init-script.nix
+  ./system/boot/loader/raspberrypi/raspberrypi.nix
   ./system/boot/luksroot.nix
   ./system/boot/modprobe.nix
   ./system/boot/shutdown.nix
@@ -275,8 +275,10 @@
   ./tasks/network-interfaces.nix
   ./tasks/scsi-link-power-management.nix
   ./tasks/swraid.nix
+  ./testing/service-runner.nix
+  ./virtualisation/containers.nix
   ./virtualisation/libvirtd.nix
   #./virtualisation/nova.nix
   ./virtualisation/virtualbox-guest.nix
-  ./virtualisation/xen-dom0.nix
+  #./virtualisation/xen-dom0.nix
 ]
diff --git a/nixos/modules/programs/gurobi.nix b/nixos/modules/programs/gurobi.nix
deleted file mode 100644
index 7fa099b0884f..000000000000
--- a/nixos/modules/programs/gurobi.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, ... }:
-
-with pkgs.lib;
-
-let
-  cfg = config.programs.gurobi;
-in {
-  options = {
-    programs.gurobi = {
-      license = mkOption {
-        default = null;
-
-        description = "Path to the Gurobi license file if not using a token server";
-
-        type = types.nullOr types.path;
-      };
-
-      tokenServerAddress = mkOption {
-        default = null;
-
-        description = "Address of the token server";
-
-        type = types.nullOr types.string;
-      };
-    };
-  };
-
-  config = mkIf (cfg.license != null || cfg.tokenServerAddress != null) {
-    assertions = [ {
-      assertion = cfg.license == null || cfg.tokenServerAddress == null;
-      message = "Please only set one of a gurobi license file and a gurobi token server address";
-    } ];
-
-    environment.variables.GRB_LICENSE_FILE = if cfg.license != null
-      then cfg.license
-      else pkgs.writeTextFile {
-        name = "gurobi-generated-license";
-        text = "TOKENSERVER=${cfg.tokenServerAddress}";
-      };
-
-    environment.systemPackages = [ pkgs.gurobi ];
-  };
-}
diff --git a/nixos/modules/programs/screen.nix b/nixos/modules/programs/screen.nix
new file mode 100644
index 000000000000..1c63ebe6a11e
--- /dev/null
+++ b/nixos/modules/programs/screen.nix
@@ -0,0 +1,30 @@
+{ config, pkgs, ... }:
+
+let
+  inherit (pkgs.lib) mkOption mkIf types;
+  cfg = config.programs.screen;
+in
+
+{
+  ###### interface
+
+  options = {
+    programs.screen = {
+
+      screenrc = mkOption {
+        default = "";
+        description = ''
+          The contents of /etc/screenrc file.
+        '';
+        type = types.lines;
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf (cfg.screenrc != "") {
+    environment.etc."screenrc".text = cfg.screenrc;
+  };
+
+}
diff --git a/nixos/modules/programs/venus.nix b/nixos/modules/programs/venus.nix
index 2b3bfbc6c188..7ab653dd19fd 100644
--- a/nixos/modules/programs/venus.nix
+++ b/nixos/modules/programs/venus.nix
@@ -40,7 +40,7 @@ in
       };
 
       dates = mkOption {
-        default = "*:0,15,30,45";
+        default = "*:0/15";
         type = types.string;
         description = ''
           Specification (in the format described by
@@ -161,13 +161,13 @@ in
       '';
 
     systemd.services.venus =
-      { description = "Planet Venus, an awesome ‘river of news’ feed reader";
+      { description = "Planet Venus Feed Reader";
         path  = [ pkgs.venus ];
         script = "exec venus-planet ${configFile}";
         serviceConfig.User = "${cfg.user}";
         serviceConfig.Group = "${cfg.group}";
         environment.OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
-        startOn = cfg.dates;
+        startAt = cfg.dates;
       };
 
   };
diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix
index cafa9f82d5e4..dbec4ad98d16 100644
--- a/nixos/modules/security/polkit.nix
+++ b/nixos/modules/security/polkit.nix
@@ -18,42 +18,32 @@ in
       description = "Whether to enable PolKit.";
     };
 
-    security.polkit.permissions = mkOption {
+    security.polkit.extraConfig = mkOption {
       type = types.lines;
       default = "";
       example =
         ''
-          [Disallow Users To Suspend]
-          Identity=unix-group:users
-          Action=org.freedesktop.upower.*
-          ResultAny=no
-          ResultInactive=no
-          ResultActive=no
-
-          [Allow Anybody To Eject Disks]
-          Identity=unix-user:*
-          Action=org.freedesktop.udisks.drive-eject
-          ResultAny=yes
-          ResultInactive=yes
-          ResultActive=yes
-
-          [Allow Alice To Mount Filesystems After Admin Authentication]
-          Identity=unix-user:alice
-          Action=org.freedesktop.udisks.filesystem-mount
-          ResultAny=auth_admin
-          ResultInactive=auth_admin
-          ResultActive=auth_admin
+          /* Log authorization checks. */
+          polkit.addRule(function(action, subject) {
+            polkit.log("user " +  subject.user + " is attempting action " + action.id + " from PID " + subject.pid);
+          });
+
+          /* Allow any local user to do anything (dangerous!). */
+          polkit.addRule(function(action, subject) {
+            if (subject.local) return "yes";
+          });
         '';
       description =
         ''
-          Allows the default permissions of privileged actions to be overridden.
+          Any polkit rules to be added to config (in JavaScript ;-). See:
+          http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html#polkit-rules
         '';
     };
 
     security.polkit.adminIdentities = mkOption {
-      type = types.str;
-      default = "unix-user:0;unix-group:wheel";
-      example = "";
+      type = types.listOf types.str;
+      default = [ "unix-user:0" "unix-group:wheel" ];
+      example = [ "unix-user:alice" "unix-group:admin" ];
       description =
         ''
           Specifies which users are considered “administrators”, for those
@@ -71,29 +61,20 @@ in
 
     environment.systemPackages = [ pkgs.polkit ];
 
-    # The polkit daemon reads action files
-    environment.pathsToLink = [ "/share/polkit-1/actions" ];
-
-    environment.etc =
-      [ # No idea what the "null backend" is, but it seems to need this.
-        { source = "${pkgs.polkit}/etc/polkit-1/nullbackend.conf.d";
-          target = "polkit-1/nullbackend.conf.d";
-        }
-
-        # This file determines what users are considered
-        # "administrators".
-        { source = pkgs.writeText "10-nixos.conf"
-            ''
-              [Configuration]
-              AdminIdentities=${cfg.adminIdentities}
-            '';
-          target = "polkit-1/localauthority.conf.d/10-nixos.conf";
-        }
-
-        { source = pkgs.writeText "org.nixos.pkla" cfg.permissions;
-          target = "polkit-1/localauthority/10-vendor.d/org.nixos.pkla";
-        }
-      ];
+    systemd.packages = [ pkgs.polkit ];
+
+    # The polkit daemon reads action/rule files
+    environment.pathsToLink = [ "/share/polkit-1" ];
+
+    # PolKit rules for NixOS.
+    environment.etc."polkit-1/rules.d/10-nixos.rules".text =
+      ''
+        polkit.addAdminRule(function(action, subject) {
+          return [${concatStringsSep ", " (map (i: "\"${i}\"") cfg.adminIdentities)}];
+        });
+
+        ${cfg.extraConfig}
+      ''; #TODO: validation on compilation (at least against typos)
 
     services.dbus.packages = [ pkgs.polkit ];
 
@@ -101,24 +82,31 @@ in
 
     security.setuidPrograms = [ "pkexec" ];
 
-    security.setuidOwners = singleton
+    security.setuidOwners = [
       { program = "polkit-agent-helper-1";
         owner = "root";
         group = "root";
         setuid = true;
-        source = "${pkgs.polkit}/libexec/polkit-1/polkit-agent-helper-1";
-      };
+        source = "${pkgs.polkit}/lib/polkit-1/polkit-agent-helper-1";
+      }
+    ];
 
     system.activationScripts.polkit =
       ''
-        mkdir -p /var/lib/polkit-1/localauthority
-        chmod 700 /var/lib/polkit-1{/localauthority,}
+        # Probably no more needed, clean up
+        rm -rf /var/lib/{polkit-1,PolicyKit}
 
         # Force polkitd to be restarted so that it reloads its
         # configuration.
         ${pkgs.procps}/bin/pkill -INT -u root -x polkitd
       '';
 
+    users.extraUsers.polkituser = {
+      description = "PolKit daemon";
+      uid = config.ids.uids.polkituser;
+    };
+
   };
 
 }
+
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index d021b8bd3ba9..c9a2ef4589bd 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -55,6 +55,7 @@ in
       { description = "Store Sound Card State";
         wantedBy = [ "multi-user.target" ];
         unitConfig.RequiresMountsFor = "/var/lib/alsa";
+        unitConfig.ConditionVirtualization = "!systemd-nspawn";
         serviceConfig = {
           Type = "oneshot";
           RemainAfterExit = true;
diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix
index d62994158939..213a60687b23 100644
--- a/nixos/modules/services/databases/mongodb.nix
+++ b/nixos/modules/services/databases/mongodb.nix
@@ -90,8 +90,9 @@ in
 
   config = mkIf config.services.mongodb.enable {
 
-    users.extraUsers = singleton
-      { name = cfg.user;
+    users.extraUsers.mongodb = mkIf (cfg.user == "mongodb")
+      { name = "mongodb";
+        uid = config.ids.uids.mongodb;
         description = "MongoDB server user";
       };
 
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index a4dd30be1fb7..0fc8b88c6526 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -26,6 +26,16 @@ in
         ";
       };
 
+      user = mkOption {
+        default = "openldap";
+        description = "User account under which slapd runs.";
+      };
+
+      group = mkOption {
+        default = "openldap";
+        description = "Group account under which slapd runs.";
+      };
+
       extraConfig = mkOption {
         default = "";
         description = "
@@ -49,10 +59,23 @@ in
       after = [ "network.target" ];
       preStart = ''
         mkdir -p /var/run/slapd
+        chown -R ${cfg.user}:${cfg.group} /var/run/slapd
+        mkdir -p /var/db/openldap
+        chown -R ${cfg.user}:${cfg.group} /var/db/openldap
       '';
-      serviceConfig.ExecStart = "${openldap}/libexec/slapd -d 0 -f ${configFile}";
+      serviceConfig.ExecStart = "${openldap}/libexec/slapd -u openldap -g openldap -d 0 -f ${configFile}";
     };
 
-  };
+    users.extraUsers = optionalAttrs (cfg.user == "openldap") (singleton
+      { name = "openldap";
+        group = "openldap";
+        uid = config.ids.uids.openldap;
+      });
+
+    users.extraGroups = optionalAttrs (cfg.group == "openldap") (singleton
+      { name = "openldap";
+        gid = config.ids.gids.openldap;
+     });
 
+  };
 }
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 73447e3cf0d8..1563858887e6 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -30,6 +30,7 @@ let
       hba_file = '${pkgs.writeText "pg_hba.conf" cfg.authentication}'
       ident_file = '${pkgs.writeText "pg_ident.conf" cfg.identMap}'
       log_destination = 'stderr'
+      port = ${toString cfg.port}
       ${cfg.extraConfig}
     '';
 
@@ -63,9 +64,9 @@ in
 
       port = mkOption {
         type = types.int;
-        default = "5432";
+        default = 5432;
         description = ''
-          Port for PostgreSQL.
+          The port on which PostgreSQL listens.
         '';
       };
 
@@ -105,7 +106,9 @@ in
         type = types.bool;
         default = false;
         description = ''
-          Whether to run PostgreSQL with -i flag to enable TCP/IP connections.
+          Whether PostgreSQL should listen on all network interfaces.
+          If disabled, the database can only be accessed via its Unix
+          domain socket or via TCP connections to localhost.
         '';
       };
 
@@ -181,8 +184,13 @@ in
             # Initialise the database.
             if ! test -e ${cfg.dataDir}; then
                 mkdir -m 0700 -p ${cfg.dataDir}
-                chown -R postgres ${cfg.dataDir}
-                su -s ${pkgs.stdenv.shell} postgres -c 'initdb -U root'
+                if [ "$(id -u)" = 0 ]; then
+                  chown -R postgres ${cfg.dataDir}
+                  su -s ${pkgs.stdenv.shell} postgres -c 'initdb -U root'
+                else
+                  # For non-root operation.
+                  initdb
+                fi
                 rm -f ${cfg.dataDir}/*.conf
                 touch "${cfg.dataDir}/.first_startup"
             fi
@@ -203,6 +211,7 @@ in
             # Shut down Postgres using SIGINT ("Fast Shutdown mode").  See
             # http://www.postgresql.org/docs/current/static/server-shutdown.html
             KillSignal = "SIGINT";
+            KillMode = "process"; # FIXME: this may cause processes to be left behind in the cgroup even after the final SIGKILL
 
             # Give Postgres a decent amount of time to clean up after
             # receiving systemd's SIGINT.
diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix
index adba6394dcf5..2329f38dfc25 100644
--- a/nixos/modules/services/hardware/acpid.nix
+++ b/nixos/modules/services/hardware/acpid.nix
@@ -110,6 +110,7 @@ in
 
         exec = "acpid --confdir ${acpiConfDir}";
 
+        unitConfig.ConditionVirtualization = "!systemd-nspawn";
         unitConfig.ConditionPathExists = [ "/proc/acpi" ];
       };
 
diff --git a/nixos/modules/services/hardware/amd-hybrid-graphics.nix b/nixos/modules/services/hardware/amd-hybrid-graphics.nix
new file mode 100644
index 000000000000..d938867186d0
--- /dev/null
+++ b/nixos/modules/services/hardware/amd-hybrid-graphics.nix
@@ -0,0 +1,39 @@
+{ config, pkgs, ... }:
+
+{
+
+  ###### interface
+
+  options = {
+
+    hardware.amdHybridGraphics.disable = pkgs.lib.mkOption {
+      default = false;
+      type = pkgs.lib.types.bool;
+      description = ''
+        Completely disable the AMD graphics card and use the
+        integrated graphics processor instead.
+      '';
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = pkgs.lib.mkIf config.hardware.amdHybridGraphics.disable {
+    systemd.services."amd-hybrid-graphics" = {
+      path = [ pkgs.bash ];
+      description = "Disable AMD Card";
+      after = [ "sys-kernel-debug.mount" ];
+      requires = [ "sys-kernel-debug.mount" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${pkgs.bash}/bin/sh -c 'echo -e \"IGD\\nOFF\" > /sys/kernel/debug/vgaswitcheroo/switch; exit 0'";
+        ExecStop = "${pkgs.bash}/bin/sh -c 'echo ON >/sys/kernel/debug/vgaswitcheroo/switch; exit 0'";
+      };
+    };
+  };
+
+}
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index b0714a3ce800..a70a66c2ba0b 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -28,7 +28,7 @@ with pkgs.lib;
     services.dbus.packages = [ pkgs.bluez ];
 
     systemd.services."dbus-org.bluez" = {
-      description = "Bluetooth service";
+      description = "Bluetooth Service";
       serviceConfig = {
         Type = "dbus";
         BusName = "org.bluez";
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 516569c02808..52b3ad435797 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -209,7 +209,7 @@ in
 
   ###### implementation
 
-  config = {
+  config = mkIf (!config.boot.isContainer) {
 
     services.udev.extraRules = nixosRules;
 
@@ -231,9 +231,16 @@ in
 
     boot.extraModprobeConfig = "options firmware_class path=${config.hardware.firmware}";
 
-    system.activationScripts.clearHotplug =
+    system.activationScripts.udevd =
       ''
         echo "" > /proc/sys/kernel/hotplug
+
+        # Regenerate the hardware database /var/lib/udev/hwdb.bin
+        # whenever systemd changes.
+        if [ ! -e /var/lib/udev/prev-systemd -o "$(readlink /var/lib/udev/prev-systemd)" != ${config.systemd.package} ]; then
+          echo "regenerating udev hardware database..."
+          ${config.systemd.package}/bin/udevadm hwdb --update && ln -sfn ${config.systemd.package} /var/lib/udev/prev-systemd
+        fi
       '';
 
   };
diff --git a/nixos/modules/services/logging/klogd.nix b/nixos/modules/services/logging/klogd.nix
index d7d0bbf89a54..36b530d0077e 100644
--- a/nixos/modules/services/logging/klogd.nix
+++ b/nixos/modules/services/logging/klogd.nix
@@ -32,6 +32,8 @@ with pkgs.lib;
 
         path = [ pkgs.sysklogd ];
 
+        unitConfig.ConditionVirtualization = "!systemd-nspawn";
+
         exec =
           "klogd -c 1 -2 -n " +
           "-k $(dirname $(readlink -f /run/booted-system/kernel))/System.map";
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index 79bdf4f7bbca..21128779e8f6 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -3,72 +3,8 @@
 with pkgs.lib;
 
 let
-
   cfg = config.services.logstash;
 
-  listToConfig = list: "[ " + (concatStringsSep ", " (map exprToConfig list)) + " ]";
-
-  hashToConfig = attrs:
-    let
-      attrNameToConfigList = name:
-        [ (exprToConfig name)  (exprToConfig (getAttr name attrs)) ];
-    in
-      "[ " +
-      (concatStringsSep ", " (map attrNameToConfigList (attrNames attrs))) +
-      " ]";
-
-  valueToConfig = nvpair: let name = nvpair.name; value = nvpair.value; in
-    if (isAttrs value) && ((!(value ? __type)) || value.__type == "repeated")
-      then ''
-        ${name} {
-          ${exprToConfig value}
-        }
-      ''
-      else "${name} => ${exprToConfig value}";
-
-  repeatedAttrsToConfig = values:
-      concatStringsSep "\n" (map valueToConfig values);
-
-  attrsToConfig = attrs:
-    let
-      attrToConfig = name: valueToConfig {
-        inherit name;
-        value = (getAttr name attrs);
-      };
-    in
-      concatStringsSep "\n" (map attrToConfig (attrNames attrs));
-
-  exprToConfig = expr:
-    let
-      isCustomType = expr: (isAttrs expr) && (expr ? __type);
-
-      isFloat = expr: (isCustomType expr) && (expr.__type == "float");
-
-      isHash = expr: (isCustomType expr) && (expr.__type == "hash");
-
-      isRepeatedAttrs = expr: (isCustomType expr) && (expr.__type == "repeated");
-    in
-      if builtins.isBool expr then (if expr then "true" else "false") else
-      if builtins.isString expr then ''"${expr}"'' else
-      if builtins.isInt expr then toString expr else
-      if isFloat expr then expr.value else
-      if isList expr then listToConfig expr else
-      if isHash expr then hashToConfig expr.value else
-      if isRepeatedAttrs expr then repeatedAttrsToConfig expr.values
-      else attrsToConfig expr;
-
-  mergeConfigs = configs:
-    let
-      op = attrs: newAttrs:
-        let
-          isRepeated = newAttrs ? __type && newAttrs.__type == "repeated";
-        in {
-            values = attrs.values ++ (if isRepeated then newAttrs.values else
-              map (name: { inherit name; value = getAttr name newAttrs; })
-              (attrNames newAttrs));
-          };
-    in (foldl op { values = []; } configs) // { __type = "repeated"; };
-
 in
 
 {
@@ -78,48 +14,45 @@ in
     services.logstash = {
       enable = mkOption {
         default = false;
-        description = ''
-          Enable logstash.
-        '';
+        description = "Enable logstash";
       };
 
       inputConfig = mkOption {
-        default = {};
-        description = ''
-          An attribute set (or an expression generated by mkNameValuePairs)
-          representing a logstash configuration's input section.
-          Logstash configs are name-value pairs, where values can be bools,
-          strings, numbers, arrays, hashes, or other name-value pairs,
-          and names are strings that can be repeated. Name-value pairs with no
-          repeats are represented by attr sets. Bools, strings, ints, and
-          arrays are mapped directly. Name-value pairs with repeats can be
-          generated by the config.lib.logstash.mkNameValuePairs function, which
-          takes a list of attrsets and combines them while preserving attribute
-          name duplicates if they occur. Similarly, there are the mkFloat and
-          mkHash functions, which take a string representation of a float and an
-          attrset, respectively.
+        default = ''stdin { type => "example" }'';
+        description = "Logstash input configuration";
+        example = ''
+          # Read from journal
+          pipe {
+            command => "${pkgs.systemd}/bin/journalctl -f -o json"
+            type => "syslog" codec => json {}
+          }
         '';
-        apply = mergeConfigs;
       };
 
       filterConfig = mkOption {
-        default = {};
-        description = ''
-          An attribute set (or an expression generated by mkNameValuePairs)
-          representing a logstash configuration's filter section.
-          See inputConfig description for details.
+        default = ''noop {}'';
+        description = "logstash filter configuration";
+        example = ''
+          if [type] == "syslog" {
+            # Keep only relevant systemd fields
+            # http://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html
+            prune {
+              whitelist_names => [
+                "type", "@timestamp", "@version",
+                "MESSAGE", "PRIORITY", "SYSLOG_FACILITY",
+              ]
+            }
+          }
         '';
-        apply = mergeConfigs;
       };
 
       outputConfig = mkOption {
-        default = {};
-        description = ''
-          An attribute set (or an expression generated by mkNameValuePairs)
-          representing a logstash configuration's output section.
-          See inputConfig description for details.
+        default = ''stdout { debug => true debug_format => "json"}'';
+        description = "Logstash output configuration";
+        example = ''
+          redis { host => "localhost" data_type => "list" key => "logstash" codec => json }
+          elasticsearch { embedded => true }
         '';
-        apply = mergeConfigs;
       };
     };
   };
@@ -127,35 +60,26 @@ in
 
   ###### implementation
 
-  config = mkMerge [ {
-    lib.logstash = {
-      mkFloat = stringRep: { __type = "float"; value = stringRep; };
-
-      mkHash = attrs: { __type = "hash"; value = attrs; };
-
-      mkNameValuePairs = mergeConfigs;
-    };
-  } ( mkIf cfg.enable {
+  config = mkIf cfg.enable {
     systemd.services.logstash = with pkgs; {
       description = "Logstash daemon";
-
       wantedBy = [ "multi-user.target" ];
 
-      path = [ jre ];
-
-      script = "cd /tmp && exec java -jar ${logstash} agent -f ${writeText "logstash.conf" ''
-        input {
-          ${exprToConfig cfg.inputConfig}
-        }
+      serviceConfig = {
+        ExecStart = "${jre}/bin/java -jar ${logstash} agent -f ${writeText "logstash.conf" ''
+          input {
+            ${cfg.inputConfig}
+          }
 
-        filter {
-          ${exprToConfig cfg.filterConfig}
-        }
+          filter {
+            ${cfg.filterConfig}
+          }
 
-        output {
-          ${exprToConfig cfg.outputConfig}
-        }
-      ''} &> /var/log/logstash.log";
+          output {
+            ${cfg.outputConfig}
+          }
+        ''}";
+      };
     };
-  })];
+  };
 }
diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix
index 6419e6f8fc7b..82526b154e7a 100644
--- a/nixos/modules/services/misc/disnix.nix
+++ b/nixos/modules/services/misc/disnix.nix
@@ -15,6 +15,7 @@ let
     enablePostgreSQLDatabase = config.services.postgresql.enable;
     enableSubversionRepository = config.services.svnserve.enable;
     enableTomcatWebApplication = config.services.tomcat.enable;
+    enableMongoDatabase = config.services.mongodb.enable;
   });
 in
 
@@ -110,7 +111,7 @@ in
         // optionalAttrs (config.services.tomcat.enable) { tomcatPort = 8080; }
         // optionalAttrs (config.services.svnserve.enable) { svnBaseDir = config.services.svnserve.svnBaseDir; }
         // optionalAttrs (cfg.publishInfrastructure.enableAuthentication) (
-          optionalAttrs (config.services.mysql.enable) { mysqlUsername = "root"; mysqlPassword = builtins.readFile config.services.mysql.rootPassword; })
+          optionalAttrs (config.services.mysql.enable) { mysqlUsername = "root"; mysqlPassword = readFile config.services.mysql.rootPassword; })
         )
     ;
 
@@ -125,17 +126,18 @@ in
             ++ optional config.services.httpd.enable "httpd.service"
             ++ optional config.services.mysql.enable "mysql.service"
             ++ optional config.services.tomcat.enable "tomcat.service"
-            ++ optional config.services.svnserve.enable "svnserve.service";
+            ++ optional config.services.svnserve.enable "svnserve.service"
+            ++ optional config.services.mongodb.enable "mongodb.service";
 
           restartIfChanged = false;
           
-          path = [ pkgs.nix pkgs.disnix ];
-        
-          script =
-          ''
-            export HOME=/root
-            disnix-service --dysnomia-modules-dir=${dysnomia}/libexec/dysnomia
-          '';
+          path = [ pkgs.nix pkgs.disnix pkgs.dysnomia ];
+          
+          environment = {
+            HOME = "/root";
+          };
+
+          exec = "disnix-service";
         };
     } // optionalAttrs cfg.publishAvahi {
       disnixAvahi =
@@ -150,7 +152,7 @@ in
               ${concatMapStrings (infrastructureAttrName:
                 let infrastructureAttrValue = getAttr infrastructureAttrName (cfg.infrastructure);
                 in
-                if builtins.isInt infrastructureAttrValue then
+                if isInt infrastructureAttrValue then
                 ''${infrastructureAttrName}=${toString infrastructureAttrValue} \
                 ''
                 else
diff --git a/nixos/modules/services/misc/gurobi.nix b/nixos/modules/services/misc/gurobi.nix
deleted file mode 100644
index 9cd76a1e78f7..000000000000
--- a/nixos/modules/services/misc/gurobi.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, ... }:
-
-with pkgs.lib;
-
-let
-  cfg = config.services.gurobi.tokenServer;
-in {
-  options = {
-    services.gurobi.tokenServer = {
-      enable = mkOption {
-        default = false;
-
-        description = "Whether to enable the Gurobi token server";
-
-        type = types.bool;
-      };
-
-      license = mkOption {
-        description = "Path to the Gurobi license file";
-
-        type = types.path;
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    systemd.services.gurobi-token-server = {
-      description = "Gurobi token server";
-
-      wantedBy = [ "multi-user.target" ];
-
-      environment.GRB_LICENSE_FILE = cfg.license;
-
-      serviceConfig = {
-        ExecStart = "${pkgs.gurobi}/bin/grb_ts";
-
-        Type = "forking";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 1707828d0db6..cca42aa11009 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -279,6 +279,7 @@ in
       { description = "Nix Daemon Socket";
         wantedBy = [ "sockets.target" ];
         before = [ "multi-user.target" ];
+        unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket/";
         socketConfig.ListenStream = "/nix/var/nix/daemon-socket/socket";
       };
 
@@ -290,6 +291,8 @@ in
 
         environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; };
 
+        unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket/";
+
         serviceConfig =
           { ExecStart = "@${nix}/bin/nix-daemon nix-daemon --daemon";
             KillMode = "process";
@@ -331,10 +334,8 @@ in
       ''
         # Set up secure multi-user builds: non-root users build through the
         # Nix daemon.
-        if test "$USER" != root; then
+        if [ "$USER" != root -o ! -w /nix/var/nix/db ]; then
             export NIX_REMOTE=daemon
-        else
-            export NIX_REMOTE=
         fi
       '';
 
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 885b8fa2d0ca..1a8b85db3290 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -23,6 +23,7 @@ let
 
   manual = import ../../../doc/manual {
     inherit pkgs;
+    version = config.system.nixosVersion;
     revision = config.system.nixosRevision;
     options = eval.options;
   };
diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix
index 114bad5c947e..58ec8a49694b 100644
--- a/nixos/modules/services/monitoring/apcupsd.nix
+++ b/nixos/modules/services/monitoring/apcupsd.nix
@@ -148,7 +148,7 @@ in
     #   wall: cannot get tty name: Inappropriate ioctl for device
     # The message still gets through.
     systemd.services.apcupsd = {
-      description = "APC UPS daemon";
+      description = "APC UPS Daemon";
       wantedBy = [ "multi-user.target" ];
       preStart = "mkdir -p /run/apcupsd/";
       serviceConfig = {
@@ -172,7 +172,7 @@ in
       before = [ "final.target" ];
       wantedBy = [ "shutdown.target" ];
       unitConfig = {
-        Description = "APC UPS killpower";
+        Description = "APC UPS Kill Power";
         ConditionPathExists = "/run/apcupsd/powerfail";
         DefaultDependencies = "no";
       };
diff --git a/nixos/modules/services/monitoring/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent.nix
index f99114ac9ad7..37ce1c099df9 100644
--- a/nixos/modules/services/monitoring/dd-agent.nix
+++ b/nixos/modules/services/monitoring/dd-agent.nix
@@ -62,6 +62,8 @@ in {
         ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground";
         User = "dd-agent";
         Group = "dd-agent";
+        Restart = "always";
+        RestartSec = 2;
       };
       restartTriggers = [ pkgs.dd-agent datadog_conf ];
     };
@@ -76,6 +78,8 @@ in {
         Group = "dd-agent";
         Type = "forking";
         PIDFile = "/tmp/dogstatsd.pid";
+        Restart = "always";
+        RestartSec = 2;
       };
       restartTriggers = [ pkgs.dd-agent datadog_conf ];
     };
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index 08e6ef662cc3..be57b8c5c03f 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -15,6 +15,7 @@ let
     PYTHONPATH = "${pkgs.python27Packages.carbon}/lib/python2.7/site-packages";
     GRAPHITE_ROOT = dataDir;
     GRAPHITE_CONF_DIR = "/etc/graphite/";
+    GRAPHITE_STORAGE_DIR = dataDir;
   };
 
 in {
@@ -171,7 +172,7 @@ in {
     ];
 
     systemd.services.carbonCache = mkIf cfg.carbon.enableCache {
-      description = "Graphite data storage backend";
+      description = "Graphite Data Storage Backend";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
       environment = carbonEnv;
@@ -189,7 +190,7 @@ in {
     };
 
     systemd.services.carbonAggregator = mkIf cfg.carbon.enableAggregator {
-      description = "Carbon data aggregator";
+      description = "Carbon Data Aggregator";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
       environment = carbonEnv;
@@ -200,7 +201,7 @@ in {
     };
 
     systemd.services.carbonRelay = mkIf cfg.carbon.enableRelay {
-      description = "Carbon data relay";
+      description = "Carbon Data Relay";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
       environment = carbonEnv;
@@ -211,7 +212,7 @@ in {
     };
 
     systemd.services.graphiteWeb = mkIf cfg.web.enable {
-      description = "Graphite web interface";
+      description = "Graphite Web Interface";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
       environment = {
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix
index 42d5f61af308..153f49429029 100644
--- a/nixos/modules/services/monitoring/munin.nix
+++ b/nixos/modules/services/monitoring/munin.nix
@@ -182,7 +182,7 @@ in
   }) (mkIf nodeCfg.enable {
 
     systemd.services.munin-node = {
-      description = "Munin node, the agent process";
+      description = "Munin Node";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       path = [ pkgs.munin ];
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index e18d9d7b67b5..4f6fce6cd52e 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -57,7 +57,7 @@ let
   nssModulesPath = config.system.nssModules.path;
 
   daemonService = appName: args:
-    { description = "Samba Service daemon ${appName}";
+    { description = "Samba Service Daemon ${appName}";
 
       wantedBy = [ "samba.target" ];
       partOf = [ "samba.target" ];
@@ -211,7 +211,7 @@ in
 
         systemd = {
           targets.samba = {
-            description = "Samba server";
+            description = "Samba Server";
             requires = [ "samba-setup.service" ];
             after = [ "samba-setup.service" "network.target" ];
             wantedBy = [ "multi-user.target" ];
@@ -222,7 +222,7 @@ in
             "samba-smbd" = daemonService "smbd" "-F";
             "samba-winbindd" = daemonService "winbindd" "-F";
             "samba-setup" = {
-              description = "Samba setup task";
+              description = "Samba Setup Task";
               script = setupScript;
               unitConfig.RequiresMountsFor = "/home/smbd /var/samba /var/log/samba";
             };
diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix
index 07b5606eacaa..ea263b3c89de 100644
--- a/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixos/modules/services/networking/dhcpcd.nix
@@ -114,6 +114,8 @@ in
 
         path = [ dhcpcd pkgs.nettools pkgs.openresolv ];
 
+        unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
         serviceConfig =
           { Type = "forking";
             PIDFile = "/run/dhcpcd.pid";
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index ad6f9858aaf6..62bf38e4e708 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -21,7 +21,7 @@ let
     level=WARN
   '';
 
-  polkitConf = ''
+  /*
     [network-manager]
     Identity=unix-group:networkmanager
     Action=org.freedesktop.NetworkManager.*
@@ -35,6 +35,17 @@ let
     ResultAny=yes
     ResultInactive=no
     ResultActive=yes
+  */
+  polkitConf = ''
+    polkit.addRule(function(action, subject) {
+      if (
+        subject.isInGroup("networkmanager")
+        && subject.active
+        && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0
+            || action.id.indexOf("org.freedesktop.ModemManager.")  == 0
+        ))
+          { return polkit.Result.YES; }
+    });
   '';
 
   ipUpScript = writeScript "01nixos-ip-up" ''
@@ -44,15 +55,19 @@ let
     fi
   '';
 
+  ns = xs: writeText "nameservers" (
+    concatStrings (map (s: "nameserver ${s}\n") xs)
+  );
+
   overrideNameserversScript = writeScript "02overridedns" ''
     #!/bin/sh
-    ${optionalString cfg.overrideNameservers "${gnused}/bin/sed -i '/nameserver /d' /etc/resolv.conf"}
-    ${concatStrings (map (s: ''
-      ${optionalString cfg.appendNameservers
-        "${gnused}/bin/sed -i '/nameserver ${s}/d' /etc/resolv.conf"
-      }
-      echo 'nameserver ${s}' >> /etc/resolv.conf
-    '') config.networking.nameservers)}
+    tmp=`${coreutils}/bin/mktemp`
+    ${gnused}/bin/sed '/nameserver /d' /etc/resolv.conf > $tmp
+    ${gnugrep}/bin/grep 'nameserver ' /etc/resolv.conf | \
+      ${gnugrep}/bin/grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns
+    ${optionalString (cfg.appendNameservers != []) "${coreutils}/bin/cat $tmp $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf"}
+    ${optionalString (cfg.insertNameservers != []) "${coreutils}/bin/cat $tmp ${ns cfg.insertNameservers} $tmp.ns > /etc/resolv.conf"}
+    ${coreutils}/bin/rm -f $tmp $tmp.ns
   '';
 
 in {
@@ -84,23 +99,21 @@ in {
         apply = list: [ networkmanager modemmanager wpa_supplicant ] ++ list;
       };
 
-      overrideNameservers = mkOption {
-        default = false;
+      appendNameservers = mkOption {
+        type = types.listOf types.string;
+        default = [];
         description = ''
-          If enabled, any nameservers received by DHCP or configured in
-          NetworkManager will be replaced by the nameservers configured
-          in the <literal>networking.nameservers</literal> option. This
-          option overrides the <literal>appendNameservers</literal> option
-          if both are enabled.
+          A list of name servers that should be appended
+          to the ones configured in NetworkManager or received by DHCP.
         '';
       };
 
-      appendNameservers = mkOption {
-        default = false;
+      insertNameservers = mkOption {
+        type = types.listOf types.string;
+        default = [];
         description = ''
-          If enabled, the name servers configured in the
-          <literal>networking.nameservers</literal> option will be appended
-          to the ones configured in NetworkManager or received by DHCP.
+          A list of name servers that should be inserted before
+          the ones configured in NetworkManager or received by DHCP.
         '';
       };
 
@@ -133,7 +146,7 @@ in {
       { source = "${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name";
         target = "NetworkManager/VPN/nm-openconnect-service.name";
       }
-    ] ++ pkgs.lib.optional (cfg.overrideNameservers || cfg.appendNameservers)
+    ] ++ pkgs.lib.optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
            { source = overrideNameserversScript;
              target = "NetworkManager/dispatcher.d/02overridedns";
            };
@@ -179,7 +192,7 @@ in {
       systemctl restart NetworkManager
     '';
 
-    security.polkit.permissions = polkitConf;
+    security.polkit.extraConfig = polkitConf;
 
     # openvpn plugin has only dbus interface
     services.dbus.packages = cfg.packages ++ [
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 7a2335847e3a..85b6ab1efecf 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -19,7 +19,7 @@ let
 
   knownHostsFile = pkgs.writeText "ssh_known_hosts" (
     flip concatMapStrings knownHosts (h:
-      "${concatStringsSep "," h.hostNames} ${builtins.readFile h.publicKeyFile}"
+      "${concatStringsSep "," h.hostNames} ${readFile h.publicKeyFile}"
     )
   );
 
@@ -59,7 +59,7 @@ let
       mode = "0444";
       source = pkgs.writeText "${u.name}-authorized_keys" ''
         ${concatStringsSep "\n" u.openssh.authorizedKeys.keys}
-        ${concatMapStrings (f: builtins.readFile f + "\n") u.openssh.authorizedKeys.keyFiles}
+        ${concatMapStrings (f: readFile f + "\n") u.openssh.authorizedKeys.keyFiles}
       '';
     };
     usersWithKeys = attrValues (flip filterAttrs config.users.extraUsers (n: u:
diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix
index 0a6355e6ff17..1c77cc6df4ea 100644
--- a/nixos/modules/services/networking/vsftpd.nix
+++ b/nixos/modules/services/networking/vsftpd.nix
@@ -24,6 +24,7 @@ let
     cfgText = "${vsftpdName}=${if getAttr nixosName cfg then "YES" else "NO"}";
 
     nixosOption = {
+      type = types.bool;
       name = nixosName;
       value = mkOption {
         inherit description default;
@@ -33,27 +34,26 @@ let
   };
 
   optionDescription = [
-
     (yesNoOption "anonymousUser" "anonymous_enable" false ''
-     Whether to enable the anonymous FTP user.
+      Whether to enable the anonymous FTP user.
     '')
     (yesNoOption "localUsers" "local_enable" false ''
-     Whether to enable FTP for local users.
+      Whether to enable FTP for local users.
     '')
     (yesNoOption "writeEnable" "write_enable" false ''
-    Whether any write activity is permitted to users.
+      Whether any write activity is permitted to users.
     '')
     (yesNoOption "anonymousUploadEnable" "anon_upload_enable" false ''
-    Whether any uploads are permitted to anonymous users.
+      Whether any uploads are permitted to anonymous users.
     '')
     (yesNoOption "anonymousMkdirEnable" "anon_mkdir_write_enable" false ''
-    Whether any uploads are permitted to anonymous users.
+      Whether any uploads are permitted to anonymous users.
     '')
     (yesNoOption "chrootlocalUser" "chroot_local_user" false ''
-    Whether local users are confined to their home directory.
+      Whether local users are confined to their home directory.
     '')
     (yesNoOption "userlistEnable" "userlist_enable" false ''
-    Whether users are included.
+      Whether users are included.
     '')
     (yesNoOption "userlistDeny" "userlist_deny" false ''
       Specifies whether <option>userlistFile</option> is a list of user
@@ -61,35 +61,37 @@ let
       The default <literal>false</literal> means whitelist/allow.
     '')
     (yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" false ''
-    Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
-    must use a secure SSL connection to send a password.
+      Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
+      must use a secure SSL connection to send a password.
     '')
     (yesNoOption "forceLocalDataSSL" "force_local_data_ssl" false ''
-    Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
-    must use a secure SSL connection for sending/receiving data on data connection.
+      Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
+      must use a secure SSL connection for sending/receiving data on data connection.
     '')
     (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  '' '')
     (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '')
     (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '')
+  ];
 
-    {
-      cfgText = if cfg.rsaCertFile == null then ""
-        else ''
+  configFile = pkgs.writeText "vsftpd.conf"
+    ''
+      ${concatMapStrings (x: "${x.cfgText}\n") optionDescription}
+      ${optionalString (cfg.rsaCertFile != null) ''
         ssl_enable=YES
         rsa_cert_file=${cfg.rsaCertFile}
-      '';
-
-      nixosOption = {
-        name = "rsaCertFile";
-        value = mkOption {
-          default = null;
-          description = ''
-            rsa certificate file.
-          '';
-        };
-      };
-    }
-    ];
+      ''}
+      ${optionalString (cfg.userlistFile != null) ''
+        userlist_file=${cfg.userlistFile}
+      ''}
+      background=YES
+      listen=YES
+      nopriv_user=vsftpd
+      secure_chroot_dir=/var/empty
+      syslog_enable=YES
+      ${optionalString (pkgs.stdenv.system == "x86_64-linux") ''
+        seccomp_sandbox=NO
+      ''}
+    '';
 
 in
 
@@ -108,10 +110,7 @@ in
 
       userlist = mkOption {
         default = [];
-
-        description = ''
-          See <option>userlistFile</option>.
-        '';
+        description = "See <option>userlistFile</option>.";
       };
 
       userlistFile = mkOption {
@@ -127,13 +126,20 @@ in
       };
 
       anonymousUserHome = mkOption {
+        type = types.path;
         default = "/home/ftp/";
-	description = ''
-	  Directory to consider the HOME of the anonymous user.
-	'';
+        description = ''
+          Directory to consider the HOME of the anonymous user.
+        '';
+      };
+
+      rsaCertFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "RSA certificate file.";
       };
 
-    } // (listToAttrs (catAttrs "nixosOption" optionDescription)) ;
+    } // (listToAttrs (catAttrs "nixosOption" optionDescription));
 
   };
 
@@ -142,14 +148,12 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = [
-      {
-        assertion =
+    assertions = singleton
+      { assertion =
               (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null)
           &&  (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null);
         message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!";
-      }
-    ];
+      };
 
     users.extraUsers =
       [ { name = "vsftpd";
@@ -157,7 +161,7 @@ in
           description = "VSFTPD user";
           home = "/homeless-shelter";
         }
-      ] ++ pkgs.lib.optional cfg.anonymousUser
+      ] ++ optional cfg.anonymousUser
         { name = "ftp";
           uid = config.ids.uids.ftp;
           group = "ftp";
@@ -165,41 +169,27 @@ in
           home = cfg.anonymousUserHome;
         };
 
-    users.extraGroups = singleton
-      { name = "ftp";
-        gid = config.ids.gids.ftp;
-      };
+    users.extraGroups.ftp.gid = config.ids.gids.ftp;
 
     # If you really have to access root via FTP use mkOverride or userlistDeny
     # = false and whitelist root
     services.vsftpd.userlist = if cfg.userlistDeny then ["root"] else [];
 
-    environment.etc."vsftpd.conf".text =
-      concatMapStrings (x: "${x.cfgText}\n") optionDescription
-      + ''
-      ${if cfg.userlistFile == null then ""
-        else "userlist_file=${cfg.userlistFile}"}
-      background=NO
-      listen=YES
-      nopriv_user=vsftpd
-      secure_chroot_dir=/var/empty
-    '';
-
-    jobs.vsftpd =
-      { description = "vsftpd server";
+    systemd.services.vsftpd =
+      { description = "Vsftpd Server";
 
-        startOn = "started network-interfaces";
-        stopOn = "stopping network-interfaces";
+        wantedBy = [ "multi-user.target" ];
 
         preStart =
-          ''
-            ${if cfg.anonymousUser then ''
+          optionalString cfg.anonymousUser
+            ''
               mkdir -p -m 555 ${cfg.anonymousUserHome}
               chown -R ftp:ftp ${cfg.anonymousUserHome}
-            '' else ""}
-          '';
+            '';
 
-        exec = "${vsftpd}/sbin/vsftpd /etc/vsftpd.conf";
+        serviceConfig.ExecStart = "@${vsftpd}/sbin/vsftpd vsftpd ${configFile}";
+        serviceConfig.Restart = "always";
+        serviceConfig.Type = "forking";
       };
 
   };
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 951cef3eac07..56ae399c9011 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -149,7 +149,7 @@ in
       ''
         LogLevel info
 
-        SystemGroup root
+        SystemGroup root wheel
 
         Listen localhost:631
         Listen /var/run/cups/cups.sock
diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix
index 0c0811ca6e0e..fda29ca0482b 100644
--- a/nixos/modules/services/scheduling/fcron.nix
+++ b/nixos/modules/services/scheduling/fcron.nix
@@ -8,11 +8,14 @@ let
 
   queuelen = if cfg.queuelen == null then "" else "-q ${toString cfg.queuelen}";
 
+  # Duplicate code, also found in cron.nix. Needs deduplication.
   systemCronJobs =
     ''
       SHELL=${pkgs.bash}/bin/bash
       PATH=${config.system.path}/bin:${config.system.path}/sbin
-      MAILTO="${config.services.cron.mailto}"
+      ${optionalString (config.services.cron.mailto != null) ''
+        MAILTO="${config.services.cron.mailto}"
+      ''}
       NIX_CONF_DIR=/etc/nix
       ${pkgs.lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
     '';
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index 9d345e30361e..b3d934862abf 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -91,7 +91,7 @@ in {
         target = "elasticsearch/logging.yml"; }
     ];
 
-    systemd.services.elasticsearch = mkIf cfg.enable {
+    systemd.services.elasticsearch = {
       description = "Elasticsearch daemon";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 063332d48628..68f9b0647c0e 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -15,7 +15,7 @@ let
   toOption = x:
     if x == true then "true"
     else if x == false then "false"
-    else if builtins.isInt x then toString x
+    else if isInt x then toString x
     else toString ''\"${x}\"'';
 
   # All lines in settings.json end with a ',' (comma), except for the last
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index d21b6da0e772..cdb42fa7308a 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -17,8 +17,8 @@ let
   getPort = cfg: if cfg.port != 0 then cfg.port else if cfg.enableSSL then 443 else 80;
 
   extraModules = attrByPath ["extraModules"] [] mainCfg;
-  extraForeignModules = filter builtins.isAttrs extraModules;
-  extraApacheModules = filter (x: !(builtins.isAttrs x)) extraModules; # I'd prefer using builtins.isString here, but doesn't exist yet
+  extraForeignModules = filter isAttrs extraModules;
+  extraApacheModules = filter isString extraModules;
 
 
   makeServerInfo = cfg: {
@@ -628,10 +628,10 @@ in
         preStart =
           ''
             mkdir -m 0750 -p ${mainCfg.stateDir}
-            chown root.${mainCfg.group} ${mainCfg.stateDir}
+            [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir}
             ${optionalString version24 ''
               mkdir -m 0750 -p "${mainCfg.stateDir}/runtime"
-              chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime"
+              [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime"
             ''}
             mkdir -m 0700 -p ${mainCfg.logDir}
 
@@ -659,6 +659,7 @@ in
         serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}";
         serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop";
         serviceConfig.Type = "forking";
+        serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid";
         serviceConfig.Restart = "always";
       };
 
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
index dcc05b03891b..f1b5b675161b 100644
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
@@ -72,11 +72,11 @@ let
 
   # Unpack Mediawiki and put the config file in its root directory.
   mediawikiRoot = pkgs.stdenv.mkDerivation rec {
-    name= "mediawiki-1.20.5";
+    name= "mediawiki-1.20.7";
 
     src = pkgs.fetchurl {
       url = "http://download.wikimedia.org/mediawiki/1.20/${name}.tar.gz";
-      sha256 = "0ix6khrilfdncjqnh41xjs0bd49i1q0rywycjaixjfpwj6vjbqbl";
+      sha256 = "0cdl2mq3nw1jymanlxn7pi3qbf5y5003q53kmc8dip73nvrwnfxm";
     };
 
     skins = config.skins;
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index b26af1aa7445..4a1b6de2873f 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -4,7 +4,7 @@ with pkgs.lib;
 
 let
   cfg = config.services.nginx;
-  nginx = pkgs.nginx.override { fullWebDAV = cfg.fullWebDAV; };
+  nginx = cfg.package;
   configFile = pkgs.writeText "nginx.conf" ''
     user ${cfg.user} ${cfg.group};
     daemon off;
@@ -22,6 +22,13 @@ in
         ";
       };
 
+      package = mkOption {
+        default = pkgs.nginx;
+        description = "
+          Nginx package to use.
+        ";
+      };
+
       config = mkOption {
         default = "events {}";
         description = "
@@ -46,10 +53,6 @@ in
         description = "Group account under which nginx runs.";
       };
 
-      fullWebDAV = mkOption {
-        default = false;
-        description = "Compile in a third party module providing full WebDAV support";
-      };
     };
 
   };
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index ab3ced4c9e2c..035b23b4e1bb 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -17,7 +17,7 @@ in
   # Note: the order in which desktop manager modules are imported here
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if KDE is enabled, it supersedes xterm.
-  imports = [ ./none.nix ./xterm.nix ./xfce.nix ./gnome.nix ./kde4.nix ./e17.nix ];
+  imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ];
 
   options = {
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
deleted file mode 100644
index b0212446ad36..000000000000
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ config, pkgs, ... }:
-
-with pkgs.lib;
-
-let
-
-  cfg = config.services.xserver.desktopManager.gnome;
-  gnome = pkgs.gnome;
-
-in
-
-{
-
-  options = {
-
-    services.xserver.desktopManager.gnome.enable = mkOption {
-      default = false;
-      example = true;
-      description = "Enable a gnome terminal as a desktop manager.";
-    };
-
-  };
-
-  config = mkIf cfg.enable {
-
-    services.xserver.desktopManager.session = singleton
-      { name = "gnome";
-        start = ''
-          ${gnome.gnometerminal}/bin/gnome-terminal -ls &
-          waitPID=$!
-        '';
-      };
-
-    environment.systemPackages =
-      [ gnome.gnometerminal
-        gnome.GConf
-        gnome.gconfeditor
-      ];
-
-  };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 8199829ef90f..d20010c70a61 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -72,6 +72,7 @@ in
         pkgs.xfce.thunar_volman
         pkgs.xfce.gvfs
         pkgs.xfce.xfce4_appfinder
+        pkgs.xfce.tumbler
       ]
       ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager;
 
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index c4fce3706dcd..80f559bddc4d 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -44,7 +44,9 @@ let
         # since presumably the desktop environment will handle these.
         if [ -z "$_INHIBITION_LOCK_TAKEN" ]; then
           export _INHIBITION_LOCK_TAKEN=1
-          exec ${config.systemd.package}/bin/systemd-inhibit --what=handle-lid-switch:handle-power-key "$0" "$sessionType"
+          if ! ${config.systemd.package}/bin/loginctl show-session $XDG_SESSION_ID | grep -q '^RemoteHost='; then
+            exec ${config.systemd.package}/bin/systemd-inhibit --what=handle-lid-switch:handle-power-key "$0" "$sessionType"
+          fi
         fi
 
       ''}
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index 5884e9aa31c8..91e01f2e30b1 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -57,6 +57,13 @@ let cfg = config.services.xserver.synaptics; in
         description = "Whether to enable tap buttons.";
       };
 
+      buttonsMap = mkOption {
+        default = [1 2 3];
+        example = [1 3 2];
+        description = "Remap touchpad buttons.";
+        apply = map toString;
+      };
+
       palmDetect = mkOption {
         default = false;
         example = true;
@@ -104,10 +111,13 @@ let cfg = config.services.xserver.synaptics; in
           Option "MinSpeed" "${cfg.minSpeed}"
           Option "MaxSpeed" "${cfg.maxSpeed}"
           Option "AccelFactor" "${cfg.accelFactor}"
-          Option "TapButton1" "${if cfg.tapButtons then "1" else "0"}"
-          Option "TapButton2" "${if cfg.tapButtons then "2" else "0"}"
-          Option "TapButton3" "${if cfg.tapButtons then "3" else "0"}"
           ${if cfg.tapButtons then "" else ''Option "MaxTapTime" "0"''}
+          Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}"
+          Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}"
+          Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}"
+          Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}"
+          Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}"
+          Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}"
           Option "VertTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}"
           Option "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}"
           Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}"
diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix
index ab05639aeca6..72ecb8fe2fd7 100644
--- a/nixos/modules/services/x11/terminal-server.nix
+++ b/nixos/modules/services/x11/terminal-server.nix
@@ -17,27 +17,17 @@ let
       #! ${pkgs.stdenv.shell}
       export XKB_BINDIR=${pkgs.xorg.xkbcomp}/bin
       export XORG_DRI_DRIVER_PATH=${pkgs.mesa}/lib/dri
-      exec ${pkgs.xorg.xorgserver}/bin/Xvfb "$@" -xkbdir "${pkgs.xkeyboard_config}/etc/X11/xkb"
+      exec ${pkgs.xorg.xorgserver}/bin/Xvfb "$@" -xkbdir ${pkgs.xkeyboard_config}/etc/X11/xkb
     '';
 
-  # ‘xinetd’ is insanely braindamaged in that it sends stderr to
-  # stdout.  Thus requires just about any xinetd program to be
-  # wrapped to redirect its stderr.  Sigh.
-  x11vncWrapper = pkgs.writeScriptBin "x11vnc-wrapper"
-    ''
-      #! ${pkgs.stdenv.shell}
-      export PATH=${makeSearchPath "bin" [ xvfbWrapper pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash ]}:$PATH
-      export FD_GEOM=1024x786x24
-      exec ${pkgs.x11vnc}/bin/x11vnc -inetd -display WAIT:1024x786:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ssl SAVE 2> /var/log/x11vnc.log
-    '';
-
-in 
+in
 
 {
 
   config = {
-  
+
     services.xserver.enable = true;
+    services.xserver.videoDrivers = [];
 
     # Enable KDM.  Any display manager will do as long as it supports XDMCP.
     services.xserver.displayManager.kdm.enable = true;
@@ -52,13 +42,38 @@ in
         Xaccess=${pkgs.writeText "Xaccess" "localhost"}
       '';
 
-    services.xinetd.enable = true;
-    services.xinetd.services = singleton
-      { name = "x11vnc";
-        port = 5900;
-        unlisted = true;
-        user = "root";
-        server = "${x11vncWrapper}/bin/x11vnc-wrapper";
+    networking.firewall.allowedTCPPorts = [ 5900 ];
+
+    systemd.sockets.terminal-server =
+      { description = "Terminal Server Socket";
+        wantedBy = [ "sockets.target" ];
+        before = [ "multi-user.target" ];
+        socketConfig.Accept = true;
+        socketConfig.ListenStream = 5900;
+      };
+
+    systemd.services."terminal-server@" =
+      { description = "Terminal Server";
+
+        path =
+          [ xvfbWrapper pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
+            pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash
+          ];
+
+        environment.FD_GEOM = "1024x786x24";
+        environment.FD_XDMCP_IF = "127.0.0.1";
+        #environment.FIND_DISPLAY_OUTPUT = "/tmp/foo"; # to debug the "find display" script
+
+        serviceConfig =
+          { StandardInput = "socket";
+            StandardOutput = "socket";
+            StandardError = "journal";
+            ExecStart = "@${pkgs.x11vnc}/bin/x11vnc x11vnc -inetd -display WAIT:1024x786:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ssl SAVE";
+            # Don't kill the X server when the user quits the VNC
+            # connection.  FIXME: the X server should run in a
+            # separate systemd session.
+            KillMode = "process";
+          };
       };
 
   };
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index da94f7cad53a..0253c70f2dd4 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -343,6 +343,18 @@ in
         '';
       };
 
+      serverFlagsSection = mkOption {
+        default = "";
+        example =
+          ''
+          Option "BlankTime" "0"
+          Option "StandbyTime" "0"
+          Option "SuspendTime" "0"
+          Option "OffTime" "0"
+          '';
+        description = "Contents of the ServerFlags section of the X server configuration file.";
+      };
+
       moduleSection = mkOption {
         type = types.lines;
         default = "";
@@ -586,6 +598,7 @@ in
       ''
         Section "ServerFlags"
           Option "AllowMouseOpenFail" "on"
+          ${cfg.serverFlagsSection}
         EndSection
 
         Section "Module"
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index e012c977164e..1545bcb8a1f9 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -71,7 +71,7 @@ in
 
             ${
               let
-                set' = mapAttrs (n: v: if builtins.isString v then noDepEntry v else v) set;
+                set' = mapAttrs (n: v: if isString v then noDepEntry v else v) set;
                 withHeadlines = addAttributeName set';
               in textClosureMap id (withHeadlines) (attrNames withHeadlines)
             }
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index ada961316755..d9891f434cc8 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -34,16 +34,24 @@ let
     in ''
       mkdir $out
 
-      if [ ! -f ${kernelPath} ]; then
-        echo "The bootloader cannot find the proper kernel image."
-        echo "(Expecting ${kernelPath})"
-        false
-      fi
+      # Containers don't have their own kernel or initrd.  They boot
+      # directly into stage 2.
+      ${optionalString (!config.boot.isContainer) ''
+        if [ ! -f ${kernelPath} ]; then
+          echo "The bootloader cannot find the proper kernel image."
+          echo "(Expecting ${kernelPath})"
+          false
+        fi
 
-      ln -s ${kernelPath} $out/kernel
-      ln -s ${config.system.modulesTree} $out/kernel-modules
+        ln -s ${kernelPath} $out/kernel
+        ln -s ${config.system.modulesTree} $out/kernel-modules
 
-      ln -s ${config.system.build.initialRamdisk}/initrd $out/initrd
+        echo -n "$kernelParams" > $out/kernel-params
+
+        ln -s ${config.system.build.initialRamdisk}/initrd $out/initrd
+
+        ln -s ${config.hardware.firmware} $out/firmware
+      ''}
 
       echo "$activationScript" > $out/activate
       substituteInPlace $out/activate --subst-var out
@@ -56,9 +64,7 @@ let
       ln -s ${config.system.build.etc}/etc $out/etc
       ln -s ${config.system.path} $out/sw
       ln -s "$systemd" $out/systemd
-      ln -s ${config.hardware.firmware} $out/firmware
 
-      echo -n "$kernelParams" > $out/kernel-params
       echo -n "$configurationName" > $out/configuration-name
       echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version
       echo -n "$nixosVersion" > $out/nixos-version
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 006909fbd0c8..ee2f5e9b4f61 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -145,7 +145,7 @@ in
 
   ###### implementation
 
-  config = {
+  config = mkIf (!config.boot.isContainer) {
 
     system.build = { inherit kernel; };
 
@@ -230,9 +230,10 @@ in
       { description = "Load Kernel Modules";
         wantedBy = [ "sysinit.target" "multi-user.target" ];
         before = [ "sysinit.target" "shutdown.target" ];
+        conflicts = [ "shutdown.target" ];
         unitConfig =
-          { DefaultDependencies = "no";
-            Conflicts = "shutdown.target";
+          { DefaultDependencies = false;
+            ConditionCapability = "CAP_SYS_MODULE";
           };
         serviceConfig =
           { Type = "oneshot";
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 8b3923e30a05..ef6ff71ed778 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -44,7 +44,7 @@ in
     boot.loader.grub = {
 
       enable = mkOption {
-        default = true;
+        default = !config.boot.isContainer;
         type = types.bool;
         description = ''
           Whether to enable the GNU GRUB boot loader.
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index 39928da8d190..027a7ac99d51 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -66,7 +66,7 @@ with pkgs.lib;
 
   ###### implementation
 
-  config = {
+  config = mkIf (!config.boot.isContainer) {
 
     environment.etc = singleton
       { source = pkgs.writeText "modprobe.conf"
diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix
index ad71a2e816e3..44cadcd64a76 100644
--- a/nixos/modules/system/boot/shutdown.nix
+++ b/nixos/modules/system/boot/shutdown.nix
@@ -6,20 +6,20 @@ with pkgs.lib;
 
   # This unit saves the value of the system clock to the hardware
   # clock on shutdown.
-  systemd.units."save-hwclock.service" =
-    { wantedBy = [ "shutdown.target" ];
-
-      text =
-        ''
-          [Unit]
-          Description=Save Hardware Clock
-          DefaultDependencies=no
-          Before=shutdown.target
-
-          [Service]
-          Type=oneshot
-          ExecStart=${pkgs.utillinux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}
-        '';
+  systemd.services.save-hwclock =
+    { description = "Save Hardware Clock";
+
+      wantedBy = [ "shutdown.target" ];
+
+      unitConfig = {
+        DefaultDependencies = false;
+        ConditionVirtualization = "!systemd-nspawn";
+      };
+
+      serviceConfig = {
+        Type = "oneshot";
+        ExecStart = "${pkgs.utillinux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}";
+      };
     };
 
   boot.kernel.sysctl."kernel.poweroff_cmd" = "${config.systemd.package}/sbin/poweroff";
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index b2b662803728..8ed3aecb6911 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -328,7 +328,12 @@ in
 
   };
 
-  config = {
+  config = mkIf (!config.boot.isContainer) {
+
+    assertions = singleton
+      { assertion = any (fs: fs.mountPoint == "/") (attrValues config.fileSystems);
+        message = "The ‘fileSystems’ option does not specify your root file system.";
+      };
 
     system.build.bootStage1 = bootStage1;
     system.build.initialRamdisk = initialRamdisk;
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index a1faea886f98..c0518599f17a 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -14,6 +14,18 @@ let
     in if errors == [] then true
        else builtins.trace (concatStringsSep "\n" errors) false;
 
+  unitOption = mkOptionType {
+    name = "systemd option";
+    merge = loc: defs:
+      let
+        defs' = filterOverrides defs;
+        defs'' = getValues defs';
+      in
+        if isList (head defs'')
+        then concatLists defs''
+        else mergeOneOption loc defs';
+  };
+
 in rec {
 
   unitOptions = {
@@ -37,7 +49,7 @@ in rec {
 
     requires = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         Start the specified units when this unit is started, and stop
         this unit when the specified units are stopped or fail.
@@ -46,7 +58,7 @@ in rec {
 
     wants = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         Start the specified units when this unit is started.
       '';
@@ -54,7 +66,7 @@ in rec {
 
     after = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         If the specified units are started at the same time as
         this unit, delay this unit until they have started.
@@ -63,7 +75,7 @@ in rec {
 
     before = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         If the specified units are started at the same time as
         this unit, delay them until this unit has started.
@@ -72,7 +84,7 @@ in rec {
 
     bindsTo = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         Like ‘requires’, but in addition, if the specified units
         unexpectedly disappear, this unit will be stopped as well.
@@ -81,7 +93,7 @@ in rec {
 
     partOf = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         If the specified units are stopped or restarted, then this
         unit is stopped or restarted as well.
@@ -90,7 +102,7 @@ in rec {
 
     conflicts = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = ''
         If the specified units are started, then this unit is stopped
         and vice versa.
@@ -99,20 +111,20 @@ in rec {
 
     requiredBy = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = "Units that require (i.e. depend on and need to go down with) this unit.";
     };
 
     wantedBy = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       description = "Units that want (i.e. depend on) this unit.";
     };
 
     unitConfig = mkOption {
       default = {};
       example = { RequiresMountsFor = "/data"; };
-      type = types.attrs;
+      type = types.attrsOf unitOption;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Unit]</literal> section of the unit.  See
@@ -137,7 +149,7 @@ in rec {
 
     environment = mkOption {
       default = {};
-      type = types.attrs;
+      type = types.attrs; # FIXME
       example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
       description = "Environment variables passed to the service's processes.";
     };
@@ -159,7 +171,7 @@ in rec {
         { StartLimitInterval = 10;
           RestartSec = 5;
         };
-      type = types.addCheck types.attrs checkService;
+      type = types.addCheck (types.attrsOf unitOption) checkService;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Service]</literal> section of the unit.  See
@@ -169,7 +181,7 @@ in rec {
     };
 
     script = mkOption {
-      type = types.str;
+      type = types.lines;
       default = "";
       description = "Shell commands executed as the service's main process.";
     };
@@ -181,7 +193,7 @@ in rec {
     };
 
     preStart = mkOption {
-      type = types.string;
+      type = types.lines;
       default = "";
       description = ''
         Shell commands executed before the service's main process
@@ -190,7 +202,7 @@ in rec {
     };
 
     postStart = mkOption {
-      type = types.string;
+      type = types.lines;
       default = "";
       description = ''
         Shell commands executed after the service's main process
@@ -198,8 +210,16 @@ in rec {
       '';
     };
 
+    preStop = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        Shell commands executed to stop the service.
+      '';
+    };
+
     postStop = mkOption {
-      type = types.string;
+      type = types.lines;
       default = "";
       description = ''
         Shell commands executed after the service's main process
@@ -252,7 +272,7 @@ in rec {
 
     listenStreams = mkOption {
       default = [];
-      type = types.listOf types.string;
+      type = types.listOf types.str;
       example = [ "0.0.0.0:993" "/run/my-socket" ];
       description = ''
         For each item in this list, a <literal>ListenStream</literal>
@@ -263,7 +283,7 @@ in rec {
     socketConfig = mkOption {
       default = {};
       example = { ListenStream = "/run/my-socket"; };
-      type = types.attrs;
+      type = types.attrsOf unitOption;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Socket]</literal> section of the unit.  See
@@ -280,7 +300,7 @@ in rec {
     timerConfig = mkOption {
       default = {};
       example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
-      type = types.attrs;
+      type = types.attrsOf unitOption;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Timer]</literal> section of the unit.  See
@@ -328,7 +348,7 @@ in rec {
     mountConfig = mkOption {
       default = {};
       example = { DirectoryMode = "0775"; };
-      type = types.attrs;
+      type = types.attrsOf unitOption;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Mount]</literal> section of the unit.  See
@@ -352,7 +372,7 @@ in rec {
     automountConfig = mkOption {
       default = {};
       example = { DirectoryMode = "0775"; };
-      type = types.attrs;
+      type = types.attrsOf unitOption;
       description = ''
         Each attribute in this set specifies an option in the
         <literal>[Automount]</literal> section of the unit.  See
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index c1fb2c45165c..75c2c788f384 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -160,16 +160,48 @@ let
   };
 
   serviceConfig = { name, config, ... }: {
-    config = {
-      # Default path for systemd services.  Should be quite minimal.
-      path =
-        [ pkgs.coreutils
-          pkgs.findutils
-          pkgs.gnugrep
-          pkgs.gnused
-          systemd
-        ];
-    };
+    config = mkMerge
+      [ { # Default path for systemd services.  Should be quite minimal.
+          path =
+            [ pkgs.coreutils
+              pkgs.findutils
+              pkgs.gnugrep
+              pkgs.gnused
+              systemd
+            ];
+          environment.PATH = config.path;
+        }
+        (mkIf (config.preStart != "")
+          { serviceConfig.ExecStartPre = makeJobScript "${name}-pre-start" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.preStart}
+            '';
+          })
+        (mkIf (config.script != "")
+          { serviceConfig.ExecStart = makeJobScript "${name}-start" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.script}
+            '' + " " + config.scriptArgs;
+          })
+        (mkIf (config.postStart != "")
+          { serviceConfig.ExecStartPost = makeJobScript "${name}-post-start" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.postStart}
+            '';
+          })
+        (mkIf (config.preStop != "")
+          { serviceConfig.ExecStop = makeJobScript "${name}-pre-stop" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.preStop}
+            '';
+          })
+        (mkIf (config.postStop != "")
+          { serviceConfig.ExecStopPost = makeJobScript "${name}-post-stop" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.postStop}
+            '';
+          })
+      ];
   };
 
   mountConfig = { name, config, ... }: {
@@ -223,41 +255,10 @@ let
           ${attrsToSection def.unitConfig}
 
           [Service]
-          Environment=PATH=${def.path}
-          Environment=LD_LIBRARY_PATH=
           ${let env = cfg.globalEnvironment // def.environment;
             in concatMapStrings (n: "Environment=\"${n}=${getAttr n env}\"\n") (attrNames env)}
           ${optionalString (!def.restartIfChanged) "X-RestartIfChanged=false"}
           ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
-
-          ${optionalString (def.preStart != "") ''
-            ExecStartPre=${makeJobScript "${name}-pre-start" ''
-              #! ${pkgs.stdenv.shell} -e
-              ${def.preStart}
-            ''}
-          ''}
-
-          ${optionalString (def.script != "") ''
-            ExecStart=${makeJobScript "${name}-start" ''
-              #! ${pkgs.stdenv.shell} -e
-              ${def.script}
-            ''} ${def.scriptArgs}
-          ''}
-
-          ${optionalString (def.postStart != "") ''
-            ExecStartPost=${makeJobScript "${name}-post-start" ''
-              #! ${pkgs.stdenv.shell} -e
-              ${def.postStart}
-            ''}
-          ''}
-
-          ${optionalString (def.postStop != "") ''
-            ExecStopPost=${makeJobScript "${name}-post-stop" ''
-              #! ${pkgs.stdenv.shell} -e
-              ${def.postStop}
-            ''}
-          ''}
-
           ${attrsToSection def.serviceConfig}
         '';
     };
@@ -311,8 +312,6 @@ let
         '';
     };
 
-  nixosUnits = mapAttrsToList makeUnit cfg.units;
-
   units = pkgs.runCommand "units" { preferLocalBuild = true; }
     ''
       mkdir -p $out
@@ -338,7 +337,7 @@ let
         done
       done
 
-      for i in ${toString nixosUnits}; do
+      for i in ${toString (mapAttrsToList (n: v: v.unit) cfg.units)}; do
         ln -s $i/* $out/
       done
 
@@ -348,14 +347,14 @@ let
 
       ${concatStrings (mapAttrsToList (name: unit:
           concatMapStrings (name2: ''
-            mkdir -p $out/${name2}.wants
-            ln -sfn ../${name} $out/${name2}.wants/
+            mkdir -p $out/'${name2}.wants'
+            ln -sfn '../${name}' $out/'${name2}.wants'/
           '') unit.wantedBy) cfg.units)}
 
       ${concatStrings (mapAttrsToList (name: unit:
           concatMapStrings (name2: ''
-            mkdir -p $out/${name2}.requires
-            ln -sfn ../${name} $out/${name2}.requires/
+            mkdir -p $out/'${name2}.requires'
+            ln -sfn '../${name}' $out/'${name2}.requires'/
           '') unit.requiredBy) cfg.units)}
 
       ln -s ${cfg.defaultUnit} $out/default.target
@@ -387,32 +386,41 @@ in
       description = "Definition of systemd units.";
       default = {};
       type = types.attrsOf types.optionSet;
-      options = {
-        text = mkOption {
-          type = types.str;
-          description = "Text of this systemd unit.";
-        };
-        enable = mkOption {
-          default = true;
-          type = types.bool;
-          description = ''
-            If set to false, this unit will be a symlink to
-            /dev/null. This is primarily useful to prevent specific
-            template instances (e.g. <literal>serial-getty@ttyS0</literal>)
-            from being started.
-          '';
+      options = { name, config, ... }:
+        { options = {
+            text = mkOption {
+              type = types.str;
+              description = "Text of this systemd unit.";
+            };
+            enable = mkOption {
+              default = true;
+              type = types.bool;
+              description = ''
+                If set to false, this unit will be a symlink to
+                /dev/null. This is primarily useful to prevent specific
+                template instances (e.g. <literal>serial-getty@ttyS0</literal>)
+                from being started.
+              '';
+            };
+            requiredBy = mkOption {
+              default = [];
+              type = types.listOf types.string;
+              description = "Units that require (i.e. depend on and need to go down with) this unit.";
+            };
+            wantedBy = mkOption {
+              default = [];
+              type = types.listOf types.string;
+              description = "Units that want (i.e. depend on) this unit.";
+            };
+            unit = mkOption {
+              internal = true;
+              description = "The generated unit.";
+            };
+          };
+          config = {
+            unit = makeUnit name config;
+          };
         };
-        requiredBy = mkOption {
-          default = [];
-          type = types.listOf types.string;
-          description = "Units that require (i.e. depend on and need to go down with) this unit.";
-        };
-        wantedBy = mkOption {
-          default = [];
-          type = types.listOf types.string;
-          description = "Units that want (i.e. depend on) this unit.";
-        };
-      };
     };
 
     systemd.packages = mkOption {
@@ -486,6 +494,16 @@ in
       '';
     };
 
+    systemd.extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      example = "DefaultLimitCORE=infinity";
+      description = ''
+        Extra config options for systemd. See man systemd-system.conf for
+        available options.
+      '';
+    };
+
     services.journald.console = mkOption {
       default = "";
       type = types.str;
@@ -516,9 +534,19 @@ in
       '';
     };
 
+    services.journald.extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      example = "Storage=volatile";
+      description = ''
+        Extra config options for systemd-journald. See man journald.conf
+        for available options.
+      '';
+    };
+
     services.logind.extraConfig = mkOption {
       default = "";
-      type = types.str;
+      type = types.lines;
       example = "HandleLidSwitch=ignore";
       description = ''
         Extra config options for systemd-logind. See man logind.conf for
@@ -555,6 +583,7 @@ in
     environment.etc."systemd/system.conf".text =
       ''
         [Manager]
+        ${config.systemd.extraConfig}
       '';
 
     environment.etc."systemd/journald.conf".text =
@@ -566,6 +595,7 @@ in
           ForwardToConsole=yes
           TTYPath=${config.services.journald.console}
         ''}
+        ${config.services.journald.extraConfig}
       '';
 
     environment.etc."systemd/logind.conf".text =
@@ -585,13 +615,6 @@ in
         mkdir -p /var/log/journal
         chmod 0755 /var/log/journal
 
-        # Regenerate the hardware database /var/lib/udev/hwdb.bin
-        # whenever systemd changes.
-        if [ ! -e /var/lib/udev/prev-systemd -o "$(readlink /var/lib/udev/prev-systemd)" != ${systemd} ]; then
-          echo "regenerating udev hardware database..."
-          ${systemd}/bin/udevadm hwdb --update && ln -sfn ${systemd} /var/lib/udev/prev-systemd
-        fi
-
         # Make all journals readable to users in the wheel and adm
         # groups, in addition to those in the systemd-journal group.
         # Users can always read their own journals.
diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix
index ce36a8bab096..705ec93a1360 100644
--- a/nixos/modules/tasks/cpu-freq.nix
+++ b/nixos/modules/tasks/cpu-freq.nix
@@ -33,6 +33,8 @@ with pkgs.lib;
         after = [ "systemd-modules-load.service" ];
         wantedBy = [ "multi-user.target" ];
 
+        unitConfig.ConditionPathIsReadWrite = "/sys/devices/";
+
         path = [ pkgs.cpufrequtils ];
 
         preStart = ''
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 3f484045ed4c..b0bcd2eb373e 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -81,6 +81,7 @@ in
   options = {
 
     fileSystems = mkOption {
+      default = {};
       example = {
         "/".device = "/dev/hda1";
         "/data" = {
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index efd546f3baa0..7c3c662eeac9 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -76,7 +76,7 @@ in
     };
 
     systemd.services."zfs-mount" = {
-      description = "Mount zfs volumes";
+      description = "Mount ZFS Volumes";
       after = [ "zpool-import.service" ];
       wantedBy = [ "local-fs.target" ];
       serviceConfig = {
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
index 9f294a5f93e3..1083fb784fc0 100644
--- a/nixos/modules/tasks/kbd.nix
+++ b/nixos/modules/tasks/kbd.nix
@@ -55,9 +55,9 @@ in
       { description = "Setup Virtual Console";
         wantedBy = [ "sysinit.target" "multi-user.target" ];
         before = [ "sysinit.target" "shutdown.target" ];
+        conflicts = [ "shutdown.target" ];
         unitConfig =
           { DefaultDependencies = "no";
-            Conflicts = "shutdown.target";
             ConditionPathExists = "/dev/tty1";
           };
         serviceConfig =
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index d8522b6abba0..b1ab989f130f 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -270,6 +270,8 @@ in
             before = [ "network.target" ];
             wantedBy = [ "network.target" ];
 
+            unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
             path = [ pkgs.iproute ];
 
             serviceConfig.Type = "oneshot";
diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix
index 4927952080f6..071a80865983 100644
--- a/nixos/modules/tasks/scsi-link-power-management.nix
+++ b/nixos/modules/tasks/scsi-link-power-management.nix
@@ -31,6 +31,8 @@ with pkgs.lib;
 
         task = true;
 
+        unitConfig.ConditionPathIsReadWrite = "/sys/class/scsi_host";
+
         script = ''
           shopt -s nullglob
           for x in /sys/class/scsi_host/host*/link_power_management_policy; do
diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix
new file mode 100644
index 000000000000..6f17ed77dad9
--- /dev/null
+++ b/nixos/modules/testing/service-runner.nix
@@ -0,0 +1,114 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+let
+
+  makeScript = name: service: pkgs.writeScript "${name}-runner"
+    ''
+      #! ${pkgs.perl}/bin/perl -w -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl
+
+      use File::Slurp;
+
+      sub run {
+          my ($cmd) = @_;
+          my @args = split " ", $cmd;
+          my $prog;
+          if (substr($args[0], 0, 1) eq "@") {
+              $prog = substr($args[0], 1);
+              shift @args;
+          } else {
+              $prog = $args[0];
+          }
+          my $pid = fork;
+          if ($pid == 0) {
+              setpgrp; # don't receive SIGINT etc. from terminal
+              exec { $prog } @args;
+              die "failed to exec $prog\n";
+          } elsif (!defined $pid) {
+              die "failed to fork: $!\n";
+          }
+          return $pid;
+      };
+
+      sub run_wait {
+          my ($cmd) = @_;
+          my $pid = run $cmd;
+          die if waitpid($pid, 0) != $pid;
+          return $?;
+      };
+
+      # Set the environment.  FIXME: escaping.
+      foreach my $key (keys %ENV) {
+          next if $key eq 'LOCALE_ARCHIVE';
+          delete $ENV{$key};
+      }
+      ${concatStrings (mapAttrsToList (n: v: ''
+        $ENV{'${n}'} = '${v}';
+      '') service.environment)}
+
+      # Run the ExecStartPre program.  FIXME: this could be a list.
+      my $preStart = '${service.serviceConfig.ExecStartPre or ""}';
+      if ($preStart ne "") {
+          print STDERR "running ExecStartPre: $preStart\n";
+          my $res = run_wait $preStart;
+          die "$0: ExecStartPre failed with status $res\n" if $res;
+      };
+
+      # Run the ExecStart program.
+      my $cmd = '${service.serviceConfig.ExecStart}';
+      print STDERR "running ExecStart: $cmd\n";
+      my $mainPid = run $cmd;
+      $ENV{'MAINPID'} = $mainPid;
+
+      # Catch SIGINT, propagate to the main program.
+      sub intHandler {
+          print STDERR "got SIGINT, stopping service...\n";
+          kill 'INT', $mainPid;
+      };
+      $SIG{'INT'} = \&intHandler;
+      $SIG{'QUIT'} = \&intHandler;
+
+      # Run the ExecStartPost program.
+      my $postStart = '${service.serviceConfig.ExecStartPost or ""}';
+      if ($postStart ne "") {
+          print STDERR "running ExecStartPost: $postStart\n";
+          my $res = run_wait $postStart;
+          die "$0: ExecStartPost failed with status $res\n" if $res;
+      }
+
+      # Wait for the main program to exit.
+      die if waitpid($mainPid, 0) != $mainPid;
+      my $mainRes = $?;
+
+      # Run the ExecStopPost program.
+      my $postStop = '${service.serviceConfig.ExecStopPost or ""}';
+      if ($postStop ne "") {
+          print STDERR "running ExecStopPost: $postStop\n";
+          my $res = run_wait $postStop;
+          die "$0: ExecStopPost failed with status $res\n" if $res;
+      }
+
+      exit($mainRes & 127 ? 255 : $mainRes << 8);
+    '';
+
+in
+
+{
+  options = {
+    systemd.services = mkOption {
+      options =
+        { config, name, ... }:
+        { options.runner = mkOption {
+            internal = true;
+            description = ''
+              A script that runs the service outside of systemd,
+              useful for testing or for using NixOS services outside
+              of NixOS.
+            '';
+          };
+          config.runner = makeScript name config;
+        };
+    };
+  };
+}
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index cfc582170e6c..abd2a1084bd9 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -160,4 +160,9 @@ with pkgs.lib;
   environment.systemPackages = [ pkgs.cryptsetup ];
 
   boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
+
+  # Prevent logging in as root without a password.  This doesn't really matter,
+  # since the only PAM services that allow logging in with a null
+  # password are local ones that are inaccessible on EC2 machines.
+  security.initialRootPassword = "!";
 }
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
new file mode 100644
index 000000000000..bcbfaacd703f
--- /dev/null
+++ b/nixos/modules/virtualisation/containers.nix
@@ -0,0 +1,137 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+{
+  options = {
+
+    boot.isContainer = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether this NixOS machine is a lightweight container running
+        in another NixOS system.
+      '';
+    };
+
+    systemd.containers = mkOption {
+      type = types.attrsOf (types.submodule (
+        { config, options, name, ... }:
+        {
+          options = {
+
+            root = mkOption {
+              type = types.path;
+              description = ''
+                The root directory of the container.
+              '';
+            };
+
+            config = mkOption {
+              description = ''
+                A specification of the desired configuration of this
+                container, as a NixOS module.
+              '';
+            };
+
+            path = mkOption {
+              type = types.path;
+              example = "/nix/var/nix/profiles/containers/webserver";
+              description = ''
+                As an alternative to specifying
+                <option>config</option>, you can specify the path to
+                the evaluated NixOS system configuration, typically a
+                symlink to a system profile.
+              '';
+            };
+
+          };
+
+          config = mkMerge
+            [ { root = mkDefault "/var/lib/containers/${name}";
+              }
+              (mkIf options.config.isDefined {
+                path = (import ../../lib/eval-config.nix {
+                  modules =
+                    let extraConfig =
+                      { boot.isContainer = true;
+                        security.initialRootPassword = "!";
+                        networking.hostName = mkDefault name;
+                      };
+                    in [ extraConfig config.config ];
+                  prefix = [ "systemd" "containers" name ];
+                }).config.system.build.toplevel;
+              })
+            ];
+        }));
+
+      default = {};
+      example = literalExample
+        ''
+          { webserver =
+              { root = "/containers/webserver";
+                path = "/nix/var/nix/profiles/webserver";
+              };
+            database =
+              { root = "/containers/database";
+                config =
+                  { config, pkgs, ... }:
+                  { services.postgresql.enable = true;
+                    services.postgresql.package = pkgs.postgresql92;
+                  };
+              };
+          }
+        '';
+      description = ''
+        A set of NixOS system configurations to be run as lightweight
+        containers.  Each container appears as a service
+        <literal>container-<replaceable>name</replaceable></literal>
+        on the host system, allowing it to be started and stopped via
+        <command>systemctl</command> .
+      '';
+    };
+
+  };
+
+
+  config = {
+
+    systemd.services = mapAttrs' (name: container: nameValuePair "container-${name}"
+      { description = "Container '${name}'";
+
+        wantedBy = [ "multi-user.target" ];
+
+        unitConfig.RequiresMountsFor = [ container.root ];
+
+        preStart =
+          ''
+            mkdir -p -m 0755 ${container.root}/etc
+            if ! [ -e ${container.root}/etc/os-release ]; then
+              touch ${container.root}/etc/os-release
+            fi
+          '';
+
+        serviceConfig.ExecStart =
+          "${config.systemd.package}/bin/systemd-nspawn -M ${name} -D ${container.root} --bind-ro=/nix ${container.path}/init";
+
+        preStop =
+          ''
+            pid="$(cat /sys/fs/cgroup/systemd/machine/${name}.nspawn/system/tasks 2> /dev/null)"
+            if [ -n "$pid" ]; then
+              # Send the RTMIN+3 signal, which causes the container
+              # systemd to start halt.target.
+              echo "killing container systemd, PID = $pid"
+              kill -RTMIN+3 $pid
+              # Wait for the container to exit.  We can't let systemd
+              # do this because it will send a signal to the entire
+              # cgroup.
+              for ((n = 0; n < 180; n++)); do
+                if ! kill -0 $pid 2> /dev/null; then break; fi
+                sleep 1
+              done
+            fi
+          '';
+      }) config.systemd.containers;
+
+  };
+}
\ No newline at end of file
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index d3884a503bc7..d8668eb16072 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -82,8 +82,11 @@ in
             mkdir -p /var/log/libvirt/qemu -m 755
             rm -f /var/run/libvirtd.pid
 
-            mkdir -p /var/lib/libvirt -m 700
-            mkdir -p /var/lib/libvirt/dnsmasq -m 700
+            mkdir -p /var/lib/libvirt
+            mkdir -p /var/lib/libvirt/dnsmasq
+
+            chmod 755 /var/lib/libvirt
+            chmod 755 /var/lib/libvirt/dnsmasq
 
             # Libvirt unfortunately writes mutable state (such as
             # runtime changes to VM, network or filter configurations)
@@ -98,6 +101,19 @@ in
                 mkdir -p /etc/$(dirname $i) -m 755
                 cp -fpd ${pkgs.libvirt}/etc/$i /etc/$i
             done
+
+            # libvirtd puts the full path of the emulator binary in the machine
+            # config file. But this path can unfortunately be garbage collected
+            # while still being used by the virtual machine. So update the
+            # emulator path on each startup to something valid (re-scan $PATH).
+            for file in /etc/libvirt/qemu/*.xml; do
+                # get (old) emulator path from config file
+                emulator=$(grep "^[[:space:]]*<emulator>" "$file" | sed 's,^[[:space:]]*<emulator>\(.*\)</emulator>.*,\1,')
+                # get a (definitely) working emulator path by re-scanning $PATH
+                new_emulator=$(command -v $(basename "$emulator"))
+                # write back
+                sed -i "s,^[[:space:]]*<emulator>.*,    <emulator>$new_emulator</emulator> <!-- WARNING: emulator dirname is auto-updated by the nixos libvirtd module -->," "$file"
+            done
           ''; # */
 
         serviceConfig.ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" --daemon --verbose'';
diff --git a/nixos/modules/virtualisation/nova.nix b/nixos/modules/virtualisation/nova.nix
index 05c68e2bbff9..e0d25183574e 100644
--- a/nixos/modules/virtualisation/nova.nix
+++ b/nixos/modules/virtualisation/nova.nix
@@ -113,7 +113,7 @@ in
     jobs.nova_objectstore =
       { name = "nova-objectstore";
 
-        description = "Nova simple object store service";
+        description = "Nova Simple Object Store Service";
 
         startOn = "ip-up";
 
@@ -129,7 +129,7 @@ in
     jobs.nova_scheduler =
       { name = "nova-scheduler";
 
-        description = "Nova scheduler service";
+        description = "Nova Scheduler Service";
 
         startOn = "ip-up";
 
@@ -140,7 +140,7 @@ in
     jobs.nova_compute =
       { name = "nova-compute";
 
-        description = "Nova compute service";
+        description = "Nova Compute Service";
 
         startOn = "ip-up";
 
@@ -157,7 +157,7 @@ in
     jobs.nova_network =
       { name = "nova-network";
 
-        description = "Nova network service";
+        description = "Nova Network Service";
 
         startOn = "ip-up";
 
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index beed36b6a516..71bdf31a98d2 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -107,4 +107,9 @@ with pkgs.lib;
   boot.loader.grub.device = "/dev/sda";
 
   services.virtualbox.enable = true;
+
+  # Prevent logging in as root without a password.  For NixOps, we
+  # don't need this because the user can login via SSH, and for the
+  # demo images, there is a demo user account that can sudo to root.
+  security.initialRootPassword = "!";
 }
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index 4c24c6a7826a..40f6929be4f0 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -107,7 +107,7 @@ in
       '';
 
     jobs.xend =
-      { description = "Xen control daemon";
+      { description = "Xen Control Daemon";
 
         startOn = "stopped udevtrigger";
 
diff --git a/nixos/release.nix b/nixos/release.nix
index 1ffb334d90a4..ff094cce05fa 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -123,11 +123,13 @@ in rec {
     inherit system;
   });
 
+  /*
   iso_minimal_new_kernel = forAllSystems (system: makeIso {
     module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
     type = "minimal-new-kernel";
     inherit system;
   });
+  */
 
   iso_graphical = forAllSystems (system: makeIso {
     module = ./modules/installer/cd-dvd/installation-cd-graphical.nix;
@@ -137,20 +139,13 @@ in rec {
 
   # A variant with a more recent (but possibly less stable) kernel
   # that might support more hardware.
+  /*
   iso_new_kernel = forAllSystems (system: makeIso {
     module = ./modules/installer/cd-dvd/installation-cd-new-kernel.nix;
     type = "new-kernel";
     inherit system;
   });
-
-  # A variant with efi booting support. Once cd-minimal has a newer kernel,
-  # this should be enabled by default.
-  iso_efi = forAllSystems (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-efi.nix;
-    type = "efi";
-    maintainers = [ "shlevy" ];
-    inherit system;
-  });
+  */
 
 
   # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix
index ce5776c8e465..574e1dd2f8b8 100644
--- a/nixos/tests/default.nix
+++ b/nixos/tests/default.nix
@@ -16,6 +16,7 @@ with import ../lib/testing.nix { inherit system minimal; };
   kde4 = makeTest (import ./kde4.nix);
   #kexec = makeTest (import ./kexec.nix);
   login = makeTest (import ./login.nix {});
+  logstash = makeTest (import ./logstash.nix);
   latestKernel.login = makeTest (import ./login.nix ({ config, pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages_latest; }));
   misc = makeTest (import ./misc.nix);
   #mpich = makeTest (import ./mpich.nix);
diff --git a/nixos/tests/efi-installer.nix b/nixos/tests/efi-installer.nix
index 8a05dbf2a610..990f2b84a6c9 100644
--- a/nixos/tests/efi-installer.nix
+++ b/nixos/tests/efi-installer.nix
@@ -12,7 +12,7 @@ let
     (import ../lib/eval-config.nix {
       inherit system;
       modules =
-        [ ../modules/installer/cd-dvd/installation-cd-efi.nix
+        [ ../modules/installer/cd-dvd/installation-cd-minimal.nix
           ../modules/testing/test-instrumentation.nix
           { key = "serial";
 
@@ -38,7 +38,6 @@ let
   config = builtins.toFile "configuration.nix" ''
     { pkgs, ... }: {
       imports = [ ./hardware-configuration.nix <nixos/modules/testing/test-instrumentation.nix> ];
-      boot.kernelPackages = pkgs.linuxPackages_3_10;
       boot.loader.grub.enable = false;
       boot.loader.efi.canTouchEfiVariables = true;
       boot.loader.gummiboot.enable = true;
diff --git a/nixos/tests/logstash.nix b/nixos/tests/logstash.nix
new file mode 100644
index 000000000000..ee309d39f872
--- /dev/null
+++ b/nixos/tests/logstash.nix
@@ -0,0 +1,40 @@
+{ pkgs, ... }:
+
+# This test runs logstash and checks if messages flows and elasticsearch is
+# started
+
+{
+  nodes = {
+    one =
+      { config, pkgs, ... }:
+        {
+          services = {
+            logstash = {
+              enable = true;
+              inputConfig = ''
+                exec { command => "echo flowers" interval => 1 type => "test" }
+                exec { command => "echo dragons" interval => 1 type => "test" }
+              '';
+              filterConfig = ''
+                if [type] == "test" {
+                  grep { match => ["message", "flowers"] drop => true }
+                }
+              '';
+              outputConfig = ''
+                stdout { codec => rubydebug }
+                elasticsearch { embedded => true }
+              '';
+            };
+          };
+        };
+    };
+  
+  testScript = ''
+    startAll;
+  
+    $one->waitForUnit("logstash.service");
+    $one->waitUntilSucceeds("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep flowers");
+    $one->fail("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep dragons");
+    $one->waitUntilSucceeds("curl -s http://127.0.0.1:9200/_status?pretty=true | grep logstash");
+  '';
+}
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 12ac6f6f9a67..d355d705a24c 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -59,6 +59,12 @@
       subtest "override-env-var", sub {
           $machine->succeed('[ "$EDITOR" = emacs ]');
       };
+
+      # Test whether hostname (and by extension nss_myhostname) works.
+      subtest "hostname", sub {
+          $machine->succeed('[ "`hostname`" = machine ]');
+          $machine->succeed('[ "`hostname -s`" = machine ]');
+      };
     '';
 
 }
diff --git a/pkgs/applications/audio/caps/default.nix b/pkgs/applications/audio/caps/default.nix
index 81fb77c1c9a8..49880f6c0f31 100644
--- a/pkgs/applications/audio/caps/default.nix
+++ b/pkgs/applications/audio/caps/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   name = "caps-${version}";
-  version = "0.9.7";
+  version = "0.9.16";
   src = fetchurl {
     url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
-    sha256 = "0ks98r3j404s9h88x50lj5lj4l64ijj29fz5i08iyq8jrb7r0zm0";
+    sha256 = "117l04w2zwqak856lihmaxg6f22vlz71knpxy0axiyri0x82lbwv";
   };
   configurePhase = ''
     echo "PREFIX = $out" > defines.make
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 7fdd04ce96b8..6cad0e01a4e9 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumkv1-${version}";
-  version = "0.3.2";
+  version = "0.3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "0bafg06iavri9dmg7hpz554kpqf1iv9crcdq46y4n4wyyxd7kajl";
+    sha256 = "125aa1lmmwjdbzyv13yaax4n6ni7h7v7c7clmjaz7bglzay7xq5w";
   };
 
   buildInputs = [ jackaudio libsndfile lv2 qt4 ];
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index b0c5a88cb1a6..d9998a9f814d 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, alsaLib, glib, jackaudio, libsndfile, pkgconfig
-, pulseaudio }:
+, pulseaudio, cmake }:
 
 stdenv.mkDerivation  rec {
   name = "fluidsynth-${version}";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/fluidsynth/${name}.tar.bz2";
-    sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
+    sha256 = "00gn93bx4cz9bfwf3a8xyj2by7w23nca4zxf09ll53kzpzglg2yj";
   };
 
   preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -20,7 +20,7 @@ stdenv.mkDerivation  rec {
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin
     "-framework CoreAudio";
 
-  buildInputs = [ glib libsndfile pkgconfig ]
+  buildInputs = [ cmake glib libsndfile pkgconfig ]
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jackaudio ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index 5655c7d832b9..fec9baa8695e 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation  rec {
   name = "jalv-${version}";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1hq968fhiz86428krqhjl3vlw71bigc9bsfcv97zgvsjh0fh6qa0";
+    sha256 = "132cq347xpa91d9m7nnmpla7gz4xg0njfw7kzwnp0gz172k0klp7";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
new file mode 100644
index 000000000000..c64421116dea
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
@@ -0,0 +1,20 @@
+https://bugs.archlinux.org/task/31324
+https://410333.bugs.gentoo.org/attachment.cgi?id=322456
+
+diff -ur src.old/compression/DecompressorGZIP.cpp src/compression/DecompressorGZIP.cpp
+--- src.old/compression/DecompressorGZIP.cpp	2012-08-28 17:54:46.000000000 +0200
++++ src/compression/DecompressorGZIP.cpp	2012-08-28 17:55:21.000000000 +0200
+@@ -57,11 +57,11 @@
+ 	
+ bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint)
+ {
+-    gzFile *gz_input_file = NULL;
++    gzFile gz_input_file = NULL;
+ 	int len = 0;
+ 	pp_uint8 *buf;
+ 	
+-	if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL)
++	if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL)
+ 		return false;
+ 	
+ 	if ((buf = new pp_uint8[0x10000]) == NULL)
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
new file mode 100644
index 000000000000..965c941113c3
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, jackaudio, perl
+, zlib, zziplib
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.90.85";
+  name = "milkytracker-${version}";
+
+  src = fetchurl {
+    url = "http://milkytracker.org/files/milkytracker-0.90.85.tar.gz";
+    sha256 = "184pk0k9nv461a61sh6lb62wfadjwwk8ri3z5kpdbqnyssz0zfpv";
+  };
+
+  # Get two official patches.
+  no_zzip_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/no_zziplib_dep.patch";
+    sha256 = "1w550q7pxa7w6v2v19ljk03hayacrs6y887izg11a1983wk7qzb3";
+      };
+
+  fix_64bit_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/64bit_freebsd_fix.patch";
+    sha256 = "0gwd4zslbd8kih80k4v7n2c65kvm2cq3kl6d7y33z1l007vzyvf6";
+  };
+
+  patchPhase = ''
+    patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch}
+    patch < ${no_zzip_patch}
+    patch ./src/compression/DecompressorGZIP.cpp < ${./decompressor_gzip.patch}
+  '';
+
+  preBuild=''
+    export CPATH=${zlib}/lib
+  '';
+
+  buildInputs = [ SDL alsaLib autoconf automake jackaudio perl zlib zziplib ];
+
+  meta = {
+    description = "Music tracker application, similar to Fasttracker II.";
+    homepage = http://milkytracker.org;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 611d9f4226dd..b684fee37d56 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -39,6 +39,6 @@ pythonPackages.buildPythonPackage rec {
       local hard drive.
     '';
     maintainers = [ stdenv.lib.maintainers.rickynils ];
-    platforms = [];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 8b99988f07b4..8cb64820295c 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -28,11 +28,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-0.7.0";
+  name = "qmmp-0.7.3";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "0g8qcs82y3dy06lsgam2w6gh2ccx0frlw9fp4xg947vi3a16g6ig";
+    sha256 = "0qjmnyq3qmrm510g3lsa6vd80nmbz0859pwhnaaa19ah0jhf3r2p";
   };
 
   buildInputs =
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [maintainers.bjornfor];
+    repositories.svn = http://qmmp.googlecode.com/svn/;
   };
 }
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 9f4859d6e070..c865314cb175 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,11 +1,18 @@
 { stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
-, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
+, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
+, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
-let version = "2.5"; in
+assert withGstPlugins -> gst_plugins_base != null
+                         || gst_plugins_good != null
+                         || gst_plugins_ugly != null
+                         || gst_plugins_bad != null;
+
+let version = "2.6.3"; in
 
 buildPythonPackage {
   # call the package quodlibet and just quodlibet
-  name = "quodlibet-${version}";
+  name = "quodlibet-${version}"
+         + stdenv.lib.optionalString withGstPlugins "-with-gst-plugins";
   namePrefix = "";
 
   # XXX, tests fail
@@ -13,12 +20,12 @@ buildPythonPackage {
 
   src = [
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
-      sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
+      sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
      })
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
-      sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
+      sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
      })
   ];       
 
@@ -30,19 +37,23 @@ buildPythonPackage {
   '';
   patches = [ ./quodlibet-package-plugins.patch ];
 
-  buildInputs = [
-    gst_plugins_base gst_plugins_good gst_plugins_ugly
+  buildInputs = stdenv.lib.optionals withGstPlugins [
+    gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
   ];
 
   propagatedBuildInputs = [
     mutagen pygtk pygobject pythonDBus gst_python
   ];
 
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
     # Wrap quodlibet so it finds the GStreamer plug-ins
     wrapProgram "$out/bin/quodlibet" --prefix                                 \
       GST_PLUGIN_PATH ":"                                                     \
-      "${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_plugins_ugly}/lib/gstreamer-0.10"
+      ${ stdenv.lib.concatStringsSep ":"
+         (map (s: s+"/lib/gstreamer-0.10")
+           (stdenv.lib.filter (s: s != null) [
+             gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
+           ])) }
   '';
 
   meta = {
@@ -62,6 +73,7 @@ buildPythonPackage {
       & internet radio, and all major audio formats.
     '';
 
+    maintainer = [ stdenv.lib.maintainers.coroa ];
     homepage = http://code.google.com/p/quodlibet/;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix
index 4bd5148b9508..a5b9cc184f37 100644
--- a/pkgs/applications/editors/emacs-modes/ess/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ess/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, emacs, texinfo }:
 
-stdenv.mkDerivation {
-  name = "ess-13.05";
+stdenv.mkDerivation rec {
+  name = "ess-13.09";
 
   src = fetchurl {
-    url = "http://ess.r-project.org/downloads/ess/ess-13.05.tgz";
-    sha256 = "007rd8hg1aclr2i8178ym5c4bi7vgmwkp802v1mkgr85h50zlfdk";
+    url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
+    sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh";
   };
 
   buildInputs = [ emacs texinfo ];
diff --git a/pkgs/applications/editors/emacs-modes/offlineimap/default.nix b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
new file mode 100644
index 000000000000..d94da4f88d9e
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, emacs }:
+
+stdenv.mkDerivation rec {
+  rev = "646482203aacdf847d57d0a96263fddcfc33fb61";
+  name = "emacs-offlineimap-${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://git.naquadah.org/offlineimap-el.git";
+    sha256 = "0az4llfgva4wvpljyc5s2m7ggfnj06ssp32x8bncr5fzksha3r7b";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    substituteInPlace offlineimap.el --replace "Machine.MachineUI" "machineui"
+    emacs --batch -f batch-byte-compile offlineimap.el
+    install -d $out/share/emacs/site-lisp
+    install offlineimap.el offlineimap.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "OfflineIMAP support for Emacs";
+    homepage = "http://julien.danjou.info/projects/emacs-packages#offlineimap";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+  };
+}
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
new file mode 100644
index 000000000000..15a147319a15
--- /dev/null
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -0,0 +1,115 @@
+args@{...}: with args;
+
+
+let inherit (args.composableDerivation) composableDerivation edf; in
+composableDerivation {
+  # use gccApple to compile on darwin
+  mkDerivation = ( if stdenv.isDarwin
+                   then stdenvAdapters.overrideGCC stdenv gccApple
+                   else stdenv ).mkDerivation;
+} (fix: {
+
+    name = "qvim-7.4";
+
+    enableParallelBuilding = true; # test this
+
+    src = fetchgit {
+      url = https://bitbucket.org/equalsraf/vim-qt.git ;
+      rev = "4160bfd5c1380e899d2f426b494fc4f1cf6ae85e";
+      sha256 = "1qa3xl1b9gqw66p71h53l7ibs4y3zfyj553jss70ybxaxchbhi5b";
+    };
+
+    # FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
+    # to meta.platforms.unix
+    preConfigure = assert (! stdenv.isDarwin); "";
+
+    configureFlags = [ "--with-vim-name=qvim" "--enable-gui=qt" "--with-features=${args.features}" ];
+
+    nativeBuildInputs
+      = [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw libXau
+          libXmu libICE qt4];
+
+    # most interpreters aren't tested yet.. (see python for example how to do it)
+    flags = {
+        ftNix = {
+          # because we cd to src in the main patch phase, we can't just add this
+          # patch to the list, we have to apply it manually
+          postPatch = ''
+            cd runtime
+            patch -p2 < ${./ft-nix-support.patch}
+            cd ..
+          '';
+        };
+      }
+      // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
+      // edf { name = "xsmp"; } #Disable XSMP session management
+      // edf { name = "xsmp_interact"; } #Disable XSMP interaction
+      // edf { name = "mzscheme"; } #Include MzScheme interpreter.
+      // edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
+
+      // edf {
+        name = "python";
+        feat = "pythoninterp";
+        enable = {
+          nativeBuildInputs = [ python ];
+        } // lib.optionalAttrs stdenv.isDarwin {
+          configureFlags
+            = [ "--enable-pythoninterp=yes"
+                "--with-python-config-dir=${python}/lib" ];
+        };
+      }
+
+      // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
+      // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
+      // edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
+      // edf { name = "cscope"; } #Include cscope interface.
+      // edf { name = "workshop"; } #Include Sun Visual Workshop support.
+      // edf { name = "netbeans"; } #Disable NetBeans integration support.
+      // edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
+      // edf { name = "multibyte"; } #Include multibyte editing support.
+      // edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
+      // edf { name = "xim"; } #Include XIM input support.
+      // edf { name = "fontset"; } #Include X fontset output support.
+      // edf { name = "acl"; } #Don't check for ACL support.
+      // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
+      // edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
+      ;
+
+  cfg = {
+    pythonSupport    = config.vim.python or true;
+    rubySupport      = config.vim.ruby or true;
+    nlsSupport       = config.vim.nls or false;
+    tclSupport       = config.vim.tcl or false;
+    multibyteSupport = config.vim.multibyte or false;
+    cscopeSupport    = config.vim.cscope or false;
+    netbeansSupport  = config.netbeans or true; # eg envim is using it
+
+    # by default, compile with darwin support if we're compiling on darwin, but
+    # allow this to be disabled by setting config.vim.darwin to false
+    darwinSupport    = stdenv.isDarwin && (config.vim.darwin or true);
+
+    # add .nix filetype detection and minimal syntax highlighting support
+    ftNixSupport     = config.vim.ftNix or true;
+  };
+
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
+    rpath=`patchelf --print-rpath $out/bin/qvim`;
+    for i in $nativeBuildInputs; do
+      echo adding $i/lib
+      rpath=$rpath:$i/lib
+    done
+    echo $nativeBuildInputs
+    echo $rpath
+    patchelf --set-rpath $rpath $out/bin/qvim
+  '';
+
+  dontStrip = 1;
+
+  meta = with stdenv.lib; {
+    description = "The most popular clone of the VI editor (Qt GUI fork)";
+    homepage    = https://bitbucket.org/equalsraf/vim-qt/wiki/Home;
+    maintainers = with maintainers; [ smironov ];
+    platforms   = platforms.linux;
+  };
+})
+
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index c2a661c82fdf..aa0bdbfe56ce 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,6 +1,8 @@
 { stdenv
 , fetchurl
+, pkgconfig
 , bzip2
+, fontconfig
 , freetype
 , ghostscript ? null
 , libjpeg
@@ -16,14 +18,14 @@
 }:
 
 let
-  version = "6.8.6-9";
+  version = "6.8.7-5";
 in
 stdenv.mkDerivation rec {
   name = "ImageMagick-${version}";
 
   src = fetchurl {
     url = "mirror://imagemagick/${name}.tar.xz";
-    sha256 = "1bpj8676mph5cvyjsdgf27i6yg2iw9iskk5c69mvpxkyawgjw1vg";
+    sha256 = "1cn1kg7scs6r7r00qlqirhnmqjnmyczbidab3vgqarw9qszh2ri6";
   };
 
   enableParallelBuilding = true;
@@ -42,17 +44,18 @@ stdenv.mkDerivation rec {
   '';
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg libpng libtiff libxml2 zlib librsvg
+    [ bzip2 fontconfig freetype libjpeg libpng libtiff libxml2 zlib librsvg
       libtool jasper libX11
     ] ++ stdenv.lib.optional (ghostscript != null && stdenv.system != "x86_64-darwin") ghostscript;
 
-  buildInputs = [ tetex ];
+  buildInputs = [ tetex pkgconfig ];
 
   postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)'';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.imagemagick.org/;
     description = "A software suite to create, edit, compose, or convert bitmap images";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 4e12e2320815..d6b005e8e3d5 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -4,11 +4,11 @@
 , python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
 
 stdenv.mkDerivation rec {
-  name = "gimp-2.8.6";
+  name = "gimp-2.8.8";
 
   src = fetchurl {
     url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    md5 = "12b3fdf33d1f07ae79b412a9e38b9693";
+    md5 = "ef2547c3514a1096931637bd6250635a";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index d314d93ea4c3..234249e85626 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -68,18 +68,18 @@ rec {
     };
   };
 
-  fourier = pluginDerivation {
+  fourier = pluginDerivation rec {
     /* menu:
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.3.3";
-    buildInputs = [ gimp pkgs.fftwSinglePrec  pkgconfig glib] ++ gimp.nativeBuildInputs;
+    name = "fourier-0.4.1";
+    buildInputs = [ gimp pkgs.fftw  pkgconfig glib] ++ gimp.nativeBuildInputs;
     postInstall = "fail";
     installPhase = "installPlugins fourier";
     src = fetchurl {
-      url = http://people.via.ecp.fr/~remi/soft/gimp/fourier-0.3.3.tar.gz;
-      sha256 = "0xxgp0lrjxsj54sgygi31c7q41jkqzn0v18qyznrviv8r099v29p";
+      url = "http://registry.gimp.org/files/${name}.tar.gz";
+      sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1";
     };
   };
 
@@ -110,6 +110,9 @@ rec {
       url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
       sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
     };
+    patchPhase = ''
+      sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
+    '';
     installPhase = "installPlugins src/texturize";
   };
 
@@ -140,21 +143,23 @@ rec {
     installPhase = "installPlugins src/gimp-lqr-plugin";
   };
 
-  # this is more than a gimp plugin !
-  # it can be made to compile the gimp plugin only though..
   gmic =
-  let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
-  in pluginDerivation {
-      name = "gmic-1.3.2.0";
-      buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
+  let
+    imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
+    fftw = pkgs.fftw.override {pthreads = true;};
+  in pluginDerivation rec {
+      name = "gmic-1.5.7.2";
+      buildInputs = [imagemagick pkgconfig fftw gimp] ++ gimp.nativeBuildInputs;
       src = fetchurl {
-        url = mirror://sourceforge/gmic/gmic_1.3.2.0.tar.gz;
-        sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
+        url = mirror://sourceforge/gmic/gmic_1.5.7.2.tar.gz;
+        sha256 = "1cpbxb3p2c8bcv2cbr150whapzjc7w09i3jza0z9x3xj8c0vdyv1";
       };
       preConfigure = ''
         export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${imagemagick}/include/ImageMagick"
       '';
-      installPhase = "installPlugins src/gmic4gimp";
+      sourceRoot = "${name}/src";
+      buildPhase = "make gimp";
+      installPhase = "installPlugins gmic_gimp";
       meta = { 
         description = "script language for image processing which comes with its open-source interpreter";
         homepage = http://gmic.sourceforge.net/repository.shtml;
@@ -170,9 +175,9 @@ rec {
   # this is more than a gimp plugin !
   # either load the raw image with gimp (and the import dialog will popup)
   # or use the binary
-  ufraw = pluginDerivation {
-    name = "ufraw-0.15";
-    buildInputs = [pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
+  ufraw = pluginDerivation rec {
+    name = "ufraw-0.19.2";
+    buildInputs = [pkgs.gtkimageview pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
       # --enable-mime - install mime files, see README for more information
       # --enable-extras - build extra (dcraw, nikon-curve) executables
       # --enable-dst-correction - enable DST correction for file timestamps.
@@ -184,8 +189,8 @@ rec {
     configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
 
     src = fetchurl {
-      url = mirror://sourceforge/ufraw/ufraw-0.15.tar.gz;
-      sha256 = "0cf3csksjkyl91zxhjnn74vc31l14nm6n1i02s76xdvvkk9ics8k";
+      url = "mirror://sourceforge/ufraw/${name}.tar.gz";
+      sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
     };
     installPhase = "
       installPlugins ufraw-gimp
diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix
new file mode 100644
index 000000000000..6b7c9a27694a
--- /dev/null
+++ b/pkgs/applications/graphics/grafx2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, zlib, libpng, pkgconfig, lua5 }:
+
+stdenv.mkDerivation rec {
+
+  version = "2.4.2035";
+  name = "grafx2-${version}";
+
+  src = fetchurl {
+    url = "https://grafx2.googlecode.com/files/${name}-src.tgz";
+    sha256 = "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q";
+  };
+
+  buildInputs = [ SDL SDL_image SDL_ttf libpng zlib lua5 pkgconfig ];
+
+  preBuild = "cd src";
+
+  preInstall = '' mkdir -p "$out" '';
+
+  installPhase = ''make install prefix="$out"'';
+
+  meta = {
+    description = "GrafX2 is a bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance.";
+    homepage = http://code.google.co/p/grafx2/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index c02bc6024df1..1f795a800ff6 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -2,14 +2,14 @@
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz
 , libX11}:
 
-let version = "1.3.13"; in
+let version = "1.3.18"; in
 
 stdenv.mkDerivation {
   name = "graphicsmagick-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "08lgjvhvhw3by5h4kfpl7072dbvkcpsajy5f6izq69cv61vadqs5";
+    sha256 = "1axh4j2jr3l92dan15b2nmx9da4l7i0rcz9b5bvfd4q742zfwj7x";
   };
 
   configureFlags = "--enable-shared";
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
index dd1fbcc7e073..cd5388c1b88f 100644
--- a/pkgs/applications/graphics/mirage/default.nix
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -17,6 +17,10 @@ buildPythonPackage rec {
 
     buildInputs = [ stdenv libX11 gettext ];
 
+    patchPhase = ''
+      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
+    '';
+
     pythonPath = [ pygtk pil ];
 
     meta = {
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index a59498b8f141..be8df8ef16dc 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, gettext, glib, gtk, json_c, lcms2, libpng
-, makeWrapper, pkgconfig, pygtk, python, pythonPackages, scons, swig
+{ stdenv, fetchurl, gettext, glib, gtk, hicolor_icon_theme, json_c
+, lcms2, libpng , makeWrapper, pkgconfig, pygtk, python, pythonPackages
+, scons, swig
 }:
 
 stdenv.mkDerivation rec {
@@ -11,18 +12,21 @@ stdenv.mkDerivation rec {
     sha256 = "0f7848hr65h909c0jkcx616flc0r4qh53g3kd1cgs2nr1pjmf3bq";
   };
 
-  buildInputs = [ 
+  buildInputs = [
     gettext glib gtk json_c lcms2 libpng makeWrapper pkgconfig pygtk
     python scons swig
   ];
- 
-  propagatedBuildInputs = [ pythonPackages.numpy ];
+
+  propagatedBuildInputs = [ hicolor_icon_theme pythonPackages.numpy ];
 
   buildPhase = "scons prefix=$out";
 
   installPhase = ''
     scons prefix=$out install
-    wrapProgram $out/bin/mypaint --prefix PYTHONPATH : $PYTHONPATH
+    sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
+    wrapProgram $out/bin/mypaint \
+      --prefix PYTHONPATH : $PYTHONPATH \
+      --prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
new file mode 100644
index 000000000000..737baf375d1a
--- /dev/null
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, xulrunner }:
+
+stdenv.mkDerivation rec {
+  name = "pencil-2.0.5";
+
+  src = fetchurl {
+    url = "http://evoluspencil.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0rn5nb08p8wph5s5gajkil6y06zgrm86p4gnjdgv76czx1fqazm0";
+  };
+
+  # Pre-built package
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r usr/* "$out"
+    cp COPYING "$out/share/pencil"
+    sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \
+        -e "s|/usr/share/pencil|$out/share/pencil|" \
+        -i "$out/bin/pencil"
+    sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \
+        -e "s|Icon=.*|Icon=$out/share/pencil/skin/classic/icon.svg|" \
+        -i "$out/share/applications/pencil.desktop"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI prototyping/mockup tool";
+    homepage = http://pencil.evolus.vn/;
+    license = licenses.gpl2; # Commercial license is also available
+    maintainers = [ maintainers.bjornfor ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/sane/backends-git.nix b/pkgs/applications/graphics/sane/backends-git.nix
index c9cea4109dc4..7ba6e1756ba0 100644
--- a/pkgs/applications/graphics/sane/backends-git.nix
+++ b/pkgs/applications/graphics/sane/backends-git.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null, gt68xxFirmware ? null }:
+{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null
+, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 let
   firmware = gt68xxFirmware { inherit fetchurl; };
 in
@@ -29,6 +31,11 @@ stdenv.mkDerivation {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin ;" +
+      "mkdir -p \${out}/etc/sane.d ; " +
+      "echo epson2 > \${out}/etc/sane.d/dll.conf"
     else "";
 
   meta = {
diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix
index a53466ae8188..eaf1c3b725f0 100644
--- a/pkgs/applications/graphics/sane/backends.nix
+++ b/pkgs/applications/graphics/sane/backends.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null, pkgconfig ? null , gt68xxFirmware ? null }:
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null
+, pkgconfig ? null, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
@@ -36,6 +38,9 @@ stdenv.mkDerivation rec {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin"
     else "";
 
   meta = {
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index de8d4c336521..32b39c0160d3 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng, libusb ? null }:
+{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng
+, libusb ? null
+, gimpSupport ? false, gimp_2_8 ? null
+}:
+
+assert gimpSupport -> gimp_2_8 != null;
 
 stdenv.mkDerivation rec {
   name = "xsane-0.998";
@@ -12,8 +17,9 @@ stdenv.mkDerivation rec {
     sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
   '';
 
-  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ] ++
-	(if libusb != null then [libusb] else []);
+  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ]
+    ++ (if libusb != null then [libusb] else [])
+    ++ stdenv.lib.optional gimpSupport gimp_2_8;
 
   meta = {
     homepage = http://www.sane-project.org/;
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
new file mode 100644
index 000000000000..83f3c7510298
--- /dev/null
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, cmake, qt4, fftw }:
+
+let
+  rev = "9895036d26";
+in
+stdenv.mkDerivation rec {
+  name = "smartdeblur-git-${rev}";
+
+  src = fetchurl {
+    url = "https://github.com/Y-Vladimir/SmartDeblur/tarball/${rev}";
+    name = "${name}.tar.gz";
+    sha256 = "126x9x1zhqdarjz9in0p1qhmqg3jwz7frizadjvx723g2ppi33s4";
+  };
+
+  preConfigure = ''
+    cd src
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake qt4 fftw ];
+
+  cmakeFlags = "-DUSE_SYSTEM_FFTW=ON";
+
+  meta = {
+    homepage = "https://github.com/Y-Vladimir/SmartDeblur";
+    description = "Tool for restoring blurry and defocused images";
+    license = "GPLv3";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
+
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 5fe30bd7a03d..93d1b28854a6 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     # Quicker to unpack locally than load Hydra
-    platforms = [];
+    hydraPlatforms = [];
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; lgpl21Plus;
     description = "GraphViz graph viewer/navigator";
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 46ccdb399467..a186f5f5ee0d 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -3,7 +3,7 @@
 
 assert stdenv.system == "i686-linux";
 
-let version = "9.5.1"; in
+let version = "9.5.5"; in
 
 stdenv.mkDerivation {
   name = "adobe-reader-${version}-1";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/${version}/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2";
-    sha256 = "19mwhbfsivb21zmrz2hllf0kh4i225ac697y026bakyysn0vig56";
+    sha256 = "0h35misxrqkl5zlmmvray1bqf4ywczkm89n9qw7d9arqbg3aj3pf";
   };
 
   # !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 10d92e4d517a..41f4b4f09042 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-1.8.0";
+  name = "calibre-1.13.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "0awh24n5bvypmiylngmz0w0126yz1jxlrjfy9b4w5aflg7vgr0qq";
+    sha256 = "0j0l81jkjzd8n3ciqwxh8zxz945y594xjfsizp3cxjjfhj90aagj";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index cb594e494dba..1b61d75ddf2e 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
-  name = "dunst-${rev}";
+  name = "dunst-0-${stdenv.lib.strings.substring 0 7 rev}";
 
   # 1.0.0 release doesn't include 100% CPU fix
   # https://github.com/knopwob/dunst/issues/98
diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix
index fa361308ff1a..612285c697c6 100644
--- a/pkgs/applications/misc/fbreader/default.nix
+++ b/pkgs/applications/misc/fbreader/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation {
       --replace "/usr/share" "$out/share"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An e-book reader for Linux";
     homepage = http://www.fbreader.org/;
-    license = "GPL";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.gpl3;
+    platforms = platforms.linux; # possibly also on unix general
+    maintainer = [ maintainers.coroa ];
   }; 
 }
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index e112427126ab..7af8cbeccc63 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "girara-0.1.5";
+  name = "girara-0.1.9";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
-    sha256 = "1hfi3jmx8ydvrqm3h6p6py2csavh7xx0223vxyca51kjl9mfnbld";
+    sha256 = "1kd20dalnpy07hajv0rkmkbsym4bpfxh0gby7j2mvkvl5qr3vx70";
   };
 
   buildInputs = [ pkgconfig gtk gettext ];
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
new file mode 100644
index 000000000000..3c47e3bf8a82
--- /dev/null
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl
+# core dependencies
+, cmake, pkgconfig, git, boost, cppunit, fftw
+# python wrappers
+, python, swig2, numpy, scipy, matplotlib
+# grc - the gnu radio companion
+, cheetahTemplate, pygtk
+# gr-wavelet: collection of wavelet blocks
+, gsl
+# gr-qtgui: the Qt-based GUI
+, qt4, qwt, pyqt4 #, pyqwt
+# gr-wxgui: the Wx-based GUI
+, wxPython, lxml
+# gr-audio: audio subsystems (system/OS dependent)
+, alsaLib
+# uhd: the Ettus USRP Hardware Driver Interface
+, uhd
+# gr-video-sdl: PAL and NTSC display
+, SDL
+, libusb1, orc, pyopengl
+, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gnuradio-${version}";
+  version = "3.7.1";
+
+  src = fetchurl {
+    url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
+    sha256 = "1kfni8vpgr6v9rdiz3zsmwc07qj6zka9x22z2y0y4rak2xnzdxz9";
+  };
+
+  buildInputs = [
+    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4 qwt
+    alsaLib SDL libusb1 uhd gsl makeWrapper
+  ];
+
+  propagatedBuildInputs = [
+    cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
+  ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
+  '';
+
+  # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
+  #   programs will not display anything. Yes, $MATPLOTLIBRC must point to the
+  #   *dirname* where matplotlibrc is located, not the file itself.
+  # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
+  #   we must wrap the stuff in bin/.
+  postInstall = ''
+    printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
+
+    for file in "$out"/bin/*; do
+        wrapProgram "$file" \
+            --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") \
+            --set MATPLOTLIBRC "$out/share/gnuradio"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Software Defined Radio (SDR) software";
+    longDescription = ''
+      GNU Radio is a free & open-source software development toolkit that
+      provides signal processing blocks to implement software radios. It can be
+      used with readily-available low-cost external RF hardware to create
+      software-defined radios, or without hardware in a simulation-like
+      environment. It is widely used in hobbyist, academic and commercial
+      environments to support both wireless communications research and
+      real-world radio systems.
+    '';
+    homepage = http://www.gnuradio.org;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index baf97e7a8247..b8bf0f38d104 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20130518";
+  version = "3.20130904.1";
 
   lib = stdenv.lib;
 in
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "00mmxxlbzv6bz3cz3746r5lqwby6liwsg7m3jfba8258y52w13qp";
+    sha256 = "1nxycsz49y6801lbrvazzg7qc9q2vpr2ny1sba26f9gwc00c650h";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index e5af706d41c9..75d8e5ecb89b 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, automoc4, kdelibs, taglib, exiv2, podofo, gettext, qt4, phonon }:
 
 stdenv.mkDerivation rec {
-  name = "krename-4.0.4";
+  name = "krename-4.0.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/krename/${name}.tar.bz2";
-    sha256 = "12qhclw1vbg5bv6619qd4408y8d1w26499gcr8gwhgfzk0v83hic";
+    sha256 = "11bdg5vdcs393n0aibhm3jh3wxlk5kz78jhkwf7cj9086qkg9wds";
   };
 
   buildInputs = [ cmake automoc4 kdelibs taglib exiv2 podofo gettext qt4 phonon ];
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 220309a8e221..17b86910de07 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -10,8 +10,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
 
+  enableParallelBuilding = true;
+
   preBuild = ''
-    export makeFlags="prefix=$out"
+    export makeFlags="prefix=$out build=release"
     export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
   '';
 
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 3bed6e1a2d76..ae983aedc679 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pyxdg}/lib/${python.libPrefix}/site-packages/pyxdg:$out/lib/${python.libPrefix}/site-packages
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "changes the color temperature of your screen gradually";
     longDescription = ''
       The color temperature is set according to the position of the
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
       '';
     license = "GPLv3+";
     homepage = "http://jonls.dk/redshift";
+    platforms = platforms.linux;
   }; 
 }
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index c05dd028eb34..640ace40277d 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -38,13 +38,6 @@ stdenv.mkDerivation (rec {
       ln -s $out/{lib/urxvt,lib/perl5/site_perl}
     '';
 
-  # we link the separate terminfo output to the main output
-  # as I don't think there's a usecase for wanting urxvt without its terminfo files
-  # and we don't want users to install them separately
-  postInstall = ''
-    ln -s $terminfo/share/terminfo $out/share
-  '';
-
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 7230e84601e4..4af565d717aa 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "vifm-${version}";
-  version = "0.7.5";
+  version = "0.7.6";
 
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
-    sha256 ="1r1d92zrff94rfx011dw2qsgdwd2ksqlz15la74d6h7sfcsnyd01";
+    sha256 ="03v50hmgfvrci5fz31zmklmp6ix7qpqnhvm6639wbk3g5mcrh5w6";
   };
 
   #phaseNames = ["doConfigure" "doMakeInstall"];
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index c90e4d24f37a..542f11f6e671 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="vue";
-    version="3.1.2";
+    version="3.2.2";
     name="${baseName}-${version}";
-    url="http://releases.atech.tufts.edu/vue/v${version}/VUE_3_1_2.zip";
-    hash="0ga98gnp4qhcrb31cb8j0mwbrh6ym6hr4k5y4blxvyfff9c0vq47";
+    url="releases.atech.tufts.edu/jenkins/job/VUE/64/deployedArtifacts/download/artifact.2";
+    hash="0sb1kgan8fvph2cqfxk3906cwx5wy83zni2vlz4zzi6yg4zvfxld";
   };
 in
 rec {
@@ -30,9 +30,8 @@ rec {
   phaseNames = ["doDeploy"];
 
   doDeploy = a.fullDepEntry ''
-    unzip ${src}
     mkdir -p "$out"/{share/vue,bin}
-    cp VUE.jar "$out/share/vue/vue.jar"
+    cp ${src} "$out/share/vue/vue.jar"
     echo '#!${a.stdenv.shell}' >> "$out/bin/vue" 
     echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue" 
     chmod a+x "$out/bin/vue"
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 273998dde5d1..7d4d2715d04a 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,5 +1,5 @@
 { cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
-, utf8String, X11, X11Xft
+, utf8String, wirelesstools, X11, X11Xft
 }:
 
 cabal.mkDerivation (self: {
@@ -11,8 +11,8 @@ cabal.mkDerivation (self: {
   buildDepends = [
     filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
   ];
-  extraLibraries = [ libXrandr ];
-  configureFlags = "-fwith_xft";
+  extraLibraries = [ libXrandr wirelesstools ];
+  configureFlags = "-fwith_xft -fwith_iwlib";
   meta = {
     homepage = "http://projects.haskell.org/xmobar/";
     description = "A Minimalistic Text Based Status Bar";
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index e5eae771d8b3..f3431f9480fd 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper }:
 
 stdenv.mkDerivation rec {
-
-  version = "0.2.2";
-
+  version = "0.2.5";
   name = "zathura-core-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
-    sha256 = "1ja2j9ygymr259fxf02j1vkvalypac48gpadq8fn3qbclxxj61k5";
+    sha256 = "1lw9q0x4b7x6z86hwgs93f8srimd0sj8fwg91185f63yz9g800fr";
   };
 
-  buildInputs = [ pkgconfig gtk girara gettext makeWrapper ];
+  buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
 
   # Bug in zathura build system: we should remove empty manfiles in order them
   # to be compiled properly
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 8bdc7865832d..74288657fb35 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -3,13 +3,19 @@
 rec {
   inherit (pkgs) stdenv;
 
-  zathura_core = callPackage ./core { };
+  zathura_core = callPackage ./core {
+    gtk = pkgs.gtk3;
+  };
 
   zathura_pdf_poppler = callPackage ./pdf-poppler { };
 
-  zathura_djvu = callPackage ./djvu { };
+  zathura_djvu = callPackage ./djvu {
+    gtk = pkgs.gtk3;
+  };
 
-  zathura_ps = callPackage ./ps { };
+  zathura_ps = callPackage ./ps {
+    gtk = pkgs.gtk3;
+  };
 
   zathuraWrapper = stdenv.mkDerivation {
 
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index 9486acfef656..1a2347f27277 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-djvu-0.2.1";
+  name = "zathura-djvu-0.2.3";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "d8bb3c9e30244a0733e49740ee2dd099ce39fa16f2c320af27a0c09d9a25bcc3";
+    sha256 = "12gd8kb0al5mknh4rlvxzgzwz3vhjggqjh8ws27phaq14paq4vn1";
   };
 
   buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index faf4e49b968b..71c418f168c4 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.2";
+  version = "0.2.4";
   name = "zathura-pdf-poppler-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "0px59f0bnmb9992n3c9iyzcwd6w7vg8ga069vc8qj4726ljml4c7";
+    sha256 = "1x1n21naixb87g1knznjfjfibazzwbn1cv7d42kxgwlnf1p1wbzm";
   };
 
   buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index 7c0dd552a66c..eef020016015 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, libspectre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-ps-0.2.0";
+  name = "zathura-ps-0.2.2";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "717eda01213b162421b6b52f29d6b981edc302fddf351ccb2c093b6842751414";
+    sha256 = "1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76";
   };
 
   buildInputs = [ pkgconfig libspectre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index c2d2f28751a7..895ebd7911be 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -14,9 +14,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-  version = "1.1.70";
-  sha256 = if stdenv.system == "x86_64-linux" then "1hnyncq5439fxn1q8dkzcg2alxjkanr4q4pgqqf3nngz4cdar5vi"
-    else if stdenv.system == "i686-linux" then "1ijdmzl8bnb4k99vrjn5gd31hy64p9wiyxw5wc5gbpgap191h5i5"
+  version = "1.2.82";
+  sha256 = if stdenv.system == "x86_64-linux" then "0cqrscav57xwz7rag6wy06xw6z7ca97xailprgg6jdjv4pnc91ra"
+    else if stdenv.system == "i686-linux" then "1b9rnfk0wkhj1zybvfqwgd9dcqnxwdnp7m0vf6lhrgi75cydj7is"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
 in stdenv.mkDerivation {
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index fa91a877fdc0..87cdf673041a 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -46,16 +46,17 @@ let
 
     prePatch = "patchShebangs .";
 
-    patches = singleton (
-      if versionOlder version "31.0.0.0"
-      then ./sandbox_userns_30.patch
-      else ./sandbox_userns_31.patch
-    );
+    patches = singleton ./sandbox_userns_31.patch;
 
     postPatch = ''
       sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi
+    '' + (if versionOlder version "32.0.0.0" then ''
       sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi
-    '' + optionalString useOpenSSL ''
+    '' else ''
+      sed -i -e 's|/usr/bin/gcc|gcc|' \
+        third_party/WebKit/Source/build/scripts/scripts.gypi \
+        third_party/WebKit/Source/build/scripts/preprocessor.pm
+    '') + optionalString useOpenSSL ''
       cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
     '';
 
diff --git a/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch b/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
deleted file mode 100644
index 9a412352c521..000000000000
--- a/pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-commit 41510de6ae32e6161073992bd1243f7f33148a06
-Author: aszlig <aszlig@redmoonstudios.org>
-Date:   Thu May 16 14:17:56 2013 +0200
-
-    zygote: Add support for user namespaces on Linux.
-    
-    The implementation is done by patching the Zygote host to execute the sandbox
-    binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child
-    process is using uid 0 and gid 0 which map to the current user of the parent.
-    Afterwards, the sandbox will continue as if it was called as a setuid binary.
-    
-    In addition, this adds new_user_namespace as an option in process_util in order
-    to set the UID and GID mapping correctly. The reason for this is that just
-    passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because
-    without setting the mappings exec*() will clear the process's capability sets.
-    
-    If the kernel doesn't support unprivileged user namespaces and the sandbox
-    binary doesn't have the setuid flag, the Zygote main process will run without a
-    sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set.
-    
-    Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-
-diff --git a/base/process/launch.h b/base/process/launch.h
-index 45b1053..ce71418 100644
---- a/base/process/launch.h
-+++ b/base/process/launch.h
-@@ -51,6 +51,7 @@ struct LaunchOptions {
-         new_process_group(false)
- #if defined(OS_LINUX)
-         , clone_flags(0)
-+        , new_user_namespace(false)
- #endif  // OS_LINUX
- #if defined(OS_CHROMEOS)
-         , ctrl_terminal_fd(-1)
-@@ -125,6 +126,9 @@ struct LaunchOptions {
- #if defined(OS_LINUX)
-   // If non-zero, start the process using clone(), using flags as provided.
-   int clone_flags;
-+
-+  // If true, start the process in a new user namespace.
-+  bool new_user_namespace;
- #endif  // defined(OS_LINUX)
- 
- #if defined(OS_CHROMEOS)
-diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc
-index 52e149c..312f835 100644
---- a/base/process/launch_posix.cc
-+++ b/base/process/launch_posix.cc
-@@ -37,6 +37,13 @@
- #include "base/threading/platform_thread.h"
- #include "base/threading/thread_restrictions.h"
- 
-+#if defined(OS_LINUX)
-+#include <sched.h>
-+#if !defined(CLONE_NEWUSER)
-+#define CLONE_NEWUSER 0x10000000
-+#endif
-+#endif
-+
- #if defined(OS_CHROMEOS)
- #include <sys/ioctl.h>
- #endif
-@@ -416,13 +423,23 @@ bool LaunchProcess(const std::vector<std::string>& argv,
- 
-   pid_t pid;
- #if defined(OS_LINUX)
--  if (options.clone_flags) {
-+  int map_pipe_fd[2];
-+  int flags = options.clone_flags;
-+
-+  if (options.new_user_namespace) {
-+    flags |= CLONE_NEWUSER;
-+    if (pipe(map_pipe_fd) < 0) {
-+      DPLOG(ERROR) << "user namespace pipe";
-+      return false;
-+    }
-+  }
-+
-+  if (options.clone_flags || options.new_user_namespace) {
-     // Signal handling in this function assumes the creation of a new
-     // process, so we check that a thread is not being created by mistake
-     // and that signal handling follows the process-creation rules.
--    RAW_CHECK(
--        !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
--    pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
-+    RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
-+    pid = syscall(__NR_clone, flags, 0, 0, 0);
-   } else
- #endif
-   {
-@@ -440,6 +457,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
-   } else if (pid == 0) {
-     // Child process
- 
-+#if defined(OS_LINUX)
-+    if (options.new_user_namespace) {
-+      // Close the write end of the pipe so we get an EOF when the parent closes
-+      // the FD. This is to avoid race conditions when the UID/GID mappings are
-+      // written _after_ execvp().
-+      close(map_pipe_fd[1]);
-+
-+      char dummy;
-+      if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) {
-+        RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe.");
-+        _exit(127);
-+      }
-+    }
-+#endif
-+
-     // DANGER: fork() rule: in the child, if you don't end up doing exec*(),
-     // you call _exit() instead of exit(). This is because _exit() does not
-     // call any previously-registered (in the parent) exit handlers, which
-@@ -555,6 +587,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
-     _exit(127);
-   } else {
-     // Parent process
-+#if defined(OS_LINUX)
-+    if (options.new_user_namespace) {
-+      // We need to write UID/GID mapping here to map the current user outside
-+      // the namespace to the root user inside the namespace in order to
-+      // correctly "fool" the child process.
-+      char buf[256];
-+      int map_fd, map_len;
-+
-+      snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid);
-+      map_fd = open(buf, O_RDWR);
-+      DPCHECK(map_fd >= 0);
-+      snprintf(buf, sizeof(buf), "0 %d 1", geteuid());
-+      map_len = strlen(buf);
-+      if (write(map_fd, buf, map_len) != map_len) {
-+        RAW_LOG(WARNING, "Can't write to uid_map.");
-+      }
-+      close(map_fd);
-+
-+      snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid);
-+      map_fd = open(buf, O_RDWR);
-+      DPCHECK(map_fd >= 0);
-+      snprintf(buf, sizeof(buf), "0 %d 1", getegid());
-+      map_len = strlen(buf);
-+      if (write(map_fd, buf, map_len) != map_len) {
-+        RAW_LOG(WARNING, "Can't write to gid_map.");
-+      }
-+      close(map_fd);
-+
-+      // Close the pipe on the parent, so the child can continue doing the
-+      // execvp() call.
-+      close(map_pipe_fd[1]);
-+    }
-+#endif
-+
-     if (options.wait) {
-       // While this isn't strictly disk IO, waiting for another process to
-       // finish is the sort of thing ThreadRestrictions is trying to prevent.
-diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
-index bb84e62..bce0d18 100644
---- a/content/browser/zygote_host/zygote_host_impl_linux.cc
-+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
-@@ -119,25 +119,31 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
- 
-   sandbox_binary_ = sandbox_cmd.c_str();
- 
--  // A non empty sandbox_cmd means we want a SUID sandbox.
--  using_suid_sandbox_ = !sandbox_cmd.empty();
-+  bool userns_sandbox = false;
-+  const std::vector<std::string> cmd_line_unwrapped(cmd_line.argv());
- 
--  if (using_suid_sandbox_) {
-+  if (!sandbox_cmd.empty()) {
-     struct stat st;
-     if (stat(sandbox_binary_.c_str(), &st) != 0) {
-       LOG(FATAL) << "The SUID sandbox helper binary is missing: "
-                  << sandbox_binary_ << " Aborting now.";
-     }
- 
--    if (access(sandbox_binary_.c_str(), X_OK) == 0 &&
--        (st.st_uid == 0) &&
--        (st.st_mode & S_ISUID) &&
--        (st.st_mode & S_IXOTH)) {
-+    if (access(sandbox_binary_.c_str(), X_OK) == 0) {
-+      using_suid_sandbox_ = true;
-+
-       cmd_line.PrependWrapper(sandbox_binary_);
- 
-       scoped_ptr<sandbox::SetuidSandboxClient>
-           sandbox_client(sandbox::SetuidSandboxClient::Create());
-       sandbox_client->SetupLaunchEnvironment();
-+
-+      if (!((st.st_uid == 0) &&
-+            (st.st_mode & S_ISUID) &&
-+            (st.st_mode & S_IXOTH))) {
-+        userns_sandbox = true;
-+        sandbox_client->SetNoSuid();
-+      }
-     } else {
-       LOG(FATAL) << "The SUID sandbox helper binary was found, but is not "
-                     "configured correctly. Rather than run without sandboxing "
-@@ -161,7 +167,19 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
-   base::ProcessHandle process = -1;
-   base::LaunchOptions options;
-   options.fds_to_remap = &fds_to_map;
-+  if (userns_sandbox)
-+    options.new_user_namespace = true;
-   base::LaunchProcess(cmd_line.argv(), options, &process);
-+
-+  if (process == -1 && userns_sandbox) {
-+    LOG(ERROR) << "User namespace sandbox failed to start, running without "
-+               << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS "
-+               << "enabled in order to use the sandbox without setuid bit.";
-+    using_suid_sandbox_ = false;
-+    options.new_user_namespace = false;
-+    base::LaunchProcess(cmd_line_unwrapped, options, &process);
-+  }
-+
-   CHECK(process != -1) << "Failed to launch zygote process";
- 
-   if (using_suid_sandbox_) {
-diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
-index 1f0e9f5..ade5aab 100644
---- a/content/zygote/zygote_main_linux.cc
-+++ b/content/zygote/zygote_main_linux.cc
-@@ -420,6 +420,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
-       *has_started_new_init = true;
-     }
- 
-+    // Don't set non-dumpable, as it causes trouble when the host tries to find
-+    // the zygote process (XXX: Not quite sure why this happens with user
-+    // namespaces). Fortunately, we also have the seccomp filter sandbox which
-+    // should disallow the use of ptrace.
-+    if (setuid_sandbox->IsNoSuid())
-+      return true;
-+
- #if !defined(OS_OPENBSD)
-     // Previously, we required that the binary be non-readable. This causes the
-     // kernel to mark the process as non-dumpable at startup. The thinking was
-diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
-index 34231d4..36e3201 100644
---- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
-+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
-@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
-   return env_->HasVar(kSandboxNETNSEnvironmentVarName);
- }
- 
-+bool SetuidSandboxClient::IsNoSuid() const {
-+  return env_->HasVar(kSandboxNoSuidVarName);
-+}
-+
- bool SetuidSandboxClient::IsSandboxed() const {
-   return sandboxed_;
- }
-@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() {
-   SetSandboxAPIEnvironmentVariable(env_);
- }
- 
-+void SetuidSandboxClient::SetNoSuid() {
-+  env_->SetVar(kSandboxNoSuidVarName, "1");
-+}
-+
- }  // namespace sandbox
- 
-diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
-index a9f6536..2e8113a 100644
---- a/sandbox/linux/suid/client/setuid_sandbox_client.h
-+++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
-@@ -39,6 +39,8 @@ class SetuidSandboxClient {
-   bool IsInNewPIDNamespace() const;
-   // Did the setuid helper create a new network namespace ?
-   bool IsInNewNETNamespace() const;
-+  // Is sandboxed without SUID binary ?
-+  bool IsNoSuid() const;
-   // Are we done and fully sandboxed ?
-   bool IsSandboxed() const;
- 
-@@ -46,6 +48,8 @@ class SetuidSandboxClient {
-   // helper.
-   void SetupLaunchEnvironment();
- 
-+  void SetNoSuid();
-+
-  private:
-   // Holds the environment. Will never be NULL.
-   base::Environment* env_;
-diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
-index aad4ff8..bd710d5 100644
---- a/sandbox/linux/suid/common/sandbox.h
-+++ b/sandbox/linux/suid/common/sandbox.h
-@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem";
- 
- static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
- static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
-+static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID";
- 
- static const long kSUIDSandboxApiNumber = 1;
- static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index aae71e8dfb60..8ee5752f4aca 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "32.0.1671.3";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1671.3.tar.xz";
-    sha256 = "0bv86ig3mrd95zh78880bcyh9b8w46s7slxq3mwwmrmqp0s8qaq0";
+    version = "33.0.1712.4";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1712.4.tar.xz";
+    sha256 = "1c1m0y3nnz2lclqi21j6hgqmb46p1hv7c22zz9fn7dax7jkimydk";
   };
   beta = {
-    version = "31.0.1650.34";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.34.tar.xz";
-    sha256 = "0c73kvp09cmq4x42rcf45v0mnbyb8rcyi5i4pj0pvfn451vbngdq";
+    version = "32.0.1700.19";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1700.19.tar.xz";
+    sha256 = "0d0kgy160pyg472ka43gxk7n09pqhhs9nd93jyxrp9qsyllfc425";
   };
   stable = {
-    version = "30.0.1599.114";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.114.tar.xz";
-    sha256 = "0q5pq8bj4y0c7hd121db1fa9g3apkpkhb6cf14ag7abgrda2pzw2";
+    version = "31.0.1650.57";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.57.tar.xz";
+    sha256 = "1xv7frf47hhvqm6f3n2l308yfrs4d8ri70q6pndx7hslhyiixzl9";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 45606c9af825..1f37911b8327 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -15,12 +15,11 @@
 
 assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
-let optional = stdenv.lib.optional;
-in rec {
+rec {
 
-  firefoxVersion = "25.0";
+  firefoxVersion = "25.0.1";
 
-  xulVersion = "25.0"; # this attribute is used by other packages
+  xulVersion = "25.0.1"; # this attribute is used by other packages
 
 
   src = fetchurl {
@@ -30,7 +29,7 @@ in rec {
         # Fall back to this url for versions not available at releases.mozilla.org.
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
     ];
-    sha1 = "854722e283659d2b6b2eacd38f757b3c5b63a448";
+    sha1 = "592ebd242c4839ef0e18707a7e959d8bed2a98f3";
   };
 
   commonConfigureFlags =
diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix
index 7e181669cd1c..84269a290e9a 100644
--- a/pkgs/applications/networking/browsers/icecat-3/default.nix
+++ b/pkgs/applications/networking/browsers/icecat-3/default.nix
@@ -114,5 +114,6 @@ stdenv.mkDerivation {
   passthru = {
     inherit gtk version;
     isFirefox3Like = true;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 0363176257fd..d4d95f7e5b99 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -44,9 +44,9 @@ let
         throw "no x86_64 debugging version available"
       else rec {
         # -> http://labs.adobe.com/downloads/flashplayer10.html
-        version = "11.2.202.297";
+        version = "11.2.202.310";
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "0jfigq56p6zp61pmc4jl12p8gv2jhfmim18j1b30iikw3iv26lh8";
+        sha256 = "03r9r7h3l4i15hw62k9il6pjzq122nldbgxr37b4y10xp08a9izj";
       }
     else if stdenv.system == "i686-linux" then
       if debug then {
@@ -55,9 +55,9 @@ let
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
         sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
       } else rec {
-        version = "11.2.202.297";
+        version = "11.2.202.310";
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "0mpj25b2ar7gccqmw5lffdzlr3yyfalphpgwnl18s05wy1fx484y";
+        sha256 = "0qf09p92silp81pjfcg2vcfcfi1padizmb58q5iaarnapgkawlbh";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
index 883cf94b06fe..47f0c2f64552 100644
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ b/pkgs/applications/networking/browsers/netsurf/haru.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
     license = "ZLIB/LIBPNG"; # see README.
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
index 8ee8518c531c..fec93c39ab9d 100644
--- a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     license = "MIT";
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 63ae2ef86d43..5894e5c1c033 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     license = "MIT";
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 99589a3d71b5..17703b2b3fc1 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -25,9 +25,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
-  version = "2.4.3";
-  sha256 = if stdenv.system == "x86_64-linux" then "0g8iqgc18qbw8fvdjf0fhbal34rvwr5izrf5acfzqjg99dgih81r"
-    else if stdenv.system == "i686-linux" then "1nhmk319whj6cil6wg9hrfln9bxin3fnf6sxb0zg2ycfpnnqi0la"
+  version = "2.4.7";
+  sha256 = if stdenv.system == "x86_64-linux" then "08fh0zx9q83dvivnbx5zr1cwb69ihhlx9mkbd3ikynk1wd8df8n8"
+    else if stdenv.system == "i686-linux" then "0rhblpahg2axglpi8iavsglffw83rj71qy113wj2dh6q72124j2h"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
index 3bca5cc91da1..029a6f8e6339 100644
--- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
@@ -2,11 +2,11 @@
 , gettext, libiconvOrEmpty, makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
-  name = "newsbeuter-2.6";
+  name = "newsbeuter-2.7";
 
   src = fetchurl {
     url = "http://www.newsbeuter.org/downloads/${name}.tar.gz";
-    sha256 = "1hywz5206k0ykjklkjvnfy9fm4jfv9phz8dkzzwhfcjvqv9zv29i";
+    sha256 = "0flhzzlbdirjmrq738gmcxqqnifg3kb7plcwqcxshpizmjkhswp6";
   };
 
   buildInputs
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
new file mode 100644
index 000000000000..17e97d92b897
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchgit, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
+, gettext, libiconvOrEmpty, makeWrapper, perl }:
+
+stdenv.mkDerivation rec {
+  name = "newsbeuter-dev-20131118";
+
+  src = fetchgit {
+    url = "https://github.com/akrennmair/newsbeuter.git";
+    rev = "18b73f7d44a99a698d4878fe7d226f55842132c2";
+  };
+
+  buildInputs
+    # use gettext instead of libintlOrEmpty so we have access to the msgfmt
+    # command
+    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ]
+      ++ libiconvOrEmpty
+      ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
+
+  preBuild = ''
+    sed -i -e 104,108d config.sh
+    sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl
+    export LDFLAGS=-lncursesw
+  '';
+
+  NIX_CFLAGS_COMPILE =
+    "-I${libxml2}/include/libxml2 -I${json-c-0-11}/include/json-c";
+
+  NIX_LDFLAGS = "-lsqlite3 -lcurl -lxml2 -lstfl -ljson";
+
+  installPhase = ''
+    DESTDIR=$out prefix=\"\" make install
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.newsbeuter.org;
+    description = "An open-source RSS/Atom feed reader for text terminals";
+    maintainers = with maintainers; [ lovek323 ];
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 24fdd1053417..b7c9a76e151f 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext, pkgconfig, xdg_utils, gtk2, sqlite }:
+{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext
+, pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.6.0.2"; in
+let version = "3.7.3"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "01n6k1q21i21451rdx3rgc4hhxghdn5b0ldzpjsp44ipgww5wsjk";
+    sha256 = "0hn043jjb7qh040dgyhffp9jrrmca1xxbc998vyqyg83lrq2j09b";
   };
 
   configureFlags = [
     "--disable-manualupdatecheck"
   ];
 
-  buildInputs = [ dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite ];
+  buildInputs = [
+    dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://filezilla-project.org/";
     description = "Graphical FTP, FTPS and SFTP client";
-    license = "GPLv2";
-
+    license = licenses.gpl2;
     longDescription = ''
       FileZilla Client is a free, open source FTP client. It supports
       FTP, SFTP, and FTPS (FTP over SSL/TLS). The client is available
       under many platforms, binaries for Windows, Linux and Mac OS X are
       provided.
     '';
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/fuze/default.nix b/pkgs/applications/networking/instant-messengers/fuze/default.nix
new file mode 100644
index 000000000000..9ccada87fe2f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/fuze/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, dpkg, openssl, alsaLib, libXext, libXfixes, libXrandr
+, libjpeg, curl, libX11, libXmu, libXv, libXtst, qt4, mesa, zlib
+, gnome, libidn, rtmpdump, c-ares, openldap, makeWrapper, cacert
+}:
+assert stdenv.system == "x86_64-linux";
+let
+  curl_custom =
+    stdenv.lib.overrideDerivation curl (args: { 
+      configureFlags = args.configureFlags ++ ["--with-ca-bundle=${cacert}/etc/ca-bundle.crt"] ; 
+    } );
+in
+stdenv.mkDerivation {
+  name = "fuze-1.0.5";
+  src = fetchurl {
+    url = http://apt.fuzebox.com/apt/pool/lucid/main/f/fuzelinuxclient/fuzelinuxclient_1.0.5.lucid_amd64.deb;
+    sha256 = "0gvxc8qj526cigr1lif8vdn1aawj621camkc8kvps23r7zijhnqv";
+  };
+  buildInputs = [ dpkg makeWrapper ];
+  libPath =
+    stdenv.lib.makeLibraryPath [
+      openssl alsaLib libXext libXfixes libXrandr libjpeg curl_custom
+      libX11 libXmu libXv qt4 libXtst mesa stdenv.gcc.gcc zlib
+      gnome.GConf libidn rtmpdump c-ares openldap
+    ];
+  buildCommand = ''
+    dpkg-deb -x $src .
+    mkdir -p $out/lib $out/bin
+    cp -R usr/lib/fuzebox $out/lib
+
+    patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath $out/lib/fuzebox:$libPath \
+      $out/lib/fuzebox/FuzeLinuxApp
+
+    wrapProgram $out/lib/fuzebox/FuzeLinuxApp --prefix LD_LIBRARY_PATH : $libPath
+    for f in $out/lib/fuzebox/*.so.*; do
+      patchelf \
+        --set-rpath $out/lib/fuzebox:$libPath \
+        $f
+    done
+
+    ln -s ${openssl}/lib/libssl.so.1.0.0 $out/lib/fuzebox/libssl.so.0.9.8
+    ln -s ${openssl}/lib/libcrypto.so.1.0.0 $out/lib/fuzebox/libcrypto.so.0.9.8
+
+    ln -s $out/lib/fuzebox/FuzeLinuxApp $out/bin/fuze
+  '';
+
+  meta = {
+    description = "Fuze for Linux";
+    homepage = http://www.fuzebox.com;
+    license = "unknown";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 108e549d01f6..f3a88dee2cf4 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,23 +1,34 @@
-{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib }:
+{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib,
+  qt4, pulseaudio ? null }:
 
 let
 
+  version = "3.0.13.1";
+
+  arch = if stdenv.is64bit then "amd64" else "x86";
+ 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
   deps =
     [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
       xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
-      fontconfig xorg.libXext xorg.libX11 alsaLib
+      fontconfig xorg.libXext xorg.libX11 alsaLib qt4 pulseaudio
     ];
 
 in
 
 stdenv.mkDerivation {
-  name = "teamspeak-client-3.0.0-beta35";
+  name = "teamspeak-client-${version}";
 
   src = fetchurl {
-    url = http://ftp.4players.de/pub/hosted/ts3/releases/beta-35/TeamSpeak3-Client-linux_amd64-3.0.0-beta35.run;
-    sha256 = "0vygsvjs11lr5lv4x7awv7hvkycvmm9qs2vklfjs91w3f434cmrx";
+    urls = [
+       "http://dl.4players.de/ts/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+      "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+      "http://files.teamspeak-services.com/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
+    ];
+    sha256 = if stdenv.is64bit 
+		then "0mj8vpsnv906n3wgjwhiby5gk26jr5jbd94swmsf0s9kqwhsj6i1"
+                else "1hlw7lc0nl1mrsyd052s6ws64q5aabnw6qpv8mrdxb3hyp7g2qh1";
   };
 
   unpackPhase =
@@ -28,22 +39,27 @@ stdenv.mkDerivation {
 
   buildPhase =
     ''
-      ls -l
-      for i in ts3client_linux_*; do
-        echo "patching $i..."
-        patchelf \
-          --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
-          --force-rpath \
-          $i
-      done
+      mv ts3client_linux_${arch} ts3client
+      echo "patching ts3client..."
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
+        --force-rpath \
+        ts3client
     '';
-    
 
   installPhase =
     ''
+      # Delete unecessary libraries - these are provided by nixos.
+      rm *.so.*
+
+      # Install files.
       mkdir -p $out/lib/teamspeak
       mv * $out/lib/teamspeak/
+
+      # Make a symlink to the binary from bin.
+      mkdir -p $out/bin/
+      ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
     '';
 
   dontStrip = true;
@@ -53,6 +69,7 @@ stdenv.mkDerivation {
     description = "The TeamSpeak voice communication tool";
     homepage = http://teamspeak.com/;
     license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index c2af1274a24c..59aef8c6c43a 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -2,8 +2,8 @@
 , libtoxcore, pkgconfig }:
 
 let
-  version = "75d356e52a";
-  date = "20131011";
+  version = "5570b7c98aa";
+  date = "20131112";
 in
 stdenv.mkDerivation rec {
   name = "toxic-${date}-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/Tox/toxic/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "14wyvms8l07sl88g8y6g2jv95sq7cnhbaqf4n32xxilch8rymq47";
+    sha256 = "02jfdp10qcw4w62qpra59m9yzzk7a3k2nypkbq5q7ydksbqlx8sj";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index 67ff1ca02c43..44792693b363 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -11,11 +11,11 @@ let
 
 in with stdenv; mkDerivation rec {
 
-  name = "quassel-0.9.0";
+  name = "quassel-0.9.2";
 
   src = fetchurl {
     url = "http://quassel-irc.org/pub/${name}.tar.bz2";
-    sha256 = "09v0igjkzan3hllk47w39hkav6v1419vpxn2lfd8473kwdmf0grf";
+    sha256 = "1h2kzi4pgfv3qmvhxix9fffdjixs3bsya0i5c18dkh894mh02kgh";
   };
 
   buildInputs = [ cmake qt4 ]
diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix
index c3212f6aa560..ddb7b63fc6f9 100644
--- a/pkgs/applications/networking/jmeter/default.nix
+++ b/pkgs/applications/networking/jmeter/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, ant }:
 
 stdenv.mkDerivation rec {
-  name = "jmeter-2.9";
+  name = "jmeter-2.10";
   src = fetchurl {
-    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-jmeter-2.9.tgz";
-    sha256 = "14r3zn910m97jqrf6k5c4lwy214snaap2242qg76h65zk9qr20ni";
+    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz";
+    sha256 = "1ygm0h02sllh4mfl5imj46v80wnbs1x7n88gfjm523ixmgsa0fvy";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index fa006dc5f0db..97722a51bb5a 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -15,22 +15,16 @@ assert sslSupport -> openssl != null;
 assert saslSupport -> cyrus_sasl != null;
 
 let
-  gpgmePatch = fetchurl {
-    # Solution for gpgme >= 1.2: http://dev.mutt.org/trac/ticket/3300
-    url = "http://dev.mutt.org/trac/raw-attachment/ticket/3300/mutt-1.5.21-gpgme-init.patch";
-    sha256 = "1qa1c8gns4q3as1h2lk3x4di2k3hr804ar7xlc6xh9r0zjhzmlk4";
-  };
+  version = "1.5.22";
 in
 stdenv.mkDerivation rec {
-  name = "mutt-1.5.21";
+  name = "mutt-${version}";
   
   src = fetchurl {
     url = "ftp://ftp.mutt.org/mutt/devel/${name}.tar.gz";
-    sha256 = "1864cwz240gh0zy56fb47qqzwyf6ghg01037rb4p2kqgimpg6h91";
+    sha256 = "19zk81spnb0gc8y5mwmcfn33g77wv1xz5bmgic8aan07xn8fislg";
   };
 
-  patches = [ (if gpgmeSupport then gpgmePatch else null) ];
-
   buildInputs = [
     ncurses which perl
     (if headerCache then gdbm else null)
@@ -58,8 +52,12 @@ stdenv.mkDerivation rec {
     (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "A small but very powerful text-based mail client";
     homepage = http://www.mutt.org;
+    license = "GPLv2+";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
 
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index ebab3a42af67..5797354d33bd 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.15.2";
+  name = "notmuch-0.16";
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "03cwylm0y9xld0hn753v0hn62f96nagdmzxv8jlz8vdbh9iszs56";
+    sha256 = "0i7k85lfp9l0grmq7cvai2f3pw15jcrhcp96mmamr15y2pn2syg7";
   };
 
   buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];
diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix
index dd2837da40a6..a8fb387e7296 100644
--- a/pkgs/applications/networking/mailreaders/sup/default.nix
+++ b/pkgs/applications/networking/mailreaders/sup/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
+{ stdenv, fetchgit, ruby, rake, rubygems, makeWrapper, ncursesw_sup
 , xapian_ruby, gpgme, libiconvOrEmpty, mime_types, chronic, trollop, lockfile
 , gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which }:
 
 stdenv.mkDerivation rec {
-  version = "f27661b1656ae1f0d28fd89595b5a16f268d8d3d";
+  version = "20131130";
   name    = "sup-${version}";
   
   meta = {
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {
 
   dontStrip = true;
 
-  src = fetchurl {
-    url    = "https://github.com/sup-heliotrope/sup/archive/${version}.tar.gz";
-    sha256 = "08fxf1knji3260d0mrp86x6yayp43iq7kc5rfay3hga8i2sckdia";
+  src = fetchgit {
+    url = git://github.com/sup-heliotrope/sup.git;
+    rev = "a5a1e39034204ac4b05c9171a71164712690b010";
+    sha256 = "0w2w7dcif1ri1qq81csz7gj45rqd9z7hjd6x29awibybyyqyvj5s";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 55e0ed88814f..093b801401dc 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
     libnotify
   ];
 
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache'';
+
   meta = {
     description = "A GTK-based news feed agregator";
     homepage = http://lzone.de/liferea/;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
new file mode 100644
index 000000000000..5aff37580d31
--- /dev/null
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt4, which, dbus_libs, boost, libtorrentRasterbar
+, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "qbittorrent-3.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
+    sha256 = "1viia11qixp1qqxcyiw1x4if63cfyqk4rscpzp1vnhnzm06irv7y";
+  };
+
+  buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
+    pkgconfig ];
+
+  configureFlags = "--with-libboost-inc=${boost}/include "
+    + "--with-libboost-lib=${boost}/lib";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Free Software alternative to µtorrent";
+    homepage = http://www.qbittorrent.org/;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix
index ef8ddf8b0e3b..cce3d23d1945 100644
--- a/pkgs/applications/networking/remote/freerdp/unstable.nix
+++ b/pkgs/applications/networking/remote/freerdp/unstable.nix
@@ -25,7 +25,7 @@ assert printerSupport -> cups != null;
 let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
 
 stdenv.mkDerivation rec {
-  name = "freerdp-1.1pre${rev}";
+  name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = git://github.com/FreeRDP/FreeRDP.git;
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index b2b24a2565c6..24bc20af6528 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,8 +1,21 @@
 { stdenv, fetchurl, cmake, pkgconfig, makeWrapper
 , glib, gtk, gettext, libxkbfile, libgnome_keyring, libX11
-, freerdp, libssh, libgcrypt, gnutls }:
+, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem }:
 
-let version = "1.0.0"; in
+let
+  version = "1.0.0";
+  
+  desktopItem = makeDesktopItem {
+    name = "remmina";
+    desktopName = "Remmina";
+    genericName = "Remmina Remote Desktop Client";
+    exec = "remmina";
+    icon = "remmina";
+    comment = "Connect to remote desktops";
+    categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
+  };
+
+in
 
 stdenv.mkDerivation {
   name = "remmina-${version}";
@@ -18,14 +31,21 @@ stdenv.mkDerivation {
 
   cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF";
 
+  patches = [ ./lgthread.patch ];
+
   postInstall = ''
+    mkdir -pv $out/share/applications
+    mkdir -pv $out/share/icons
+    cp ${desktopItem}/share/applications/* $out/share/applications
+    cp -r $out/share/remmina/icons/* $out/share/icons
     wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11}/lib"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     license = "GPLv2";
     homepage = "http://remmina.sourceforge.net/";
     description = "Remmina is a remote desktop client written in GTK+";
     maintainers = [];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/remote/remmina/lgthread.patch b/pkgs/applications/networking/remote/remmina/lgthread.patch
new file mode 100644
index 000000000000..2d8e60f75726
--- /dev/null
+++ b/pkgs/applications/networking/remote/remmina/lgthread.patch
@@ -0,0 +1,16 @@
+Fix [undefined reference to `g_thread_init'] as suggested by
+http://ragnermagalhaes.blogspot.ru/2007/09/undefined-reference-to-gthreadinit.html
+
+diff -ru FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt FreeRDP-Remmina-356c033/remmina/CMakeLists.txt
+--- FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt	2013-11-05 12:43:27.660276912 +0400
++++ FreeRDP-Remmina-356c033/remmina/CMakeLists.txt	2013-11-05 12:53:39.607018349 +0400
+@@ -132,6 +132,8 @@
+ 	endif()
+ endif()
+ 
++set( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -lgthread-2.0" )
++
+ add_subdirectory(po)
+ add_subdirectory(icons)
+ add_subdirectory(desktop)
+
diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix
index 8113e33e0a72..ca938c086535 100644
--- a/pkgs/applications/networking/remote/teamviewer/8.nix
+++ b/pkgs/applications/networking/remote/teamviewer/8.nix
@@ -1,26 +1,20 @@
-{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper
-, bash }:
+{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
+, bash, patchelf }:
 
-# Work in progress.
-
-# It doesn't want to start unless teamviewerd is running as root.
-# I haven't tried to make the daemon run.
-
-assert stdenv.system == "i686-linux";
 let
-  topath = "${wine}/bin";
+  topath = "${wineUnstable}/bin";
 
   toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
-    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wine ]);
+    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
 in
 stdenv.mkDerivation {
   name = "teamviewer-8.0.17147";
   src = fetchurl {
     url = "http://download.teamviewer.com/download/teamviewer_linux_x64.deb";
-    sha256 = "01iynk954pphl5mq4avs843xyzvdfzng1lpsy7skgwvw0k9cx5ab";
+    sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper patchelf ];
 
   unpackPhase = ''
     ar x $src
@@ -36,9 +30,13 @@ stdenv.mkDerivation {
     #!${bash}/bin/sh
     export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=${topath}\''${PATH:+:\$PATH}
-    $out/share/teamviewer8/tv_bin/script/teamviewer
+    $out/share/teamviewer8/tv_bin/script/teamviewer "\$@"
     EOF
     chmod +x $out/bin/teamviewer
+
+    patchelf --set-rpath "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer8/tv_bin/teamviewerd
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/teamviewer8/tv_bin/teamviewerd
+    ln -s $out/share/teamviewer8/tv_bin/teamviewerd $out/bin/
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 599229753b5e..7e5fdc6ccd36 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -4,14 +4,14 @@
 , makeDesktopItem
 }:
 
-let version = "1.8.7"; in
+let version = "1.8.11"; in
 
 stdenv.mkDerivation {
   name = "wireshark-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "0hm8zisy5dg7sfhh7rvgnpffq2qcw0syd8k5kns8j0j13sf44zjw";
+    sha256 = "1nwgizs9z1dalicpp2fd9pqafidy49j0v3d1rml0spfqrkbjpfpw";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
index ba6d36a3c76c..478900bae4c9 100644
--- a/pkgs/applications/networking/znc/modules.nix
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -10,7 +10,7 @@ let
     inherit buildPhase;
     inherit installPhase;
 
-    meta.platforms = stdenv.lib.platforms.unix;
+    meta = a.meta // { platforms = stdenv.lib.platforms.unix; };
     passthru.module_name = module_name;
   });
 
@@ -30,7 +30,7 @@ in rec {
       description = "Push notification service module for ZNC";
       homepage = https://github.com/jreese/znc-push;
       repositories.git = https://github.com/jreese/znc-push.git;
-      license = stdenv.lib.license.mit;
+      license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.offline ];
     };
   };
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index eddaf8f33e7c..b399c80ebff9 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
 , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
 , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
-, libgsf, libart_lgpl
+, libgsf, libart_lgpl, perlPackages
 }:
 
 /* If you experience GConf errors when running GnuCash on NixOS, see
@@ -21,23 +21,31 @@ stdenv.mkDerivation rec {
     pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
     libgnomeprint goffice enchant gettext intltool perl guile slibGuile
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
+    perlPackages.DateManip perlPackages.FinanceQuote
   ];
 
   configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
 
   postInstall = ''
-    sed -i $out/bin/update-gnucash-gconf                                \
+    # Auto-updaters don't make sense in Nix.
+    rm $out/bin/gnc-fq-update
+
+    sed -i $out/bin/update-gnucash-gconf \
        -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-    for prog in "$out/bin/"*
+
+    for prog in $(echo "$out/bin/"*)
     do
+      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
+      # "perl <script>', i.e. they must be Perl scripts.
+      if [[ $prog =~ gnc-fq ]]; then continue; fi
       wrapProgram "$prog"                                               \
         --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
         --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
         --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
         --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
+        --prefix PERL5LIB ":" "$PERL5LIB"                               \
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "${gconf}/bin"                                \
-        --suffix PATH ":" "$out/bin"
+        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
     done
   '';
 
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
index 8b74dbad6f8e..8a29d9356df5 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/3.0.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python, texinfo }:
 
 let
-  rev = "0ec4291";
+  rev = "0e5867bc5c";
 in
 stdenv.mkDerivation {
-  name = "ledger3-2013.08.${rev}";
+  name = "ledger3-2013.11.${rev}";
 
   src = fetchgit {
     url = "https://github.com/ledger/ledger.git";
     inherit rev;
-    sha256 = "1y4rcbx8y2fxkdc7i06n1i5jf3cq05bvzpb8498mis2gwfmkw470";
+    sha256 = "16aa63z24rp5vin7al8b6nzdi4kqpawbzvh148wfr2wj60vdb1n5";
   };
 
   buildInputs = [ cmake boost gmp mpfr libedit python texinfo ];
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index cc53611493d0..11d2e770165d 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, fetchbzr, unzip, cmake, mesa, gtk, wxGTK, zlib, libX11, 
-gettext, cups } : 
+{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kicad-20130325";
+  name = "kicad-20131025";
 
-  src = fetchurl {
-    url = "http://iut-tice.ujf-grenoble.fr/cao/kicad-sources-stable_2013-03-25_BZR4005.zip";
-    sha256 = "0hg2aiis14am7mmpimcxnxvhy7c7fr5rgzlk6rjv44d9m0f9957m";
+  src = fetchbzr {
+    url = "https://code.launchpad.net/~kicad-stable-committers/kicad/stable";
+    revision = 4024;
+    sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
   };
 
   srcLibrary = fetchbzr {
     url = "http://bazaar.launchpad.net/~kicad-lib-committers/kicad/library";
-    revision = 220;
-    sha256 = "0l2lblgnm51n2w1p4ifpwdvq04rxgq73zrfxlhqa9zdlyh4rcddb";
+    revision = 293;
+    sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
   };
 
-  cmakeFlags = "-DKICAD_TESTING_VERSION=ON";
+  cmakeFlags = "-DKICAD_STABLE_VERSION=ON";
 
   # They say they only support installs to /usr or /usr/local,
   # so we have to handle this.
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ unzip cmake mesa wxGTK zlib libX11 gettext ];
+  buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ];
 
   postInstall = ''
     mkdir library
diff --git a/pkgs/applications/science/logic/ekrhyper/default.nix b/pkgs/applications/science/logic/ekrhyper/default.nix
index c90099f495a2..3a50d3e1ed05 100644
--- a/pkgs/applications/science/logic/ekrhyper/default.nix
+++ b/pkgs/applications/science/logic/ekrhyper/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="ekrhyper";
-    version="1_4_30072013";
+    version="1_4_20112013";
     name="${baseName}-${version}";
-    hash="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663";
-    url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_30072013.tar.gz";
-    sha256="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663";
+    hash="08qrsahlgqq29zyrcc8435bymj3jvxaailbgjy47jzj1ki2i0vgm";
+    url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_20112013.tar.gz";
+    sha256="08qrsahlgqq29zyrcc8435bymj3jvxaailbgjy47jzj1ki2i0vgm";
   };
   buildInputs = [
     ocaml perl
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 2e1647b6c71d..dc8e975ce1d1 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -46,11 +46,11 @@ stdenv.mkDerivation {
     #sed -ie "/compute/,999 d" tools/build-sequence # for testing
 
     poly < tools/smart-configure.sml
-
+    
     bin/build ${kernelFlag} -symlink
 
     mkdir -p "$out/bin"
-    ln -st $out/bin  "$out/src/${holsubdir}/bin/"*
+    ln -st $out/bin  $out/src/${holsubdir}/bin/*
     # ln -s $out/src/hol4.${version}/bin $out/bin
   '';
 
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index 5c8cb7203245..68d1cca7e736 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -74,8 +74,7 @@ rec {
     # A GiB of data. Installation is unpacking and editing a few files.
     # No sense in letting Hydra build it.
     # Also, it is unclear what is covered by "verbatim" - we will edit configs
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "verbatim-redistribution";
   };
   passthru = {
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index cedb491cc8b9..997080ee303c 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -18,10 +18,8 @@
 
 let
   platform =
-    if stdenv.system == "i686-linux" then
+    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then
       "Linux"
-    else if stdenv.system == "x86_64-linux" then
-      "Linux-x86-64"
     else
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index b8f7f2e65b66..2c85a1c97d17 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
 
 let
   name    = "maxima";
-  version = "5.31.2";
+  version = "5.31.3";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "12j5irwfckl5583h7lwh0wrp0c65q7mqzcsri2v086j50xvvv398";
+    sha256 = "1g959569plywqaxxp488ylblgkirqg24arwa93dplfxi4h7fc4km";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 4c1cf318b5a2..2e25ff582ee9 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -44,5 +44,7 @@ stdenv.mkDerivation {
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix
index cd2bd4fecf3d..600bd6bc4394 100644
--- a/pkgs/applications/science/spyder/default.nix
+++ b/pkgs/applications/science/spyder/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  name = "spyder-2.1.13.1";
+  name = "spyder-2.2.5";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://spyderlib.googlecode.com/files/${name}.zip";
-    sha256 = "1sg88shvw6k2v5428k13mah4pyqng43856rzr6ypz5qgwn0677ya";
+    sha256 = "1bxc5qs2bqc21s6kxljsfxnmwgrgnyjfr9mkwzg9njpqsran3bp2";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
index f33e479b3ada..8ec65e50adf3 100644
--- a/pkgs/applications/version-management/darcs/default.nix
+++ b/pkgs/applications/version-management/darcs/default.nix
@@ -21,10 +21,13 @@ cabal.mkDerivation (self: {
     mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
   '';
   meta = {
-    homepage = "http://darcs.net/";
-    description = "a distributed, interactive, smart revision control system";
+    homepage = http://darcs.net/;
+    description = "A distributed, interactive, smart revision control system";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
+    # FIXME: this gives an infinite recursion in the "darcs" attribute
+    # in all-packages.nix.
+    #platforms = self.ghc.meta.platforms;
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index af1ab52c04d7..9f7f26041ca6 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -66,7 +66,7 @@ rec {
   };
 
   tig = import ./tig {
-    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl;
+    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45;
   };
 
   hub = import ./hub {
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index e32a7dc52b9b..ea27852c4fd8 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
@@ -2,32 +2,33 @@
 , caseInsensitive, clientsession, cryptoApi, cryptohash, curl
 , dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance
 , extensibleExceptions, feed, filepath, git, gnupg1, gnutls, hamlet
-, hinotify, hS3, hslogger, HTTP, httpConduit, httpTypes, HUnit
-, IfElse, json, lsof, MissingH, MonadCatchIOTransformers
-, monadControl, mtl, network, networkInfo, networkMulticast
-, networkProtocolXmpp, openssh, perl, QuickCheck, random, regexTdfa
-, rsync, SafeSemaphore, SHA, stm, text, time, transformers
-, unixCompat, utf8String, uuid, wai, waiLogger, warp, which
-, xmlConduit, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm
-, yesodStatic
+, hinotify, hS3, hslogger, HTTP, httpConduit, httpTypes, IfElse
+, json, lsof, MissingH, MonadCatchIOTransformers, monadControl, mtl
+, network, networkInfo, networkMulticast, networkProtocolXmpp
+, openssh, perl, QuickCheck, random, regexTdfa, rsync
+, SafeSemaphore, SHA, stm, tasty, tastyHunit, tastyQuickcheck, text
+, time, transformers, unixCompat, utf8String, uuid, wai, waiLogger
+, warp, which, xmlConduit, xmlTypes, yesod, yesodCore, yesodDefault
+, yesodForm, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "4.20131024";
-  sha256 = "1a4mrx8zr5znhcy2cszv5ri9avqj7lcn467nmaj172f00vn4fd5x";
+  version = "5.20131130";
+  sha256 = "0px918wzv9zqxz7wc6rx2ay8rizbckw79yinhisjvp3y5lldyjj1";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     aeson async blazeBuilder bloomfilter caseInsensitive clientsession
     cryptoApi cryptohash dataDefault dataenc DAV dbus dlist dns
     editDistance extensibleExceptions feed filepath gnutls hamlet
-    hinotify hS3 hslogger HTTP httpConduit httpTypes HUnit IfElse json
+    hinotify hS3 hslogger HTTP httpConduit httpTypes IfElse json
     MissingH MonadCatchIOTransformers monadControl mtl network
     networkInfo networkMulticast networkProtocolXmpp QuickCheck random
-    regexTdfa SafeSemaphore SHA stm text time transformers unixCompat
-    utf8String uuid wai waiLogger warp xmlConduit xmlTypes yesod
-    yesodCore yesodDefault yesodForm yesodStatic
+    regexTdfa SafeSemaphore SHA stm tasty tastyHunit tastyQuickcheck
+    text time transformers unixCompat utf8String uuid wai waiLogger
+    warp xmlConduit xmlTypes yesod yesodCore yesodDefault yesodForm
+    yesodStatic
   ];
   buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
   configureFlags = "-fS3
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 6009493b4dbc..bde407e66f6e 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 
 let
 
-  version = "1.8.4";
+  version = "1.8.4.3";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "156bwqqgaw65rsvbb4wih5jfg94bxyf6p16mdwf0ky3f4ln55s2i";
+    sha256 = "08fbdxh2cjd4hffm0nydwysh5zh6nrssbi9x01yy0n2y8rqzly0a";
   };
 
   patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index 557886a4deb1..0752504278be 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
-  version = "1.20131006";
-  sha256 = "0yc2hszi509mc0d6245dc8cq20mjjmr8mgrd8571dy9sgda532pf";
+  version = "1.20131101";
+  sha256 = "07l8a3xiy65xicxa5v14li6jnj3niwhndm8gd6q4d7aw14yq8wbn";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index bdd6e806fe3b..23009efdbd54 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl }:
+{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }:
 
 stdenv.mkDerivation rec {
-  name = "tig-1.1";
+  name = "tig-1.2.1";
+
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    md5 = "adeb797a8320962eeb345a615257cbac";
+    sha256 = "0i19lc6dd3vdpkdd8q07xii2c4mcpiwmg55av81jyhx0y82x425p";
   };
-  buildInputs = [ncurses asciidoc xmlto docbook_xsl];
+
+  buildInputs = [ ncurses asciidoc xmlto docbook_xsl ];
+
+  preConfigure = ''
+    export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
+  '';
+
   installPhase = ''
     make install
     make install-doc
     mkdir -p $out/etc/bash_completion.d/
     cp contrib/tig-completion.bash $out/etc/bash_completion.d/
   '';
+
   meta = with stdenv.lib; {
     homepage = "http://jonas.nitro.dk/tig/";
-    description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
-    maintainers = [ maintainers.garbas maintainers.bjornfor maintainers.iElectric ];
+    description = "Text-mode interface for git";
+    maintainers = with maintainers; [ garbas bjornfor iElectric ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index b1469038d42d..bdf34cdba9a4 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -67,6 +67,9 @@ stdenv.mkDerivation rec {
         make install
         cd -
     fi
+
+    mkdir -p $out/share/bash-completion/completions
+    cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion
   '';
 
   inherit perlBindings pythonBindings;
@@ -77,6 +80,6 @@ stdenv.mkDerivation rec {
     description = "A version control system intended to be a compelling replacement for CVS in the open source community";
     homepage = http://subversion.apache.org/;
     maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/veracity/default.nix b/pkgs/applications/version-management/veracity/default.nix
index 6bf452c18210..4c69f41106b8 100644
--- a/pkgs/applications/version-management/veracity/default.nix
+++ b/pkgs/applications/version-management/veracity/default.nix
@@ -102,6 +102,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux ;
+    broken = true;
   };
 }) x
 
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
index 7d0256ae455d..cb00ac813842 100644
--- a/pkgs/applications/video/key-mon/default.nix
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   name = "key-mon-${version}";
-  version = "1.13";
+  version = "1.16";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://key-mon.googlecode.com/files/${name}.tar.gz";
-    sha256 = "02h7lcnyqwyqsycd1vlvl11ms81v0zmr9p0pfyl5gmzry9dj7imj";
+    sha256 = "1pfki1fyh3q29sj6kq1chhi1h2v9ki6sp09qyww59rjraypvzsis";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 7d2eb514c94b..ed64448c13a8 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-6.2.0";
+  name = "mkvtoolnix-6.5.0";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "0864vmdcnfwk5cb2fv1y60yvp9kqcyaqxwbvy4nsj7bzwv1iqysn";
+    sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8";
   };
 
   buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
diff --git a/pkgs/applications/video/tvtime/default.nix b/pkgs/applications/video/tvtime/default.nix
index eef6e9caf165..2ec5e813c412 100644
--- a/pkgs/applications/video/tvtime/default.nix
+++ b/pkgs/applications/video/tvtime/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 3d48b296ad9d..de6ad9021505 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "1xs1zsjip6ljqyy5jlqf14ncda4pjx166bqvjqgcyskq66m7s5yj";
+    sha256 = "14mrcswz5mz976dmplbrdm3mkwjrksspvkignhbnbvrrp77r571k";
   };
 
   buildInputs =
diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix
index 5f2e905efa09..63c1adb15e42 100644
--- a/pkgs/applications/video/xawtv/default.nix
+++ b/pkgs/applications/video/xawtv/default.nix
@@ -1,15 +1,31 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, libXft, xproto, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
+{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xproto, libv4l
+, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
 
-stdenv.mkDerivation {
-  name = "xawtv-3.95";
+stdenv.mkDerivation rec {
+  name = "xawtv-3.103";
   src = fetchurl {
-    url = http://dl.bytesex.org/releases/xawtv/xawtv-3.95.tar.gz;
-    md5 = "ad25e03f7e128b318e392cb09f52207d";
+    url = "http://linuxtv.org/downloads/xawtv/${name}.tar.bz2";
+    sha256 = "0lnxr3xip80g0rz7h6n14n9d1qy0cm56h0g1hsyr982rbldskwrc";
   };
+
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${linux}/lib/modules/*/build/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${linux}/lib/modules/${linux.modDirVersion}/build"
   '';
-  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE perl xextproto];
-  patches = [./xawtv-3.95-libfs.patch ./xawtv-3.95-makefile.patch ./xawtv-3.95-page-mask.patch ];
+
+  configureFlags="--prefix=";
+  NIX_LDFLAGS="-lgcc_s";
+
+  makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
+
+  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS perl alsaLib aalib
+                 fontsproto libXaw libXpm libXext libSM libICE xextproto libv4l];
+
+  meta = {
+    description = "TV application for Linux with apps and tools such as a teletext browser";
+    license = stdenv.lib.licenses.gpl2;
+    homePage = https://www.kraxel.org/blog/linux/xawtv/;
+    maintainers = with stdenv.lib.maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
   
 }
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch b/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
deleted file mode 100644
index 4555f1058672..000000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ruN xawtv-3.95/console/fs.h xawtv-3.95.new/console/fs.h
---- xawtv-3.95/console/fs.h	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/fs.h	2006-01-03 22:16:06.000000000 +0100
-@@ -1,5 +1,5 @@
- #ifndef X_DISPLAY_MISSING
--# include <FSlib.h>
-+# include <X11/fonts/FSlib.h>
- 
- struct fs_font {
-     Font               font;
-diff -ruN xawtv-3.95/console/Subdir.mk xawtv-3.95.new/console/Subdir.mk
---- xawtv-3.95/console/Subdir.mk	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/Subdir.mk	2006-01-03 22:32:38.000000000 +0100
-@@ -74,7 +74,7 @@
- # libraries to link
- console/fbtv     : LDLIBS  += \
- 	$(THREAD_LIBS) $(CURSES_LIBS) $(LIRC_LIBS) $(ALSA_LIBS) \
--	$(FS_LIBS) -ljpeg -lm
-+	$(FS_LIBS) -ljpeg -lm -lFS
- console/ttv      : LDLIBS  += $(THREAD_LIBS) $(AA_LIBS) -ljpeg -lm
- console/scantv   : LDLIBS  += $(THREAD_LIBS) $(VBI_LIBS) -ljpeg
- console/streamer : LDLIBS  += $(THREAD_LIBS) -ljpeg -lm
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch b/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
deleted file mode 100644
index 271bb4c7e5c0..000000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ruN xawtv-3.95/Makefile.in xawtv-3.95.new/Makefile.in
---- xawtv-3.95/Makefile.in	2004-04-22 16:52:29.000000000 +0200
-+++ xawtv-3.95.new/Makefile.in	2006-01-20 13:07:00.000000000 +0100
-@@ -3,7 +3,7 @@
- 
- # for package builds (buildroot install + no root privs needed)
- DESTDIR=
--SUID_ROOT=-m4755 -o root
-+SUID_ROOT=
- 
- # install paths
- prefix		:= @prefix@
-@@ -12,7 +12,7 @@
- mandir		:= $(DESTDIR)@mandir@
- libdir		:= $(DESTDIR)@libdir@/xawtv
- datadir		:= $(DESTDIR)@datadir@/xawtv
--resdir		:= $(DESTDIR)@resdir@
-+resdir		:= $(out)@resdir@
- config		:= @x11conf@/xawtvrc
- 
- # programs
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch b/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
deleted file mode 100644
index 5714e8238e67..000000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix problems with fbtv and kernel headers
-
-diff -urN ../tmp-orig/xawtv-3.95/console/fbtools.c ./console/fbtools.c
---- xawtv-3.95/console/fbtools.c	2003-02-14 14:14:04.000000000 +0000
-+++ xawtv-3.95/console/fbtools.c	2006-08-23 10:57:40.000000000 +0000
-@@ -21,8 +21,6 @@
- #include <linux/vt.h>
- #include <linux/fb.h>
- 
--#include <asm/page.h>
--
- #include "fbtools.h"
- 
- /* -------------------------------------------------------------------- */
-@@ -424,7 +422,7 @@
- 	goto err;
-     }
- #endif
--    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (~PAGE_MASK);
-+    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & ~(sysconf(_SC_PAGE_SIZE)-1);
-     fb_mem = mmap(NULL,fb_fix.smem_len+fb_mem_offset,
- 		  PROT_READ|PROT_WRITE,MAP_SHARED,fb,0);
-     if (-1L == (long)fb_mem) {
-diff -urN ../tmp-orig/xawtv-3.95/console/matrox.c ./console/matrox.c
---- xawtv-3.95/console/matrox.c	2005-02-03 10:40:41.000000000 +0000
-+++ xawtv-3.95/console/matrox.c	2006-08-23 11:09:51.000000000 +0000
-@@ -9,7 +9,6 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- 
--#include <asm/page.h> /* PAGE_SIZE */
- #include <linux/fb.h>
- 
- #include "byteswap.h"
-@@ -226,7 +225,7 @@
- 	return -1;
-     }
-     off = (unsigned long)fb_fix.mmio_start -
--	((unsigned long)fb_fix.mmio_start & ~(PAGE_SIZE-1));
-+	((unsigned long)fb_fix.mmio_start & ~(sysconf(_SC_PAGE_SIZE)-1));
-     bmmio += off;
-     mmio = (uint32_t*)bmmio;
-     return 0;
-
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
new file mode 100644
index 000000000000..6b8cf5dc0356
--- /dev/null
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl
+, libX11 , mesa
+, sdlSupport ? true, SDL ? null
+, termSupport ? true , ncurses ? null, readline ? null
+, wxSupport ? true , gtk ? null , wxGTK ? null , pkgconfig ? null
+, wgetSupport ? false, wget ? null
+, curlSupport ? false, curl ? null
+}:
+
+
+assert sdlSupport -> (SDL != null);
+assert termSupport -> (ncurses != null&& readline != null);
+assert wxSupport -> (gtk != null && wxGTK != null && pkgconfig != null);
+assert wgetSupport -> (wget != null);
+assert curlSupport -> (curl != null);
+
+stdenv.mkDerivation rec {
+
+  name = "bochs-${version}";
+  version = "2.6.2";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz";
+    sha256 = "042blm1xb9ig4fh2bv8nrrfpgkcxy4hq8yrkx7mrdpm5g4mvfwyr";
+  };
+  
+  buildInputs = with stdenv.lib;
+  [ libX11 mesa ]
+  ++ optionals sdlSupport [ SDL ]
+  ++ optionals termSupport [ readline ncurses ]
+  ++ optionals wxSupport [ gtk wxGTK pkgconfig ]
+  ++ optionals wgetSupport [ wget ]
+  ++ optionals curlSupport [ curl ];
+
+  configureFlags = ''
+    --with-x11 
+    --with-term=${if termSupport then "yes" else "no"}
+    --with-sdl=${if sdlSupport then "yes" else "no"}
+    --with-svga=no
+    --with-wx=${if wxSupport then "yes" else "no"}
+    --enable-readline
+    --enable-plugins=no
+    --enable-disasm
+    --enable-debugger
+    --enable-ne2000 
+    --enable-e1000 
+    --enable-sb16 
+    --enable-voodoo 
+    --enable-usb 
+    --enable-pnic
+'';
+
+  meta = {
+    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.
+    '';
+    homepage = http://bochs.sourceforge.net/;
+    license = "LGPL";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/nova/client.nix b/pkgs/applications/virtualization/nova/client.nix
index bb65f80d2066..bcc72d19bb39 100644
--- a/pkgs/applications/virtualization/nova/client.nix
+++ b/pkgs/applications/virtualization/nova/client.nix
@@ -16,5 +16,6 @@ pythonPackages.buildPythonPackage rec {
   meta = {
     homepage = https://github.com/rackspace/python-novaclient;
     description = "Client library and command line tool for the OpenStack Nova API";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix
index a9a36ffca4fe..c1ef20b7aa08 100644
--- a/pkgs/applications/virtualization/nova/default.nix
+++ b/pkgs/applications/virtualization/nova/default.nix
@@ -20,13 +20,13 @@ stdenv.mkDerivation rec {
       paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
       # !!! should libvirt be a build-time dependency?  Note that
-      # libxml2Python is a dependency of libvirt.py. 
+      # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python
       novaclient
     ];
 
   buildInputs =
-    [ pythonPackages.python 
+    [ pythonPackages.python
       pythonPackages.wrapPython
       pythonPackages.mox
       intltool
@@ -45,11 +45,11 @@ stdenv.mkDerivation rec {
       substituteInPlace nova/api/ec2/cloud.py \
         --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
     '';
-  
+
   buildPhase = "python setup.py build";
 
   installPhase =
-    ''    
+    ''
       p=$(toPythonPath $out)
       export PYTHONPATH=$p:$PYTHONPATH
       mkdir -p $p
@@ -59,14 +59,14 @@ stdenv.mkDerivation rec {
       # computes some stuff from its own argv[0].  So put the wrapped
       # programs in $out/libexec under their original names.
       mkdir -p $out/libexec/nova
-      
+
       wrapProgram() {
           local prog="$1"
           local hidden=$out/libexec/nova/$(basename "$prog")
           mv $prog $hidden
           makeWrapper $hidden $prog "$@"
       }
-      
+
       wrapPythonPrograms
 
       cp -prvd etc $out/etc
@@ -86,9 +86,10 @@ stdenv.mkDerivation rec {
   doCheck = false; # !!! fix
 
   checkPhase = "python setup.py test";
-    
+
   meta = {
     homepage = http://nova.openstack.org/;
     description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index 3cb16a6b4425..5f149b059787 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -136,5 +136,6 @@ stdenv.mkDerivation {
     description = "Xen hypervisor and management tools for Dom0";
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.eelco ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/window-managers/awesome/3.4.nix b/pkgs/applications/window-managers/awesome/3.4.nix
new file mode 100644
index 000000000000..b21f73ddc549
--- /dev/null
+++ b/pkgs/applications/window-managers/awesome/3.4.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, cmake, gperf, imagemagick, pkgconfig, lua
+, glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil
+, xcbutilimage, xcbutilkeysyms, xcbutilwm, libpthreadstubs, libXau
+, libXdmcp, pixman, doxygen
+, libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
+, docbook_xml_dtd_45, libxslt, coreutils, which }:
+
+let
+  version = "3.4.13";
+in
+
+stdenv.mkDerivation rec {
+  name = "awesome-${version}";
+ 
+  src = fetchurl {
+    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
+  };
+ 
+  buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
+    imlib2 libxcb libxdg_basedir xcbutil xcbutilimage xcbutilkeysyms xcbutilwm
+    libstartup_notification libev libpthreadstubs libXau libXdmcp pixman doxygen
+    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt which ];
+
+  # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
+  # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
+  # dependencies.
+  prePatch = ''
+    # Fix the tab completion (supporting bash or zsh)
+    sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
+    # Remove the 'root' PATH override (I don't know why they have that)
+    sed /WHOAMI/d -i utils/awsetbg
+    # Russian manpages fail to be generated:
+    #  [ 56%] Generating manpages/ru/man1/awesome.1.xml
+    #  asciidoc: ERROR: <stdin>: line 3: name section expected
+    #  asciidoc: FAILED: <stdin>: line 3: section title expected
+    #  make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
+    substituteInPlace CMakeLists.txt \
+      --replace "set(AWE_MAN_LANGS it es fr de ru)" \
+                "set(AWE_MAN_LANGS it es fr de)"
+  '';
+ 
+  meta = {
+    homepage = http://awesome.naquadah.org/;
+    description = "Highly configurable, dynamic window manager for X";
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 61f2145ff33c..b8e1257c5bc9 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -1,51 +1,72 @@
-{stdenv, fetchurl, cmake, gperf, imagemagick, pkgconfig, lua
-, glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil
-, xcbutilimage, xcbutilkeysyms, xcbutilwm, libpthreadstubs, libXau
-, libXdmcp, pixman, doxygen
-, libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
-, docbook_xml_dtd_45, libxslt, coreutils}:
+{ stdenv, fetchurl, lua, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
+, xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs
+, xcb-util-cursor, lgi, makeWrapper, pango, gobjectIntrospection, unclutter
+, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, rxvt_unicode
+, which, dbus, nettools, git, asciidoc, doxygen }:
 
 let
-  version = "3.4.13";
+  version = "3.5.2";
 in
 
 stdenv.mkDerivation rec {
   name = "awesome-${version}";
  
   src = fetchurl {
-    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
+    url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "11iya03yzr8sa3snmywlw22ayg0d3dcy49pi8fz0bycf5aq6b38q";
   };
- 
-  buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
-    imlib2 libxcb libxdg_basedir xcbutil xcbutilimage xcbutilkeysyms xcbutilwm
-    libstartup_notification libev libpthreadstubs libXau libXdmcp pixman doxygen
-    asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt ];
 
-  # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
-  # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
-  # dependencies.
-  prePatch = ''
-    # Fix the tab completion (supporting bash or zsh)
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
-    # Remove the 'root' PATH override (I don't know why they have that)
-    sed /WHOAMI/d -i utils/awsetbg
-    # Russian manpages fail to be generated:
-    #  [ 56%] Generating manpages/ru/man1/awesome.1.xml
-    #  asciidoc: ERROR: <stdin>: line 3: name section expected
-    #  asciidoc: FAILED: <stdin>: line 3: section title expected
-    #  make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
-    substituteInPlace CMakeLists.txt \
-      --replace "set(AWE_MAN_LANGS it es fr de ru)" \
-                "set(AWE_MAN_LANGS it es fr de)"
-  '';
- 
-  meta = {
-    homepage = http://awesome.naquadah.org/;
+  meta = with stdenv.lib; {
     description = "Highly configurable, dynamic window manager for X";
-    license = "GPLv2+";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    homepage    = http://awesome.naquadah.org/;
+    license     = "GPLv2+";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux;
   };
-}
+ 
+  buildInputs = [
+    asciidoc
+    cairo
+    cmake
+    dbus
+    doxygen
+    gdk_pixbuf
+    git
+    imagemagick
+    lgi
+    libpthreadstubs
+    libstartup_notification
+    libxdg_basedir
+    lua
+    makeWrapper
+    nettools
+    pango
+    pkgconfig
+    xcb-util-cursor
+    xlibs.libXau
+    xlibs.libXdmcp
+    xlibs.libxcb
+    xlibs.xcbutil
+    xlibs.xcbutilimage
+    xlibs.xcbutilkeysyms
+    xlibs.xcbutilrenderutil
+    xlibs.xcbutilwm
+  ];
 
+  AWESOME_IGNORE_LGI = 1;
+
+  LUA_CPATH = "${lgi}/lib/lua/5.1/?.so";
+  LUA_PATH  = "${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua";
+
+  postInstall = ''
+    wrapProgram $out/bin/awesome \
+      --set LUA_CPATH '"${lgi}/lib/lua/5.1/?.so"' \
+      --set LUA_PATH '"${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua"' \
+      --set GI_TYPELIB_PATH "${pango}/lib/girepository-1.0" \
+      --set LD_LIBRARY_PATH "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \
+      --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${rxvt_unicode}/bin"
+
+    wrapProgram $out/bin/awesome-client \
+      --prefix PATH : "${which}/bin"
+  '';
+}
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index e8314ef1b433..487a8a5b387a 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -3,7 +3,7 @@
 , imlib2, pango, libstartup_notification }:
 
 stdenv.mkDerivation rec {
-  name = "openbox-3.5.0";
+  name = "openbox-3.5.2";
 
   buildInputs = [
     pkgconfig libxml2
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://openbox.org/dist/openbox/${name}.tar.gz";
-    sha256 = "02pa1wa2rzvnq1z3xchzafc96hvp3537jh155q8acfhbacb01abg";
+    sha256 = "0cxgb334zj6aszwiki9g10i56sm18i7w1kw52vdnwgzq27pv93qj";
   };
 
   meta = {
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
index 9f1542e04113..3f90b9d32bd0 100644
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ b/pkgs/build-support/clang-wrapper/builder.sh
@@ -58,11 +58,14 @@ fi
 doSubstitute() {
     local src=$1
     local dst=$2
+    local uselibcxx=
+    if test -n "$libcxx" && echo $dst | fgrep ++; then uselibcxx=$libcxx; fi
     # Can't use substitute() here, because replace may not have been
     # built yet (in the bootstrap).
     sed \
         -e "s^@out@^$out^g" \
         -e "s^@shell@^$shell^g" \
+        -e "s^@libcxx@^$uselibcxx^g" \
         -e "s^@clang@^$clang^g" \
         -e "s^@clangProg@^$clangProg^g" \
         -e "s^@binutils@^$binutils^g" \
diff --git a/pkgs/build-support/clang-wrapper/clang-wrapper.sh b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
index 2052d2c2eb4c..84067844cad8 100644
--- a/pkgs/build-support/clang-wrapper/clang-wrapper.sh
+++ b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
@@ -52,7 +52,6 @@ if test "$nonFlagArgs" = "0"; then
     dontLink=1
 fi
 
-
 # Optionally filter out paths not refering to the store.
 params=("$@")
 if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
@@ -79,6 +78,10 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
     params=("${rest[@]}")
 fi
 
+if test -n "@libcxx@"; then
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem@libcxx@/include/c++/v1 -stdlib=libc++"
+    NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L@libcxx@/lib -stdlib=libc++ -lc++abi"
+fi
 
 # Add the flags for the C compiler proper.
 extraAfter=($NIX_CFLAGS_COMPILE)
@@ -134,6 +137,12 @@ if test -n "$NIX_CLANG_WRAPPER_EXEC_HOOK"; then
     source "$NIX_CLANG_WRAPPER_EXEC_HOOK"
 fi
 
+# We nuke LD_LIBRARY_PATH here, because clang dynamically links to LLVM.
+# Unfortunately, when such clang is used to build LLVM again, it can get in
+# trouble temporarily binding to the build-directory versions of the libraries
+# (the buildsystem sets LD_LIBRARY_PATH).  That is very undesirable and can
+# cause mysterious failures.
+LD_LIBRARY_PATH=
 
 # Call the real `clang'.  Filter out warnings from stderr about unused
 # `-B' flags, since they confuse some programs.  Deep bash magic to
diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
index 9f560d0d2fba..1b2a02fa86a4 100644
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ b/pkgs/build-support/clang-wrapper/default.nix
@@ -7,7 +7,7 @@
 
 { name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
 , clang ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null
+, zlib ? null, libcxx ? null
 }:
 
 assert nativeTools -> nativePrefix != "";
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   utils = ./utils.sh;
   addFlags = ./add-flags;
   
-  inherit nativeTools nativeLibc nativePrefix clang clangVersion;
+  inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx;
   gcc = clang.gcc;
   libc = if nativeLibc then null else libc;
   binutils = if nativeTools then null else binutils;
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 00cd7d3129b3..0afae009dc57 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -142,10 +142,12 @@ init_submodules(){
     git submodule status |
     while read l; do
         # checkout each submodule
-        local hash=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\1,');
-        local dir=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\2,');
-        local url=$(sed -n "\,$dir, { :loop; n; s,^.*url = ,,; T loop; p; q }" .git/config);
-
+        local hash=$(echo $l | awk '{print substr($1,2)}');
+        local dir=$(echo $l | awk '{print $2}');
+        local name=$(
+            git config -f .gitmodules --get-regexp submodule\.[^.]*\.path |
+            sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
+        local url=$(git config -f .gitmodules --get ${name}.url);
         clone "$dir" "$url" "$hash" "";
     done;
 }
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index ea52ca19fa67..68dce2cc585b 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -21,8 +21,8 @@ fi;
 # Pipe the "p" character into Subversion to force it to accept the
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
-# hash of the output matters.
-echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
+# hash of the output matters. Pass in extra p's to handle redirects.
+printf 'p\np\np\n' | svn export ${ignoreExternals:+--ignore-externals} \
     -r "$rev" "$url" "$out"
 
 stopNest
diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix
index 6e59e97171e2..8b08708fb1d0 100644
--- a/pkgs/data/fonts/andagii/default.nix
+++ b/pkgs/data/fonts/andagii/default.nix
@@ -43,8 +43,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     # There are multiple claims that the font is GPL, 
     # so I include the package; but I cannot find the
     # original source, so use it on your own risk
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 70a8b2bc9f47..5c9903c99717 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "cantarell-fonts-0.0.7";
+  name = "cantarell-fonts-0.0.15";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.7.tar.xz;
-    sha256 = "1410ywvi951ngmx58g339phzsaf1rgjja6i0xvg49r4ds90zh8ba";
+    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.15.tar.xz;
+    sha256 = "0zmwzzfjrlpkdjb475ann11m53a2idm76ydd2rw1hjmdr74dq72j";
   };
 
   meta = {
diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix
index eb0451195d41..88596bb4fd9b 100644
--- a/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -1,6 +1,6 @@
 {fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}:
 
-let version = "2.33" ; in
+let version = "2.34" ; in
 
 stdenv.mkDerivation rec {
   name = "dejavu-fonts-${version}";
@@ -8,17 +8,17 @@ stdenv.mkDerivation rec {
   buildInputs = [fontforge perl FontTTF];
 
   unicodeData = fetchurl {
-    url = http://www.unicode.org/Public/6.1.0/ucd/UnicodeData.txt ; 
+    url = http://www.unicode.org/Public/6.1.0/ucd/UnicodeData.txt ;
     sha256 = "1bd6zkzvxfnifrn5nh171ywk7q56sgk8gdvdn43z9i53hljjcrih";
   };
   blocks = fetchurl {
-    url = http://www.unicode.org/Public/6.1.0/ucd/Blocks.txt; 
+    url = http://www.unicode.org/Public/6.1.0/ucd/Blocks.txt;
     sha256 = "0w0vkb09nrlc6mrhqyl9npszdi828afgvhvlb1vs5smjv3h8y3dz";
   };
 
   src = fetchurl {
     url = "mirror://sourceforge/dejavu/dejavu-fonts-${version}.tar.bz2";
-    sha256 = "10m0rds36yyaznfqaa9msayv6f0v1h50zbikja6qdy5dwwxi8q5w";
+    sha256 = "09wh9c9kk82i4kwy73fcqa0779bvf0ncikciqw2gxa9m2rkrxjmm";
   };
   buildFlags = "full-ttf";
   preBuild = ''
diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix
index 039e046ed55f..3487a8012dc0 100644
--- a/pkgs/data/fonts/terminus-font/default.nix
+++ b/pkgs/data/fonts/terminus-font/default.nix
@@ -1,26 +1,27 @@
-{ fetchurl, stdenv, perl, bdftopcf, mkfontdir, mkfontscale }:
+{ stdenv, fetchurl, perl, bdftopcf, mkfontdir, mkfontscale }:
+
 stdenv.mkDerivation rec {
-  name = "terminus-font-4.30";
+  name = "terminus-font-4.38";
+
   src = fetchurl {
-#    urls = "http://www.is-vn.bg/hamster/${name}.tar.gz"
-#    sha256 = "ca15718f715f1ca7af827a8ab5543b0c0339b2515f39f8c15f241b2bc1a15a9a";
-     url = "http://ftp.de.debian.org/debian/pool/main/x/xfonts-terminus/xfonts-terminus_4.30.orig.tar.gz";
-     sha256 = "d7f1253d75f0aa278b0bbf457d15927ed3bbf2565b9f6b829c2b2560fedc1712";
+    url = "mirror://sourceforge/project/terminus-font/${name}/${name}.tar.gz";
+    sha256 = "1dwpxmg0wiyhp7hh18mvw18gnf0y2jgbn80c4xya7rmb9mm8gx7n";
   };
+
   buildInputs = [ perl bdftopcf mkfontdir mkfontscale ];
+
   patchPhase = ''
     substituteInPlace Makefile --replace 'fc-cache' '#fc-cache'
   '';
+
   configurePhase = ''
-    ./configure --prefix=$out
-  '';
-  buildPhase = ''
-    make pcf
+    sh ./configure --prefix=$out
   '';
-  installPhase = '' 
-    make install-pcf
-    make fontdir
+
+  installPhase = ''
+    make install fontdir
   '';
+
   meta = {
     description = "A clean fixed width font";
     longDescription = ''
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 1e424aca46b1..134a6f5307eb 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.1";
+  name = "shared-mime-info-1.2";
 
   src = fetchurl {
     url = "http://freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0v70z5b6340jsjvdhf7brczpzq766wc1lsnjg9hc57ks2m5hjk8q";
+    sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index a9fce6369372..b4e2171dd38d 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   configureFlags = [
     "--disable-nautilus" # Do not use nautilus
     "--disable-dbus" # strange compilation error
diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix
index d3840120a657..ef0f871b5a8b 100644
--- a/pkgs/desktops/kde-4.11/default.nix
+++ b/pkgs/desktops/kde-4.11/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.2" }:
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.4" }:
 
 let
   # Need callPackageOrig to avoid infinite cycle
diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.4.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.4.nix
new file mode 100644
index 000000000000..17fe253dff4e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-package/4.11.4.nix
@@ -0,0 +1,444 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="1ljcsrvd2pdy0swvlc0rpjh39bvash5qwszx0lpc9v083jg9cwym";}
+  {name="analitza";value="1h2bcllpzlkbgxi72g8g143zk06kywgy00rcn5mypsy35b3ka70d";}
+  {name="ark";value="0q1g5kab6147pdw1mdwr2rkmggrg1x3plw9y0bny1xfvdlkmm1aq";}
+  {name="audiocd-kio";value="05a56m059awii6gk60dphb3hwi9zq5gd38i0gdx2fq9ns8a5k1qd";}
+  {name="blinken";value="0fhfy2yvpgcfjdjqq85ws2vddhbv0ljp5gda3x7i7lv730vmhvcq";}
+  {name="bomber";value="1bgpvd3kib6p7vwkkw9al1qd2mcxl8rv2lzw30d3a0mjka0a31x8";}
+  {name="bovo";value="0yb1fds74c803l932nmhs00gxqa80rcmnx5js43r60xjca8i97bf";}
+  {name="cantor";value="154dxff6yki487hy4xy301swm2j9wiv9ql6fhm399cr54yx595ix";}
+  {name="cervisia";value="1v2h0awmlnvjzyaaqkix4mzv3i63qf21y65nxxfvhzv29imqbx29";}
+  {name="dolphin-plugins";value="0jpmc93w8z1mg5cxxppqzkkr9mz5lsd1nsaflvmpyyrgvf81x2d7";}
+  {name="dragon";value="0q2b6f36yaqlbrpjq5h89d8igi270fxipbhj7dy8f31jbyiyrqk1";}
+  {name="ffmpegthumbs";value="175r16jk0sps6144a5d1yan3m6fyargcpa5pk05g3j6fm9z5il6n";}
+  {name="filelight";value="1wgzpcq11znw7gxqf6dv0zhiyyljax9cjglsg7hldrpmpcv36ry2";}
+  {name="granatier";value="1830bp4wb2dsqrh5wlw5si5k9aihv2sgv76flpksdywzgp35nsp6";}
+  {name="gwenview";value="02i8zkb93ribn2kb2f9yqr2ldgr5qzc9lsfw4iyzjbnsdssww0y5";}
+  {name="jovie";value="1qi602477f796wf27b9arhkl4lxcwl3zdr3d5ma38x1zqy422zcx";}
+  {name="juk";value="195wa7qzhadal8pqy98lsxivjkazms9bg5vig89q281p5gf675rj";}
+  {name="kaccessible";value="0mj1zfrkq14yi1sxg3xyq234rfq8ykjmalkbn4a1fb5prvr4x9zp";}
+  {name="kactivities";value="0xhmmam62pgw1f2sdgp7yhf8pxpblcaf1jrclfr0h3pjigghvixi";}
+  {name="kajongg";value="1ag5xs842923y347k92x2phbj6rjmzfpy8wxsqhkygw5bi12n7sd";}
+  {name="kalgebra";value="1c66ad47m94lb2qrn3cas8g194sri79xzx8dzprj7avc3659n3jh";}
+  {name="kalzium";value="0li8dip02hr22p0xrnhqlgjqrqmanyv48cpfd2q6q9hjhqjasf85";}
+  {name="kamera";value="0dcpypb1xzwn2qj2bfcz0dr2ck3falhqa5cgv0sa1lkizndsr9gw";}
+  {name="kanagram";value="1gmk1ncw8sappzz5hr5im4n23fiy628k9wjrf2fhdlrfin1qwhrn";}
+  {name="kapman";value="0pnxnql2vc88rjbgz2zmacwxv8nipfdqlaldllnnx0nzzv8y5fky";}
+  {name="kapptemplate";value="19n4dsdnsk0rm7xci43jmxxczf699nbslk5sqgx7ymrhqwjad647";}
+  {name="kate";value="137r2snggr4lckqdpck9m9lxa97ldhdqm5y1hs7gfnpnhkjhb1nm";}
+  {name="katomic";value="12096dnqyz41sf94w0ywpmwj1w5idrk7mbi0k18qjgbm9rqmapc7";}
+  {name="kblackbox";value="1qjp86lvbjy1chxik3v5m6c90wp86qa8vvpxiz87yryb3zzzrhmc";}
+  {name="kblocks";value="0vwmv5m2zhdagc5vhdvp8jkfnq3r6ls02a5r5k6m2vl5n5a9mi9k";}
+  {name="kbounce";value="1cy7lmx1viqwf62mpi137wsx2haqclgxccsdp5gk8xa3s9r9s08d";}
+  {name="kbreakout";value="1zf6bpdyq5qzzz2xgmprcfkx7jdg153skb24vr44x137sj8mhmb9";}
+  {name="kbruch";value="07w1isaddxs2vv5c92nskwfybh78naqgc84wzrfcand3h6bl1s6y";}
+  {name="kcachegrind";value="08c17i6mk50n7nw9b5n7hc6kgxr6k30lr79jxyh96q861ynlhsqm";}
+  {name="kcalc";value="0lj33rxcj4zb4bmdhz4gwmmakj8kz66bf97rdid4r82cdd1hyjj8";}
+  {name="kcharselect";value="1ghpnwv47yybviygrz3adjzrkmdwnl0qbljm41d0s6x5583p1dvd";}
+  {name="kcolorchooser";value="0951nnc3xlp45qh2im91xhnl7w241667bnpnr6xk4p9pn9h979ys";}
+  {name="kcron";value="1rlfyxqg15r7naqbcwgma7z2vwd6dn95fr4sr3pb460bk9pbpgvi";}
+  {name="kdeartwork";value="0rpipr6zvywr6fipz8m0bw7iik9vrxslbnnfjy7rf45ywkbz7rnz";}
+  {name="kde-baseapps";value="15j335pnswjmwcgcgsdxpkmdw6a6pskkk290j9h8pjrcf1fnwbfn";}
+  {name="kde-base-artwork";value="0ics2inh6vc5k06rfgx8nw3xr782s5r9fj9w2xvd4ynj87mswr0l";}
+  {name="kde-dev-scripts";value="0fkk70c1q7icsds4b99kk4bwxhldy8m7k829d2n659vi3mn0pw98";}
+  {name="kde-dev-utils";value="016899rkw5imqlr1n25jzyl7bm6pg7hfdc13i81ghglfwrzqcwsv";}
+  {name="kdegraphics-mobipocket";value="1x0h9hli509a7fqwy8zvccw8cnxfmaw1grnf6c8iy4fzjik1kimv";}
+  {name="kdegraphics-strigi-analyzer";value="1qpiydbqxs6xvwdad6w5k2kjx22ldy3lz3fl3afahgi038a246a1";}
+  {name="kdegraphics-thumbnailers";value="18pn0r7s334jy93ln42r0ny52nynlrbqxr65z1gqfxxh6bmf1z67";}
+  {name="kdelibs";value="1v9d0r5a07fsyrnrikwgwvh64p1gqx3ch2makl55qqqyzyg16lnx";}
+  {name="kdenetwork-filesharing";value="1y5n2bvx3p5zcr1615avzlcj2jwjw9g3ah6na99anyk14j1x8pnr";}
+  {name="kdenetwork-strigi-analyzers";value="1zymkbs4hd9lxck8fylbdkvlcfdm37g3a42gnfi7pcyqc7mv8az9";}
+  {name="kdepim";value="1rk35yzf0pm6bmnx4fjd2mw6wrn1fvllnqqrg5s2afz6v4shc9b4";}
+  {name="kdepimlibs";value="1lc5ly08drsaa198il44cbnbwrpzk9ci6nwks2gc8p93rrqd4siv";}
+  {name="kdepim-runtime";value="0bxjh2xcp46xnsk71zv22as7qyz393ri5mvshg2nam1jfs3fw38r";}
+  {name="kdeplasma-addons";value="1zdya555q7ljpabsggw23l008fy1q5sjpaphcr9jb4ycyhk879fc";}
+  {name="kde-runtime";value="05nd0ir5x6i2lkh4xhkmdvqs5rfy2bcj6ib6a9nd1v6j2v6h90dj";}
+  {name="kdesdk-kioslaves";value="0bdzm70gw64yab3wi35xri6nkkx4vf5b20r3056z6gys932wzfnp";}
+  {name="kdesdk-strigi-analyzers";value="026swm6mq4dzsq5a38kd6ijwm18gvwqq87k58z8yxc8xwj12cf4d";}
+  {name="kdesdk-thumbnailers";value="1zpakq07zgv1z6imfzpin180nyda1wdaiqjvd8wdl61c444byagp";}
+  {name="kde-wallpapers";value="0mrdgjqyw0l960f6gr6ggjgdw9fhnkv9xl5pf6sxla6jfz3w28lc";}
+  {name="kdewebdev";value="1zk4nnllan06l712scs5pxsy1awb962h1i5l4sf91d9plczdldli";}
+  {name="kde-workspace";value="0vzi0xy17n1r24gflcxfc8ld2qkg77k8isbz94zi9q56qpm0lhhk";}
+  {name="kdf";value="0sagjckmnlfh3mbfrvwxgcmngay6nc3wl3wf5jc5agyhpnac55wb";}
+  {name="kdiamond";value="17xkadf2ycsrd35j83gh2awmf9a5sm814cyz18pcgwjrp6k95dkg";}
+  {name="kdnssd";value="0vwqj5dzzjm4i780d3glnqkl5adn388y48nwazr4dz3kz1ay43hb";}
+  {name="kfloppy";value="0nybxrvki28j01bwdas9ys7m6a549190mai4s5sfnsz1sz3h0glh";}
+  {name="kfourinline";value="043xl0dby94b1v7hbnpsahd5ihgrzp3616zcf7af0icjmwxyqk8w";}
+  {name="kgamma";value="1l1j81zxl2v063wwbvalbvpsjbiq4zvpqfhpfrnp8gsp7s1sn0y9";}
+  {name="kgeography";value="1da95fq7437wiqy77v15k7b9y32d627ghfn16dbfpn1gl2srl6md";}
+  {name="kget";value="0g0yx6mkmz97j7kv9a5y8n4aqrrnr05k42d5jql74s0f1c32f8cr";}
+  {name="kgoldrunner";value="0dy0hx9ksfwyhsz160jlzks5m9y75nffgg53j4bcrzfakhbjiqfx";}
+  {name="kgpg";value="0qh8l99gpk71mag6zy86wjhm9mswy4sx7glxrwbbcqz67zag7ky3";}
+  {name="khangman";value="0452a4di9kbh36spvfaa66sgwfdrj6838h7h7k1g9bay9i7zw1vq";}
+  {name="kig";value="1yf8x2r1qmarqpsqzraf8xxamlgpynhdrl1afl74ay4npngc3dlp";}
+  {name="kigo";value="04jbhy55yb72nqsy9cblj813z33zddbmxv6fgxr8i2avr378d79c";}
+  {name="killbots";value="0sqislgqb8lkqq1gshx7m499nvwwcl5wfn5b6bpvg12azshzffs8";}
+  {name="kimono";value="0bjk8nq4avh0df1i5yz4y6ibgaas7503827dwf8klzns17if54mq";}
+  {name="kiriki";value="0209cjsiz8db4nlb9n77zdj25bi71xfl75b7l2wd64pgwlp4k0f6";}
+  {name="kiten";value="0hb0d5rcwl68vr0ca2vkqxmjx1iz6xjddyxd7fshggv1jbpybcy7";}
+  {name="kjumpingcube";value="0qxaagxg5cd12jjx4sm7mhh2x5xrgl5vsj0h7400x61j3wbr8npb";}
+  {name="klettres";value="04a5vy0qw70lm9wsh6qs3lvbadsa8d3blba9c7xxyxhy8l7zmp0h";}
+  {name="klickety";value="05csnzkb9c396b6gp3iij8m5cjgw68hw8bxqg6sv4gj66iyrymbr";}
+  {name="klines";value="09cl1cyc2mjqsf4p9ws749v2gpailj6kww2wph1iz4l3sgnavi1p";}
+  {name="kmag";value="0mna9a46140qa3y3p19gpif83qik4jgl3705mm8s06qh6ryan753";}
+  {name="kmahjongg";value="0k38vq5r4hr3pfqd37bvb08h7xm54l4kljgyfy3wrx565mq7n5xh";}
+  {name="kmines";value="04fwfsnj1a1cfr6c3h8cq9anvi4nh4kr5xbcc9l74zvmnnl8j1cw";}
+  {name="kmix";value="0wqiqgvf1hyinymwn5crqsa3bd7xv934qniyp8pwhlxk1k2ix6x0";}
+  {name="kmousetool";value="1g643dm8111jk4zq7smlp6hdz42qcmsar2v7y9c9i2a1169r5n1z";}
+  {name="kmouth";value="1ccibpnw09qm6r9nfb2jchrjwg8i5k3shq6g41i80sgpja6ir8h8";}
+  {name="kmplot";value="0kx3ccznqydqyc50sn27b6dswwyalhdhxrd789ac9xx6gpn1vcid";}
+  {name="knavalbattle";value="1lm4393jl45f90zbyvsznln4n7qccl3qw8a1d984ghmqvnx576jr";}
+  {name="knetwalk";value="0v91z2sd3pyrwsqwxhwz4rhm6lc3lr2y8kkpbyqmf8sf4pchfnkl";}
+  {name="kolf";value="00s9p9pxkd3insjs0fxnqcnhycy27wm5isyp4bnaa11i79i4zl3g";}
+  {name="kollision";value="0sf5pzrk10ad6x86wvbmf61jmnpb29hzc21z6l84cbq8iwqpms6x";}
+  {name="kolourpaint";value="1icagd88zvp138dr9l2g5cp7cisry0jmja5qh8mxpidk3ax94d7s";}
+  {name="kompare";value="02y3rlr4v5p6x9x2i0h39x0g1fql893hhyizb05ici2a61ddbs94";}
+  {name="konquest";value="0dg183wmz8b551g3j5rnd591y2sb8ksi0a3cnf8jm8wf3fwfa3zd";}
+  {name="konsole";value="15n68fihdi6fc0hgrk36q668x653y3z8zqfb5zzawpgd2pmnfkma";}
+  {name="kopete";value="1658mlfxaxl67zwd7gl0z83jnp8a8lwgvknxgpaa1nyyn2ygflkv";}
+  {name="korundum";value="1r0dk8hb54wwqk464rwaz3160mc32i7f06ar7k5cg4n9wkqrn9bk";}
+  {name="kpat";value="082kldxd0pnwdcayaww6dkal0imfnsnwdbcsdlcapzjp51i978q6";}
+  {name="kppp";value="1adsa7x8i8xc51a6k9fkqwkrv3rz0iwg1xkjfagslgm8s4iac8ki";}
+  {name="krdc";value="1ddvf4ls6mwmljg5szwqcwn3lsvvpx3pgrx7f0ml5hiymw87mhrr";}
+  {name="kremotecontrol";value="18imhmss3f5azcj4qnrx4jib2y0xx7rdjd4a6s4h8pqmigln6bin";}
+  {name="kreversi";value="0qhfpr7j7v8349kj0avk6qrsaiqj5q8bc4pf58abfsgv205gp3rj";}
+  {name="krfb";value="00z2hrbsfg461dky454xf8ipjp9phfxm8pb6kk0lzakkfzh59zzl";}
+  {name="kross-interpreters";value="1pz5isyb69cal9qyrhih7s5k6p2l2wwk5qiwczhc3h0ynmk2wssv";}
+  {name="kruler";value="03d48bv94l9ff7nli7k5q16xl92b38ih90v1bgxkq8pxl7gq493i";}
+  {name="ksaneplugin";value="0vwzkxqbha1qy6z965s8r1w183ipjz6vqfcxndjdrarzs7mw9ans";}
+  {name="kscd";value="1ari082m0bhn8ws8wl2kps94s7vhxkrmhlzpzggvl6fssa5fssya";}
+  {name="kshisen";value="18pliigc2wg1iypf9r8imqp5ih35vbdd4fac7fsac9mzmdvr8pib";}
+  {name="ksirk";value="1is01dzsd2x6m6vn71i552q0z3qshhgfmlqkvl9g3vsjlz9a811j";}
+  {name="ksnakeduel";value="0bnaxvzgf7bml483xdvpv1axfi39gxpbykcj8p4vcmkyaqlg9xc6";}
+  {name="ksnapshot";value="11s5ika5fbh9rhkfbpg9qiyrbd698z17aqqi44qmwn7w7hmd51si";}
+  {name="kspaceduel";value="058x1j3nv5g77zjkvkzwr0nwfy43gyaqc180mk8xidkzk6w8ncdf";}
+  {name="ksquares";value="1si68d370k69dd70dvc5s3ny0q3lm1qp0xkyrlzphvfr9ivyb6dj";}
+  {name="kstars";value="0dxdqgbayh2mdqdjx88prsm5bplsj73xy6zjz4lml99pqz5h24wa";}
+  {name="ksudoku";value="1b3csnl43i5xfwxnc10qb8aypx8ci5x6lia9qwppcv9w0gqqpmdn";}
+  {name="ksystemlog";value="1spkyqn0ywi0nbbrcmnkmh88z6525ppshw9wnrzm2ncs9ypsy45s";}
+  {name="kteatime";value="00nwbw5509g0iz80bg1jljj07kwl9z8zxkvq27qkzx1h0bm9593n";}
+  {name="ktimer";value="0v9pfbd2hbp7wa01y13845360p7r2bdzpf9h2vc4xb9nifzva9gj";}
+  {name="ktouch";value="11shkrmw1cbn19j4k167d4qjanh5b6jdqhp65dn24zxbs9prk1y9";}
+  {name="ktuberling";value="0axx1slrk7142gm9sc61amixzabphdfp2m6zkdw4zi67ly2w15vf";}
+  {name="kturtle";value="1cm6g8n2qy779cgmvfxvmg49fssrggd1hr87pz1xakd2xkz2qbid";}
+  {name="ktux";value="039ip37bw0bxc7haz3a9b5ks9hy4k0nyyrqq7n6wdhkg0m4ji5l1";}
+  {name="kubrick";value="1fmr7w7f8p54892icbvmhd439adg5b04ddfln9ky34akbw8jiap7";}
+  {name="kuser";value="14dszc4nxgmsm1q6cigh18b97ds4ixsfqp1l717lj39makz7r6jd";}
+  {name="kwallet";value="1s2w3zqbaml3i3p0s3znka7kwcwib76p0zpfbfzjaxzgxwmb4nwm";}
+  {name="kwordquiz";value="1a6chbc4hpybxa7w50jlasp5nzrz9z4qk766cxflpf532s6mv9yl";}
+  {name="libkcddb";value="0h7kg4wnjn2j1wjm758jyf0qiwllzm39zxwkvyd4r744ra88ym6a";}
+  {name="libkcompactdisc";value="18nwbjgviyqd6pvaq4l7hsihask54knfwsk6z4rpk25ln74ls7rs";}
+  {name="libkdcraw";value="1b7yzv25dp55mqkj8ap3qy97ddhdagbsfv8kanswln33k8phjvn7";}
+  {name="libkdeedu";value="1y2iwivgqsg1bb34bif99pa58cqlamfv727h8p69b5r3x0kj1mkk";}
+  {name="libkdegames";value="0k29wf6zcqvpf9xzrxbizn4pi8mijq8rbr01vck9wx8glj3306gj";}
+  {name="libkexiv2";value="048rx25n64fyyms9wjdsnlngh5j7650gzxpszf683jgf70x9paj5";}
+  {name="libkipi";value="0i8k2x68n88v0jwp0yqwbgx6n13vrspb66p3dckwkh4nfsrmnpwn";}
+  {name="libkmahjongg";value="0b5gfqqk0jjkbhdvh55njlci1k18icijq8a0m987x92dlhyn6hf2";}
+  {name="libksane";value="13ghwcssd6zp731lcqa3z8q974g5sv48nlp38crpni83jz7wqyl8";}
+  {name="lokalize";value="1i09brs8v71xhyn3fw69asfvz95gw5iblrnqzf1iybh858fz3sg8";}
+  {name="lskat";value="11754yxbabhps0w521rzcsqjpkxdk53ikqjchhr91syiymf556as";}
+  {name="marble";value="07d6hgb65r6aa9h4ikxnssfiq5a0qqbvlq68mp9qib7hhl38qrcx";}
+  {name="mplayerthumbs";value="1z7f4ibs8jms61kary73p0v4myxsxsag299zp1h3ldfbfshv73yv";}
+  {name="nepomuk-core";value="08cqvw42zzq981vs9gdix5jjsfgn2i4x0hi7q5ajd2rqyjxngh3s";}
+  {name="nepomuk-widgets";value="0ncvza1zlk203q57741rx1cj6gqy009ygqpcnlnfbd6xpqyphqq7";}
+  {name="okteta";value="0b1y8r6fa8dy3xjyiyzj4iy4shwgqff4lv9hrw2dvm3knfvjiyzz";}
+  {name="okular";value="0wlk1rwgif1qbk7f2v26bgg27vhbjfr4pgbdvncmms43839n9zqq";}
+  {name="oxygen-icons";value="1w5yn2xyp5kadg5rf2zxb88apgj13c055if3fj5w70mxir1z8nzq";}
+  {name="pairs";value="00ygnr0r064z33z19mirz79b9dj0wfk6yp38n2rmj1z2568pq9gq";}
+  {name="palapeli";value="0gbp50aph2ckjj6bw7f5p2xfxw6x8qnypk45c4ys2bfj3xs3kzp9";}
+  {name="parley";value="0s1iv864ijrlp9wcj13lvy68133dq7spvrmf2xnspn98ba7dydc0";}
+  {name="perlkde";value="131dipnns5rmncrxh7wmpqxnwxkvnh11rhb7dx76gc9mvgr6k3kg";}
+  {name="perlqt";value="1rkjv0xmn7v8mgmlfvzfa5ix18xl62hcbgrjg800hrvj43cj7ixj";}
+  {name="picmi";value="18im6q18zsahx4y75d21ihnmpn00ml8y99xgcwf061jknf3l9rfa";}
+  {name="poxml";value="0l9zarf51p10hqdnfzks4q7vhm1lkjh1cyi3bqn097jncsv3c0pi";}
+  {name="print-manager";value="1csnbl0q50g7b0yc681pgf88vvw7f4vzqpq493nn1n6gr8i46l6v";}
+  {name="pykde4";value="0mwvs209d75s3smsb9wbvcp5n94a9rxh8nvh8d1wyvlkn60kfpr5";}
+  {name="qtruby";value="1d89h83is86szy4bqa9rb9xcc3iwjgl3kxldcy64cls44cif9vkx";}
+  {name="qyoto";value="063m9a8b7qc1hxii2w3zyf69b84129zppbrxm83i4q4s0v5y63in";}
+  {name="rocs";value="02f9cnzkq18fiblih384v3ngaps9lhgqjmzqv2k8k09bxm6pyiz5";}
+  {name="smokegen";value="17bgshfmxa8iyp65fss3g74wdjdy4rnq7wsf223ls38jk6fjnkmi";}
+  {name="smokekde";value="0dl24czf5rspgqwm5i8f0a6y911alirnz2vdjywa2j2nimi690il";}
+  {name="smokeqt";value="1j0qpqr5zjffr8hfkyav50jpxj8xj8n9jk24gahvjnkk9wpyqbjc";}
+  {name="step";value="1xz074h5hwmacf4v4ca2m580h1sppvvgcwbym142vr55pd3yd2f3";}
+  {name="superkaramba";value="16xijicbqj771mdy9l91ml8ikm0qjs9ykj8nz6az2xzw6q8izz2g";}
+  {name="svgpart";value="1d6si3w4kpbxgzyi044cr1ch9b0jrl23fyzabdzxgb2qkcfxifng";}
+  {name="sweeper";value="1snjprdkzgf80z6waclhibzwcky6k4qam9bkgfd9lkaf9hba5x88";}
+  {name="umbrello";value="08h82pizkkgqqdgfs2jinwzjb6bc2nr4zyh50fkr0bk0xlspp87f";}
+];
+modules=[
+{
+  module="kdemultimedia";
+  split=true;
+  pkgs=[
+    { name="audiocd-kio"; sane="audiocd_kio"; }
+    { name="dragon";  }
+    { name="ffmpegthumbs";  }
+    { name="juk";  }
+    { name="kmix";  }
+    { name="kscd";  }
+    { name="libkcddb";  }
+    { name="libkcompactdisc";  }
+    { name="mplayerthumbs";  }
+  ];
+}
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
+    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
+    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
+    { name="kgamma";  }
+    { name="kolourpaint";  }
+    { name="kruler";  }
+    { name="ksaneplugin";  }
+    { name="ksnapshot";  }
+    { name="libkdcraw";  }
+    { name="libkexiv2";  }
+    { name="libkipi";  }
+    { name="libksane";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdelibs";
+  split=true;
+  pkgs=[
+    { name="kdelibs";  }
+    { name="nepomuk-core"; sane="nepomuk_core"; }
+    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
+  ];
+}
+{
+  module="kdenetwork";
+  split=true;
+  pkgs=[
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
+    { name="kdnssd";  }
+    { name="kget";  }
+    { name="kopete";  }
+    { name="kppp";  }
+    { name="krdc";  }
+    { name="krfb";  }
+  ];
+}
+{
+  module="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ktimer";  }
+    { name="kwallet";  }
+    { name="print-manager"; sane="print_manager"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="applications";
+  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="konsole";  }
+  ];
+}
+{
+  module="kdetoys";
+  split=true;
+  pkgs=[
+    { name="amor";  }
+    { name="kteatime";  }
+    { name="ktux";  }
+  ];
+}
+{
+  module="kdesdk";
+  split=true;
+  pkgs=[
+    { name="cervisia";  }
+    { name="dolphin-plugins"; sane="dolphin_plugins"; }
+    { name="kapptemplate";  }
+    { name="kcachegrind";  }
+    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
+    { name="kde-dev-utils"; sane="kde_dev_utils"; }
+    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
+    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
+    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
+    { name="kompare";  }
+    { name="lokalize";  }
+    { name="okteta";  }
+    { name="poxml";  }
+    { name="umbrello";  }
+  ];
+}
+{
+  module="kdegames";
+  split=true;
+  pkgs=[
+    { name="bomber";  }
+    { name="bovo";  }
+    { name="granatier";  }
+    { name="kajongg";  }
+    { name="kapman";  }
+    { name="katomic";  }
+    { name="kblackbox";  }
+    { name="kblocks";  }
+    { name="kbounce";  }
+    { name="kbreakout";  }
+    { name="kdiamond";  }
+    { name="kfourinline";  }
+    { name="kgoldrunner";  }
+    { name="kigo";  }
+    { name="killbots";  }
+    { name="kiriki";  }
+    { name="kjumpingcube";  }
+    { name="klickety";  }
+    { name="klines";  }
+    { name="kmahjongg";  }
+    { name="kmines";  }
+    { name="knavalbattle";  }
+    { name="knetwalk";  }
+    { name="kolf";  }
+    { name="kollision";  }
+    { name="konquest";  }
+    { name="kpat";  }
+    { name="kreversi";  }
+    { name="kshisen";  }
+    { name="ksirk";  }
+    { name="ksnakeduel";  }
+    { name="kspaceduel";  }
+    { name="ksquares";  }
+    { name="ksudoku";  }
+    { name="ktuberling";  }
+    { name="kubrick";  }
+    { name="libkdegames";  }
+    { name="libkmahjongg";  }
+    { name="lskat";  }
+    { name="palapeli";  }
+    { name="picmi";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kstars";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="pairs";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  module="kdeadmin";
+  split=true;
+  pkgs=[
+    { name="kcron";  }
+    { name="ksystemlog";  }
+    { name="kuser";  }
+  ];
+}
+{
+  module="kdebindings";
+  split=true;
+  pkgs=[
+    { name="kimono";  }
+    { name="korundum";  }
+    { name="kross-interpreters"; sane="kross_interpreters"; }
+    { name="perlkde";  }
+    { name="perlqt";  }
+    { name="pykde4";  }
+    { name="qtruby";  }
+    { name="qyoto";  }
+    { name="smokegen";  }
+    { name="smokekde";  }
+    { name="smokeqt";  }
+  ];
+}
+{
+  module="kdeaccessibility";
+  split=true;
+  pkgs=[
+    { name="jovie";  }
+    { name="kaccessible";  }
+    { name="kmag";  }
+    { name="kmousetool";  }
+    { name="kmouth";  }
+  ];
+}
+{
+  module="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="sounds"; }
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+  ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdelibs";  split=false;}
+{ module="kdepim";  split=false;}
+{ module="kdepimlibs";  split=false;}
+{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
+{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
+{ module="kde-runtime"; sane="kde_runtime"; split=false;}
+{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
+{ module="kdewebdev";  split=false;
+  pkgs=[
+    { name="klinkstatus"; }
+    { name="kfilereplace"; }
+    { name="kimagemapeditor"; }
+    { name="kommander"; }
+  ];
+
+}
+{ module="kde-workspace"; sane="kde_workspace"; split=false;}
+{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
+];
+}
diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix
new file mode 100644
index 000000000000..711ba9a7f3e2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix
@@ -0,0 +1,272 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "11dzsk6kvqpvpi77414hyis5s0kp4l0xplyyhvkp28shnbzx3cab";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "0f4j7s31gw9g183wsxh27dvqkckhrlh1yr4dmd6cjiabpnk5avr5";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "09f8dayah2gb4j70pljih8rvk6fiprfvmagii72ymfjw5p609msh";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "08jlsy3ak9c5jbwan5wsq4y66sz6pam5mym1hmjfwp1dzknd8lxn";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "0lwk1qf6xnvxd6lmdif9126i4bna7cwk8dj0dd3s2qm4613gyjdz";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "16lm4k45rrxvc228bjzl57a39aybkh6kizm960znkfg8dslxvhnr";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1z0mkh7sqsblhar3fjind0m63mlx817fhw1r9f0jrijkwmv163cx";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "15611y569bk17ss62ic56ai6lwpqhg9apsqcnkdlh1iwk2wkzg8x";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1p75mfw2rs9qb0m2zybscrv2jhj7aq8w5a1rxs3hrddr2wc2k0g1";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "0zj9qn2k160184x9lypxyl6d5r8drxz585lagsvd7l0ckx3maqxn";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "0bc11cxjf8672mch30asn34pnn53a3xhz9wb4jly9bxy3bjs93m6";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1l1h1q65qsmrzgcvralpdmmmnpricbiyc5bhrd1valvgvwys2rj2";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "1wsgvmacix0vd7qr029lsgnksw3hnx57aczigcf7m5dy1mi2jk1j";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "1j7f32wsbnpzdhfki9wnb18mq26la61f6ksmad33cikq3pwn1qvf";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "1l5cvnbkgv9kxn2b67ycmkyqkdpjzq3a8ggsmn4397bj9vlplcdy";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "1lnayg8j76gzhxl21x5z92q3g8gc791c4hlgr3ifg54s8rknbbf6";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "0z8ncf32qpp9538kb5l41qhvk0c05j168x5q72cfliigs77m9jya";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "10pjjkp4nhlrjlv38w3srl5x3fi8713qsbp4i92bksas6p1n6pnw";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1d4094ql7nzw5gvhgvdw9j8pacpnlbq76j9670wj5z5mxaggm5n4";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "18s7h8bldkhl55akglmdaq1kx1z8171g96ysxvljy3aqnv400cpd";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "14insp30nb18dva5rpd1mgixhbm6rrkbbs7wl796jqzxlxin1bbg";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "02mwbsg8cvnrqizcggpsq6r9hp26z4r5sg62iksknl4fahzi9jwa";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "0w3yncz364rd7jby39cqmmswh5p7i7hn08yfn038pj9k2wvg3nli";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "09ja8vnl8ykh9j0wdrmlwhjj71dsl0kl1mlsbi0c95dphbj58m0q";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "145r6lcf7mbnfv0kk0kxmd7aq80y5dlkxpp2fy31rigpkz8syiaz";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1s11lqac8j1qbp0fq67zq7jss7j60pwgprjki73s77icir5sijpv";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1y27ax3viixbhh6yrib9k4px0y4aj6fzpnyxd9j6yibh4gmkxa49";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "08nb4fv4hafxyhdxsdf29yh3nv5c0hb3ar0329xlw5kvkvfckgza";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "1qzzbphcjl506wha4i9drzc0hrlrc4cicmw37vl1hylbkw7lfrdf";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "1rqjv25y8s0g5mr47fasybcfvw36i9z41l8gpi3rdvv52b4s0n4c";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "1cfdvbq40fk9f6xqz27bzy4shrh0i7sqbaf3l54f0zpgnqmk6c8a";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "1jz355nz34f15gic4hl09qdd648gjl3ybinbf5kpy0nj5d052lwj";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "1v1f42cipx39i9as0k2arb51a4qizh65vdld35dlkfxnkkwl5gb2";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "1mwrwwclds1fkwgak1fl148qpxblkk5jxbnjfl7lgc2a28c4w4y8";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "0x9jqq4jbf6664m201pjf0bk5m7kziqpc59ai6n3amq7ihg5zbyj";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "1x8hr1sb36jnw9g897dww3c72hqrxhpjgnzm6x8xcqjb93rrjqnz";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "1lvdz8hi5y6sia6il8x47k607dl11abmgpa07gvplv5g6gshm27q";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "0pnzdz0ms85cqjd2aav2cm1w5rb3v0q96nz7b70dz9mnyxrnjiha";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "1jgadk819ws6zcvkqrvjyx7kn0sgsdvmg15hi03mn4nijf8mzzlb";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "06yyrv21g0fyvisj45r9iqiclydj0y5lb4bkykd28f0g6nrcjlzv";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "040fnm9rmj156mn033axx6isa9fvaskw5dqzh40mjchqz4bgw6vx";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "1p5glmm7a495b1avv9n9y1im04z8nxps13pf0crvzdwplkiin8id";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "19d10b807kg50jq03xgc84dksfcfmp1vimqjbfd53qgdxdfxa9c0";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "1lpgyar5hq39463dsgwlmym5rgivyqyipls8l0km6sy24kmh43g6";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "0600x4vgflbyg0vr97vqpd405j311780d983xrf22awbyqg3hiqa";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "1zi3s9g4nykxrrpqm2fq8didip1jzv8iyscrg7fc8mls7ikz51bp";
+}
+{
+  lang = "tg";
+  saneName = "tg";
+  sha256 = "15zm9p0g4qrb2wz761gvpd05yz2pz8lpcsmdqx8lclvlqr58xl8v";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "039jmlljc3fdynsa27whmx50jb8jx3x7k1l6xdrijdk4j43j047p";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "05krj1b7z1rirr7141pyaxssnbgf74v8bcxhb2m9yb944nx2z1wx";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "19bkp5hsxd5zfgdwyc6bx1425phd8d9kd43xin13cdcikdq5nh6z";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "1fy0v0zd8mq59f3wlpn855ff8q8x6yy8a17vjnwfw69qmar0x4g8";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "0h8kycdjg8cglb7sn5m4v8djwb4smhzmws2khr309nv4930vqf14";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "0aaybsbbf19js8bxmj7kqqjnqp68fzkqdrbhjlh5c1jdxqvlr2w8";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "1xgndbjqhgw5pnws8qbb4xvrcnbr96m275hrhd3rb99q5xd4br20";
+}
+]
diff --git a/pkgs/desktops/kde-4.11/support/akonadi/default.nix b/pkgs/desktops/kde-4.11/support/akonadi/default.nix
index af27b683f25a..d51996e3bc1e 100644
--- a/pkgs/desktops/kde-4.11/support/akonadi/default.nix
+++ b/pkgs/desktops/kde-4.11/support/akonadi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "akonadi-1.10.2";
+  name = "akonadi-1.11.0";
   
   src = fetchurl {
     url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "1jij7vmrxg4kzqcq4ci73q3m3927bym5xb34kvmpq3h7p1d0vmgk";
+    sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc";
   };
 
   buildInputs = [ qt4 soprano libxslt boost sqlite ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "KDE PIM Storage Service";
     license = "LGPL";
     homepage = http://pim.kde.org/akonadi;
-    maintainers = [ maintainers.sander maintainers.urkud ];
+    maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/common.nix b/pkgs/desktops/xfce/common.nix
index a7e64707f916..9f048b18c06d 100644
--- a/pkgs/desktops/xfce/common.nix
+++ b/pkgs/desktops/xfce/common.nix
@@ -68,6 +68,8 @@
 
     xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
     xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
+    xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
+    xfce4_datetime_plugin   = callPackage ./panel-plugins/xfce4-datetime-plugin.nix   { };
 
   };
 }
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
index 4f0e7062e459..5675c09fed81 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui.nix
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
       libstartup_notification
     ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
index 62b04caaa347..4776af3be324 100644
--- a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
+++ b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig thunar intltool exo gtk udev libxfce4ui libxfce4util xfconf ];
   enableParallelBuilding = true;
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
     description = "The Thunar Archive Plugin allows you to create and extract archive files using the file context menus in the Thunar file manager";
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
index 1e7c3c5127e7..06902792624e 100644
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ b/pkgs/desktops/xfce/core/tumbler.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype,
+libgsf, poppler, bzip2 }:
 
 stdenv.mkDerivation rec {
   p_name  = "tumbler";
@@ -11,11 +12,24 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf ];
+  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf curl freetype
+    poppler libgsf bzip2];
+
+  configureFlags = [
+    # Needs gst-tag
+    # "--enable-gstreamer-thumbnailer"
+
+    # Needs libffmpegthumbnailer
+    # "--enable-ffmpeg-thumbnailer"
+    
+    "--enable-odf-thumbnailer"
+    "--enable-poppler-thumbnailer"
+  ];
 
   meta = {
     homepage = http://git.xfce.org/xfce/tumbler/;
     description = "A D-Bus thumbnailer service";
+    platforms = stdenv.lib.platforms.linux;
     license = "GPLv2";
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
index 2f05f521e013..a419f076b6e0 100644
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session.nix
@@ -21,6 +21,11 @@ stdenv.mkDerivation rec {
       polkit
     ];
 
+  preBuild = ''
+    sed '/^PATH=/d'        -i scripts/xflock4
+    sed '/^export PATH$/d' -i scripts/xflock4
+  '';
+
   configureFlags = [ "--with-xsession-prefix=$(out)" ];
 
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index f812336ee7f4..ede7ffb6c49c 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -55,7 +55,9 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   #### PANEL PLUGINS        from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"
 
   xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
-  xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
+  xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
+  xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
+  xfce4_datetime_plugin   = callPackage ./panel-plugins/xfce4-datetime-plugin.nix   { };
 
 }; # xfce_self
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
new file mode 100644
index 000000000000..267a8b77ff14
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4panel
+, gtk }:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-datetime-plugin";
+  ver_maj = "0.6";
+  ver_min = "1";
+
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "06xvh22y5y0bcy7zb9ylvjpcl09wdyb751r7gwyg7m3h44f0qd7v";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 xfce4panel gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
new file mode 100644
index 000000000000..51f30ed796ee
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4panel
+, gtk, libxklavier, librsvg, libwnck
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-xkb-plugin";
+  ver_maj = "0.5";
+  ver_min = "4.3";
+
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "0v9r0w9m5lxrzmz12f8w67l781lsywy9p1vixgn4xq6z5sxh2j6a";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel gtk
+    libxklavier librsvg libwnck ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Allows you to setup and use multiple keyboard layouts";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index 89501f11269c..3e74c143c61b 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -2,12 +2,12 @@
 , avrdude, arduino_core, avrgcclibc }:
 
 buildPythonPackage rec {
-  name = "ino-0.3.5";
+  name = "ino-0.3.6";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/i/ino/${name}.tar.gz";
-    sha256 = "1j2qzcjp6r2an1v431whq9l47s81d5af6ni8j87gv294f53sl1ab";
+    sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
   };
 
   # TODO: add avrgcclibc, it must be rebuild with C++ support
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index deb93257df73..6ad87982d522 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,18 +1,46 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, devSnapshot ? false }:
 
+let
+  version = if devSnapshot
+    then "4.8.2"
+    else "4.8.0.5";
+  srcRelease = fetchurl {
+    url = "http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz";
+    sha256 = "1yrhqirqj3l535zr5mv8d1mz9gq876wwwg4nsjfw27663far54av";
+  };
+  srcDev = fetchurl {
+    url = "http://code.call-cc.org/dev-snapshots/2013/08/08/chicken-4.8.2.tar.gz";
+    sha256 = "01g7h0664342nl536mnri4c72kwj4z40vmv1250xfndlr218qdqg";
+  };
+  platform = with stdenv;
+    if isDarwin then "macosx"
+    else if isCygwin then "cygwin"
+    else if isBSD then "bsd"
+    else if isSunOS then "solaris"
+    else "linux";               # Should be a sane default
+in
 stdenv.mkDerivation {
-  name = "chicken-4.8.1";
+  name = "chicken-${version}";
+
+  src = if devSnapshot
+    then srcDev
+    else srcRelease;
+
+  buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+  installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
 
   meta = {
     homepage = http://www.call-cc.org/;
-    description = "Chicken Scheme";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = stdenv.lib.platforms.all;
+    description = "A portable compiler for the Scheme programming language";
+    longDescription = ''
+      CHICKEN is a compiler for the Scheme programming language.
+      CHICKEN produces portable and efficient C, supports almost all
+      of the R5RS Scheme language standard, and includes many
+      enhancements and extensions. CHICKEN runs on Linux, MacOS X,
+      Windows, and many Unix flavours.
+    '';
   };
-
-  src = fetchurl {
-    url = http://code.call-cc.org/dev-snapshots/2013/01/04/chicken-4.8.1.tar.gz;
-    md5 = "bd758ec7abeaeb4f4c92c290fb5f3db7";
-  };
-
-  buildFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
-  installFlags = "PLATFORM=linux PREFIX=$(out) VARDIR=$(out)/var/lib";
 }
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index c9e9fb9e14b5..6fc65bf368b3 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Elm";
-  version = "0.10.0.1";
-  sha256 = "1r7z2fw9v6ngr9w4lmj1l6sc78rmxvqkqlxv4a9yc5jm80k3ar0i";
+  version = "0.10.0.2";
+  sha256 = "08aqz9lf754ygdwvjf4bs5ivnjyjx9rd43vrbzp0p4d3if6w6avz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 6713dd12b3cd..d7d9325ca4f8 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -462,7 +462,10 @@ stdenv.mkDerivation ({
     # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
-    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ];
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
   };
 }
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index e7483700ab0b..f4f8be273679 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
 
 stdenv.mkDerivation rec {
-  version = "7.7.20130828";
+  version = "7.7.20131202";
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "http://darcs.haskell.org/ghcBuilder/uploads/tn23/${name}-src.tar.bz2";
-    sha256 = "180nkd77kz3mv4g7yq8ipx34p5q8k714l0z2527y49lghy118jzv";
+    url = "http://cryp.to/${name}.tar.xz";
+    sha256 = "1gnp5c3x7dbaz7s2yvkw2fmvqh5by2gpp0zlcyj8p2gv13gxi2cb";
   };
 
-  buildInputs = [ ghc perl gmp ncurses ];
+  buildInputs = [ ghc perl gmp ncurses happy alex ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
index b32b12d5b954..9909c49e1435 100644
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -1,16 +1,42 @@
-{ stdenv, ghc, packages, buildEnv, makeWrapper }:
+{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
 
-assert packages != [];
+# This wrapper works only with GHC 6.12 or later.
+assert stdenv.lib.versionOlder "6.12" ghc.version;
+
+# It's probably a good idea to include the library "ghc-paths" in the
+# compiler environment, because we have a specially patched version of
+# that package in Nix that honors these environment variables
+#
+#   NIX_GHC
+#   NIX_GHCPKG
+#   NIX_GHC_DOCDIR
+#   NIX_GHC_LIBDIR
+#
+# instead of hard-coding the paths. The wrapper sets these variables
+# appropriately to configure ghc-paths to point back to the wrapper
+# instead of to the pristine GHC package, which doesn't know any of the
+# additional libraries.
+#
+# A good way to import the environment set by the wrapper below into
+# your shell is to add the following snippet to your ~/.bashrc:
+#
+#   if [ -e ~/.nix-profile/bin/ghc ]; then
+#     eval $(grep export ~/.nix-profile/bin/ghc)
+#   fi
 
 let
   ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
-  packageDBFlag = if ghc761OrLater then "--package-db" else "--package-conf";
+  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
   libDir        = "$out/lib/ghc-${ghc.version}";
+  docDir        = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
+  isHaskellPkg  = x: (x ? pname) && (x ? version);
 in
+if packages == [] then ghc else
 buildEnv {
   name = "haskell-env-${ghc.name}";
-  paths = stdenv.lib.filter (x: x ? ghc) (stdenv.lib.closePropagation packages) ++ [ghc];
+  paths = stdenv.lib.filter isHaskellPkg (stdenv.lib.closePropagation packages) ++ [ghc];
+  inherit ignoreCollisions;
   postBuild = ''
     . ${makeWrapper}/nix-support/setup-hook
 
@@ -20,6 +46,7 @@ buildEnv {
         --add-flags '"-B$NIX_GHC_LIBDIR"'               \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
@@ -29,12 +56,13 @@ buildEnv {
         --add-flags "-f $out/bin/ghc"                   \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
     for prg in ghc-pkg ghc-pkg-${ghc.version}; do
       rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag} ${packageCfgDir}"
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
     done
 
     $out/bin/ghc-pkg recache
diff --git a/pkgs/development/compilers/go/1.1-darwin.nix b/pkgs/development/compilers/go/1.1-darwin.nix
index 2cbb8d49611f..5b17f56ac37a 100644
--- a/pkgs/development/compilers/go/1.1-darwin.nix
+++ b/pkgs/development/compilers/go/1.1-darwin.nix
@@ -45,6 +45,11 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p "$out/bin"
+
+    # CGO is broken on Maverick. See: http://code.google.com/p/go/issues/detail?id=5926
+    # Reevaluate once go 1.1.3 is out
+    export CGO_ENABLED=0
+
     export GOROOT="$(pwd)/"
     export GOBIN="$out/bin"
     export PATH="$GOBIN:$PATH"
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 30ef18a1ef91..4609dd0b4422 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,21 +1,21 @@
 { cabal, ansiTerminal, ansiWlPprint, binary, boehmgc, Cabal
-, filepath, gmp, happy, haskeline, languageJava, libffi
-, llvmGeneral, llvmGeneralPure, mtl, parsec, parsers, split, text
-, time, transformers, trifecta, unorderedContainers, utf8String
-, vector, vectorBinaryInstances
+, deepseq, filepath, gmp, happy, haskeline, languageJava, mtl
+, network, parsers, split, text, time, transformers, trifecta
+, unorderedContainers, utf8String, vector, vectorBinaryInstances
+, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.9.3";
-  sha256 = "1l19xx0xbcwlnnh2w0rmri7wwixffzfrafpbji64nwyx1awz4iab";
+  version = "0.9.10.1";
+  sha256 = "194gbpk8fy64maj9lcwj9hkbndc3287bh9mz2jm09vd11i23iyg1";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal ansiWlPprint binary Cabal filepath haskeline
-    languageJava libffi llvmGeneral llvmGeneralPure mtl parsec parsers
-    split text time transformers trifecta unorderedContainers
-    utf8String vector vectorBinaryInstances
+    ansiTerminal ansiWlPprint binary Cabal deepseq filepath haskeline
+    languageJava mtl network parsers split text time transformers
+    trifecta unorderedContainers utf8String vector
+    vectorBinaryInstances xml
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
diff --git a/pkgs/development/compilers/llvm/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
new file mode 100644
index 000000000000..de6a468b239f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
@@ -0,0 +1,9 @@
+--- a/utils/TableGen/CMakeLists.txt       (revision 190146)
++++ b/utils/TableGen/CMakeLists.txt       (working copy)
+@@ -1,4 +1,5 @@
+ set(LLVM_LINK_COMPONENTS Support)
++set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ 
+ add_tablegen(clang-tblgen CLANG
+   ClangASTNodesEmitter.cpp
+
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index df58591973e6..8c178c9ce037 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ perl llvm groff cmake libxml2 python ];
 
-  patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
+  patches = [ ./clang-tablegen-dir.patch ] ++
+            stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
 
   cmakeFlags = [
     "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 288fdb33454a..34848795d4a5 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -4,11 +4,11 @@ let
   s= # Generated upstream information
   rec {
     baseName="sbcl";
-    version="1.1.12";
+    version="1.1.13";
     name="${baseName}-${version}";
-    hash="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
-    url="mirror://sourceforge/project/sbcl/sbcl/1.1.12/sbcl-1.1.12-source.tar.bz2";
-    sha256="0mvl6lpi44yv6jv3xhyyzvf9g7bdlj691iz3ydpn66v0vg5i554c";
+    hash="1f4abgzfvb0f006vbykahqg7a11d6afnjrw332r54gj8753qj7x0";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.1.13/sbcl-1.1.13-source.tar.bz2";
+    sha256="1f4abgzfvb0f006vbykahqg7a11d6afnjrw332r54gj8753qj7x0";
   };
   buildInputs = with a; [
     clisp makeWrapper
diff --git a/pkgs/development/compilers/scala/2.9.nix b/pkgs/development/compilers/scala/2.9.nix
new file mode 100644
index 000000000000..a7c9dbc90736
--- /dev/null
+++ b/pkgs/development/compilers/scala/2.9.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+# at runtime, need jre or jdk
+
+stdenv.mkDerivation rec {
+  name = "scala-2.9.2";
+
+  src = fetchurl {
+    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.tgz";
+    sha256 = "0s1shpzw2hyz7bwxdqq19rcrzbpq4d7b0kvdvjvhy7h05x496b46";
+  };
+
+  installPhase = ''
+    mkdir -p $out
+    rm bin/*.bat
+    rm lib/scalacheck.jar
+    mv * $out
+  '';
+
+  meta = {
+    description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index a7c9dbc90736..c128baf5100f 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl }:
-
-# at runtime, need jre or jdk
+{ stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.9.2";
+  name = "scala-2.10.3";
 
   src = fetchurl {
-    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.tgz";
-    sha256 = "0s1shpzw2hyz7bwxdqq19rcrzbpq4d7b0kvdvjvhy7h05x496b46";
+    url = "http://www.scala-lang.org/files/archive/${name}.tgz";
+    sha256 = "16ac935wydrxrvijv4ldnz4vl2xk8yb3yzb9bsi3nb9sic7fxl95";
   };
 
+  buildInputs = [ jre makeWrapper ] ;
+
   installPhase = ''
     mkdir -p $out
     rm bin/*.bat
-    rm lib/scalacheck.jar
     mv * $out
+
+    for p in $(ls $out/bin/) ; do
+      wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ;
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index a22b0d9ea00e..472930d047bf 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, bison, flex, boost, gputils ? null }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.0";
+  version = "3.3.0";
   name = "sdcc-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-    sha256 = "15gdl04kqpvmwvvplss5nmp3bz8rhz48dhb0wmb2v9v9sn7qj01d";
+    sha256 = "1pj4hssvq34vbryvxc2jpp2b14cgxp695ygwiax6b7l2kvr62gw7";
   };
 
   # TODO: remove this comment when gputils != null is tested
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
index b138a537809d..674b35f441e9 100644
--- a/pkgs/development/guile-modules/guile-ncurses/default.nix
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, guile, ncurses }:
+{ fetchurl, stdenv, guile, ncurses, libffi }:
 
 stdenv.mkDerivation rec {
   name = "guile-ncurses-1.3";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0chvfjrlmg99db98ra9vzwjmbypqx7d4ssm8q0kvzi0n0p9irszi";
   };
 
-  buildInputs = [ guile ncurses ];
+  buildInputs = [ guile ncurses libffi ];
 
   preConfigure =
     '' configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site" '';
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 9eba4275dd31..6bdf31bf6c96 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
 
+let
+  version = "0.11.2";
+in
 stdenv.mkDerivation {
-  name = "elixir-0.10.1";
+  name = "elixir-${version}";
 
   src = fetchurl {
-    url = "https://github.com/elixir-lang/elixir/archive/v0.10.1.tar.gz";
-    sha256 = "0gfr2bz3mw7ag9z2wb2g22n2vlyrp8dwy78fj9zi52kzl5w3vc3w";
+    url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
+    sha256 = "0rgx33q013c5y2jjwd4l93pzd3v3fha8xdsrhpl9c9wb7yprjc5x";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
@@ -34,11 +37,11 @@ stdenv.mkDerivation {
     description = "A functional, meta-programming aware language built on top of the Erlang VM";
 
     longDescription = ''
-      Elixir is a functional, meta-programming
-      aware language built on top of the Erlang VM. It is a dynamic
-      language with flexible syntax and macro support that leverages
-      Erlang's abilities to build concurrent, distributed and
-      fault-tolerant applications with hot code upgrades.p
+      Elixir is a functional, meta-programming aware language built on
+      top of the Erlang VM. It is a dynamic language with flexible
+      syntax and macro support that leverages Erlang's abilities to
+      build concurrent, distributed and fault-tolerant applications
+      with hot code upgrades.
     '';
 
     license = licenses.epl10;
diff --git a/pkgs/development/interpreters/erlang/R16B01.nix b/pkgs/development/interpreters/erlang/default.nix
index 168db4484b10..9562a0dc4522 100644
--- a/pkgs/development/interpreters/erlang/R16B01.nix
+++ b/pkgs/development/interpreters/erlang/default.nix
@@ -4,14 +4,13 @@
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
 
-let version = "16B01"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "erlang-" + version;
+  version = "R16B02";
 
   src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R16B01.tar.gz";
-    sha256 = "1h5b2mil79z307mc7ammi38qnd8f50n3sv5vyl4d1gcfgg08nf6s";
+    url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
+    sha256 = "119gnf3jfd98hpxxqs8vnzrc81myv07y302b99alalqqz0fsvf3a";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/love/default.nix b/pkgs/development/interpreters/love/default.nix
index 318a336faa66..8e7914afb616 100644
--- a/pkgs/development/interpreters/love/default.nix
+++ b/pkgs/development/interpreters/love/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, mesa, openal, lua5
+, SDL, mesa, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -12,10 +12,29 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig SDL mesa openal lua5
+    pkgconfig SDL mesa openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
+  preConfigure = ''
+    luaoptions="${"''"} lua luajit "
+    for i in lua luajit-; do
+      for j in 5 5.0 5.1 5.2 5.3 5.4; do
+        luaoptions="$luaoptions $i$j "
+      done
+    done
+    luaso="$(echo "${lua}/lib/"lib*.so.*)"
+    luaso="''${luaso##*/lib}"
+    luaso="''${luaso%%.so*}"
+    luaoptions="$luaoptions $luaso"
+    sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
+
+    luaincdir="$(echo "${lua}/include"/*/ )"
+    test -d "$luaincdir" && {
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
+    } || true
+  '';
+
   NIX_CFLAGS_COMPILE = ''
     -I${SDL}/include/SDL
     -I${freetype}include/freetype2
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
new file mode 100644
index 000000000000..e5e3aed8d124
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl} :
+
+stdenv.mkDerivation rec{
+    version = "2.0.2";
+    name = "LuaJIT-${version}";
+
+    src = fetchurl {
+        url="http://luajit.org/download/${name}.tar.gz";
+        sha256="0f3cykihfdn3gi6na9p0xjd4jnv26z18m441n5vyg42q9abh4ln0";
+    };
+
+    installPhase = ''
+        mkdir -p $out
+        make install PREFIX=$out
+    '';
+
+    meta = {
+        description= "Just-in-time compiler and interpreter for lua 5.1.";
+        homepage = http://luajit.org;
+        license = stdenv.lib.licenses.mit;
+    };
+}
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 3edf25b0cd94..1e3d73fa884e 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.20";
+  version = "5.4.21";
 
   name = "php-${version}";
 
@@ -235,7 +235,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
       "http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
     ];
-    sha256 = "1qarcxj46rzkmql3w2dln0hxzs349ph31fxcslizxch1ig7l43nd";
+    sha256 = "1v2nqvgb0lvja4as5361ja3ry8ja7ib38wzia34g7inw3bp7r3za";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/pypy/2.1/default.nix b/pkgs/development/interpreters/pypy/2.2/default.nix
index f80a1dc72428..b418b50c0897 100644
--- a/pkgs/development/interpreters/pypy/2.1/default.nix
+++ b/pkgs/development/interpreters/pypy/2.2/default.nix
@@ -5,7 +5,7 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "2.1";
+  majorVersion = "2.2";
   version = "${majorVersion}";
   pythonVersion = "2.7";
   libPrefix = "pypy${majorVersion}";
@@ -17,7 +17,7 @@ let
 
     src = fetchurl {
       url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2";
-      sha256 = "05vz7ya6jh5pw5yl607cf1rvdhwxj5d4ip0vpgb1gc9rjxn0dcri";
+      sha256 = "0kp0922d1739v3fqnxhrbwz1fg651dc5dmk3199ikq1rc2wgrzsh";
     };
 
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ]
diff --git a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh b/pkgs/development/interpreters/pypy/2.2/setup-hook.sh
index 87874f0370be..35f4915569e6 100644
--- a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh
+++ b/pkgs/development/interpreters/pypy/2.2/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.1/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.2/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/pypy2.1/site-packages"
+        p="$i/lib/pypy2.2/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 1699690749f1..34af23740d5d 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,25 +1,28 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [] }:
+{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
+, stdLibs ? stdenv.lib.attrValues python.modules
+}:
 
 # Create a python executable that knows about additional packages.
 
 (buildEnv {
   name = "python-${python.version}-wrapper";
-  paths = extraLibs ++ [ python makeWrapper recursivePthLoader ];
+  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
   ignoreCollisions = false;
 
   postBuild = ''
     . "${makeWrapper}/nix-support/setup-hook"
+
     if [ -L "$out/bin" ]; then
         unlink "$out/bin"
     fi
     mkdir -p "$out/bin"
+
     cd "${python}/bin"
     for prg in *; do
-      echo "$prg --> $out/bin/$prg"
       rm -f "$out/bin/$prg"
       makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
     done
-  '';
+  '' + postBuild;
 }) // {
   inherit python;
   inherit (python) meta;
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index f0cfa7b01527..84492e093861 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -12,7 +12,7 @@ g: # Get dependencies from patched gems
     activesupport = g.activesupport_4_0_0;
     addressable = g.addressable_2_3_5;
     arel = g.arel_4_0_0;
-    atomic = g.atomic_1_1_13;
+    atomic = g.atomic_1_1_14;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_1_2;
     aws_sdk = g.aws_sdk_1_16_1;
@@ -21,9 +21,16 @@ g: # Get dependencies from patched gems
     builder = g.builder_3_2_2;
     buildr = g.buildr_1_4_12;
     bundler = g.bundler_1_3_5;
+    celluloid = g.celluloid_0_15_2;
     childprocess = g.childprocess_0_3_9;
     chronic = g.chronic_0_10_1;
+    classifier = g.classifier_1_3_3;
     coderay = g.coderay_1_0_9;
+    coffee_rails = g.coffee_rails_4_0_1;
+    coffee_script = g.coffee_script_2_2_0;
+    coffee_script_source = g.coffee_script_source_1_6_3;
+    colorator = g.colorator_0_1;
+    commander = g.commander_4_1_5;
     cucumber = g.cucumber_1_3_8;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_1_3;
@@ -35,29 +42,40 @@ g: # Get dependencies from patched gems
     ethon = g.ethon_0_6_1;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
+    excon = g.excon_0_25_3;
+    execjs = g.execjs_2_0_2;
     fakes3 = g.fakes3_0_1_5;
     faraday = g.faraday_0_8_8;
     faraday_middleware = g.faraday_middleware_0_9_0;
+    fast_stemmer = g.fast_stemmer_1_0_2;
     ffi = g.ffi_1_9_0;
     file_tail = g.file_tail_1_0_12;
     foreman = g.foreman_0_63_0;
+    formatador = g.formatador_0_2_4;
     gettext = g.gettext_3_0_0;
     gh = g.gh_0_12_0;
     gherkin = g.gherkin_2_12_1;
+    guard = g.guard_2_2_4;
     highline = g.highline_1_6_19;
     hike = g.hike_1_2_3;
     hoe = g.hoe_3_1_0;
     http_cookie = g.http_cookie_1_0_1;
     i18n = g.i18n_0_6_5;
     iconv = g.iconv_1_0_3;
+    jekyll = g.jekyll_1_3_0;
+    jquery_rails = g.jquery_rails_3_0_4;
     jruby_pageant = g.jruby_pageant_1_1_1;
     jsduck = g.jsduck_5_1_0;
     json = g.json_1_8_0;
     json_pure = g.json_pure_1_8_0;
     launchy = g.launchy_2_3_0;
+    liquid = g.liquid_2_5_4;
+    listen = g.listen_2_2_0;
     locale = g.locale_2_0_8;
     lockfile = g.lockfile_2_1_0;
+    lumberjack = g.lumberjack_1_0_4;
     macaddr = g.macaddr_1_6_1;
+    maruku = g.maruku_0_6_1;
     mail = g.mail_2_5_4;
     mechanize = g.mechanize_2_7_2;
     method_source = g.method_source_0_8_2;
@@ -65,7 +83,8 @@ g: # Get dependencies from patched gems
     mini_portile = g.mini_portile_0_5_1;
     minitar = g.minitar_0_5_3;
     minitest = g.minitest_4_7_5;
-    multi_json = g.multi_json_1_7_9;
+    mono_logger = g.mono_logger_1_1_0;
+    multi_json = g.multi_json_1_8_2;
     multi_test = g.multi_test_0_0_2;
     multipart_post = g.multipart_post_1_2_0;
     net_http_digest_auth = g.net_http_digest_auth_1_4;
@@ -81,21 +100,30 @@ g: # Get dependencies from patched gems
     papertrail_cli = g.papertrail_cli_0_9_3;
     parallel = g.parallel_0_7_1;
     polyglot = g.polyglot_0_3_3;
+    posix_spawn = g.posix_spawn_0_3_6;
     pry = g.pry_0_9_12_2;
     pusher_client = g.pusher_client_0_3_1;
     rack = g.rack_1_5_2;
-    rack_protection = g.rack_protection_1_5_0;
-    rack_test = g.rack_test_0_6_2;
+    rack_protection = g.rack_protection_1_5_1;
     rails = g.rails_4_0_0;
     railties = g.railties_4_0_0;
     rake = g.rake_10_1_0;
     rb_fsevent = g.rb_fsevent_0_9_3;
+    rb_inotify = g.rb_inotify_0_9_2;
+    rb_kqueue = g.rb_kqueue_0_2_0;
     rdiscount = g.rdiscount_2_1_6;
+    redcarpet = g.redcarpet_2_3_0;
+    redis = g.redis_3_0_5;
+    redis_namespace = g.redis_namespace_1_3_1;
     remote_syslog = g.remote_syslog_1_6_14;
+    resque = g.resque_1_25_1;
+    resque_web = g.resque_web_0_0_3;
+    rest_client = g.rest_client_1_6_7;
     right_aws = g.right_aws_3_1_0;
     right_http_connection = g.right_http_connection_1_4_0;
     rjb = g.rjb_1_4_8;
     rkelly_remix = g.rkelly_remix_0_0_4;
+    rmagick = g.rmagick_2_13_2;
     rmail = g.rmail_1_0_0;
     rmail_sup = g.rmail_sup_1_0_1;
     rspec = g.rspec_2_11_0;
@@ -105,13 +133,16 @@ g: # Get dependencies from patched gems
     ruby_hmac = g.ruby_hmac_0_4_0;
     rubyforge = g.rubyforge_2_0_4;
     rubyzip = g.rubyzip_0_9_9;
-    sass = g.sass_3_2_10;
+    safe_yaml = g.safe_yaml_0_9_7;
+    sass = g.sass_3_2_12;
+    sass_rails = g.sass_rails_4_0_1;
     selenium_webdriver = g.selenium_webdriver_2_35_1;
     servolux = g.servolux_0_10_0;
-    sinatra = g.sinatra_1_3_2;
+    sinatra = g.sinatra_1_4_4;
     slop = g.slop_3_4_6;
     sprockets = g.sprockets_2_10_0;
-    sprockets_rails = g.sprockets_rails_2_0_0;
+    sprockets_rails = g.sprockets_rails_2_0_1;
+    syntax = g.syntax_1_0_0;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_5_2;
     taskjuggler = g.taskjuggler_3_5_0;
@@ -120,19 +151,22 @@ g: # Get dependencies from patched gems
     text = g.text_1_2_3;
     thin = g.thin_1_5_1;
     thor = g.thor_0_18_1;
-    thread_safe = g.thread_safe_0_1_2;
+    thread_safe = g.thread_safe_0_1_3;
     tilt = g.tilt_1_4_1;
+    timers = g.timers_1_1_0;
     tins = g.tins_0_9_0;
     travis = g.travis_1_5_3;
     treetop = g.treetop_1_4_15;
     trollop = g.trollop_2_0;
+    twitter_bootstrap_rails = g.twitter_bootstrap_rails_2_2_8;
     typhoeus = g.typhoeus_0_6_5;
-    tzinfo = g.tzinfo_0_3_37;
+    tzinfo = g.tzinfo_0_3_38;
     unf = g.unf_0_1_2;
     unf_ext = g.unf_ext_0_0_6;
     unicode = g.unicode_0_4_4;
     uuid = g.uuid_2_3_7;
     uuidtools = g.uuidtools_2_1_4;
+    vegas = g.vegas_0_1_11;
     webrobots = g.webrobots_0_1_1;
     websocket = g.websocket_1_0_7;
     xapian_full = g.xapian_full_1_2_3;
@@ -282,6 +316,17 @@ database compatibility and query generation.'';
       requiredGems = [  ];
       sha256 = ''0sdy8fcncm6p2cba3p8v7dnbsa4z41f4cs1dd0myf4fq7axrrh0s'';
     };
+    atomic_1_1_14 = {
+      basename = ''atomic'';
+      meta = {
+        description = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+        homepage = ''http://github.com/headius/ruby-atomic'';
+        longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+      };
+      name = ''atomic-1.1.14'';
+      requiredGems = [  ];
+      sha256 = ''09dzi1gxr5yj273s6s6ss7l2sq4ayavpg95561kib3n4kzvxrhk4'';
+    };
     atoulme_Antwrap_0_7_4 = {
       basename = ''atoulme_Antwrap'';
       meta = {
@@ -424,6 +469,17 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1r7zx8qfwzr3pbgrjbsml7z5qgscwyyv33x2jzhz6adqyx3r1f08'';
     };
+    celluloid_0_15_2 = {
+      basename = ''celluloid'';
+      meta = {
+        description = ''Actor-based concurrent object framework for Ruby'';
+        homepage = ''https://github.com/celluloid/celluloid'';
+        longDescription = ''Celluloid enables people to build concurrent programs out of concurrent objects just as easily as they build sequential programs out of sequential objects'';
+      };
+      name = ''celluloid-0.15.2'';
+      requiredGems = [ g.timers_1_1_0 ];
+      sha256 = ''0lpa97m7f4p5hgzaaa47y1d5c78n8pp4xd8qb0sn5llqd0klkd9b'';
+    };
     childprocess_0_3_9 = {
       basename = ''childprocess'';
       meta = {
@@ -446,6 +502,18 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk'';
     };
+    classifier_1_3_3 = {
+      basename = ''classifier'';
+      meta = {
+        description = ''A general classifier module to allow Bayesian and other types of classifications.'';
+        homepage = ''http://classifier.rufy.com/'';
+        longDescription = ''   A general classifier module to allow Bayesian and other types of classifications.
+'';
+      };
+      name = ''classifier-1.3.3'';
+      requiredGems = [ g.fast_stemmer_1_0_2 ];
+      sha256 = ''1kq1cd8fq6wvyxbjy3r6ya3d3sk3rcp1b560xlqvflpsirm47r9g'';
+    };
     chronic_0_10_1 = {
       basename = ''chronic'';
       meta = {
@@ -468,6 +536,78 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1pbjsvd6r2daxd6aicp19fnb1j5z7fxadflsm1h0r33cy3vi7iy8'';
     };
+    coderay_1_1_0 = {
+      basename = ''coderay'';
+      meta = {
+        description = ''Fast syntax highlighting for selected languages.'';
+        homepage = ''http://coderay.rubychan.de'';
+        longDescription = ''Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth integration and LOC counter.'';
+      };
+      name = ''coderay-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s'';
+    };
+    coffee_rails_4_0_1 = {
+      basename = ''coffee_rails'';
+      meta = {
+        description = ''CoffeeScript adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/coffee-rails'';
+        longDescription = ''CoffeeScript adapter for the Rails asset pipeline.'';
+      };
+      name = ''coffee-rails-4.0.1'';
+      requiredGems = [ g.coffee_script_2_2_0 g.railties_4_0_0 ];
+      sha256 = ''12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig'';
+    };
+    coffee_script_2_2_0 = {
+      basename = ''coffee_script'';
+      meta = {
+        description = ''Ruby CoffeeScript Compiler'';
+        homepage = ''http://github.com/josh/ruby-coffee-script'';
+        longDescription = ''    Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.
+'';
+      };
+      name = ''coffee-script-2.2.0'';
+      requiredGems = [ g.coffee_script_source_1_6_3 g.execjs_2_0_2 ];
+      sha256 = ''133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc'';
+    };
+    coffee_script_source_1_6_3 = {
+      basename = ''coffee_script_source'';
+      meta = {
+        description = ''The CoffeeScript Compiler'';
+        homepage = ''http://jashkenas.github.com/coffee-script/'';
+        longDescription = ''      CoffeeScript is a little language that compiles into JavaScript.
+      Underneath all of those embarrassing braces and semicolons,
+      JavaScript has always had a gorgeous object model at its heart.
+      CoffeeScript is an attempt to expose the good parts of JavaScript
+      in a simple way.
+'';
+      };
+      name = ''coffee-script-source-1.6.3'';
+      requiredGems = [  ];
+      sha256 = ''0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4'';
+    };
+    colorator_0_1 = {
+      basename = ''colorator'';
+      meta = {
+        description = ''String core extensions for terminal coloring.'';
+        homepage = ''https://github.com/octopress/colorator'';
+        longDescription = ''Colorize your text in the terminal.'';
+      };
+      name = ''colorator-0.1'';
+      requiredGems = [  ];
+      sha256 = ''09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs'';
+    };
+    commander_4_1_5 = {
+      basename = ''commander'';
+      meta = {
+        description = ''The complete solution for Ruby command-line executables'';
+        homepage = ''http://visionmedia.github.com/commander'';
+        longDescription = ''The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.'';
+      };
+      name = ''commander-4.1.5'';
+      requiredGems = [ g.highline_1_6_20 ];
+      sha256 = ''040x2gjpl55g64kh5f9nby0870hnzx8cd7clxg771z0wjs7nzalc'';
+    };
     cucumber_1_3_8 = {
       basename = ''cucumber'';
       meta = {
@@ -649,6 +789,28 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
+    excon_0_25_3 = {
+      basename = ''excon'';
+      meta = {
+        description = ''speed, persistence, http(s)'';
+        homepage = ''https://github.com/geemus/excon'';
+        longDescription = ''EXtended http(s) CONnections'';
+      };
+      name = ''excon-0.25.3'';
+      requiredGems = [  ];
+      sha256 = ''1d552jhvrpmnzrg3di88397l07ngrz04s2al17klpam6crxqw2b2'';
+    };
+    execjs_2_0_2 = {
+      basename = ''execjs'';
+      meta = {
+        description = ''Run JavaScript code from Ruby'';
+        homepage = ''https://github.com/sstephenson/execjs'';
+        longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
+      };
+      name = ''execjs-2.0.2'';
+      requiredGems = [  ];
+      sha256 = ''167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs'';
+    };
     fakes3_0_1_5 = {
       basename = ''fakes3'';
       meta = {
@@ -691,6 +853,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.faraday_0_8_8 ];
       sha256 = ''1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2'';
     };
+    fast_stemmer_1_0_2 = {
+      basename = ''fast_stemmer'';
+      meta = {
+        description = ''Fast Porter stemmer based on a C version of algorithm'';
+        homepage = ''http://github.com/romanbsd/fast-stemmer'';
+        longDescription = ''Fast Porter stemmer based on a C version of algorithm'';
+      };
+      name = ''fast-stemmer-1.0.2'';
+      requiredGems = [  ];
+      sha256 = ''0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh'';
+    };
     ffi_1_9_0 = {
       basename = ''ffi'';
       meta = {
@@ -702,6 +875,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [  ];
       sha256 = ''0rnh9yyfzcpdmi8m7giyd21lgqj00afgxvgbx41hsi2ls1ghfwvy'';
     };
+    ffi_1_9_3 = {
+      basename = ''ffi'';
+      meta = {
+        description = ''Ruby FFI'';
+        homepage = ''http://wiki.github.com/ffi/ffi'';
+        longDescription = ''Ruby FFI library'';
+      };
+      name = ''ffi-1.9.3'';
+      requiredGems = [  ];
+      sha256 = ''0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp'';
+    };
     file_tail_1_0_12 = {
       basename = ''file_tail'';
       meta = {
@@ -724,6 +908,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.thor_0_18_1 g.dotenv_0_9_0 ];
       sha256 = ''0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk'';
     };
+    formatador_0_2_4 = {
+      basename = ''formatador'';
+      meta = {
+        description = ''Ruby STDOUT text formatting'';
+        homepage = ''http://github.com/geemus/formatador'';
+        longDescription = ''STDOUT text formatting'';
+      };
+      name = ''formatador-0.2.4'';
+      requiredGems = [  ];
+      sha256 = ''0pgmk1h6i6m3cslnfyjqld06a4c2xbbvmngxg2axddf39xwz6f12'';
+    };
     gettext_3_0_0 = {
       basename = ''gettext'';
       meta = {
@@ -760,6 +955,17 @@ So you can use GNU gettext tools for maintaining.
       requiredGems = [ g.multi_json_1_7_9 ];
       sha256 = ''07nzchdvkkd35m9k7d9k8j72jm3imv56ccn734mxa5klv1xx2d45'';
     };
+    guard_2_2_4 = {
+      basename = ''guard'';
+      meta = {
+        description = ''Guard keeps an eye on your file modifications'';
+        homepage = ''http://guardgem.org'';
+        longDescription = ''Guard is a command line tool to easily handle events on file system modifications.'';
+      };
+      name = ''guard-2.2.4'';
+      requiredGems = [ g.thor_0_18_1 g.listen_2_2_0 g.pry_0_9_12_3 g.lumberjack_1_0_4 g.formatador_0_2_4 ];
+      sha256 = ''0z427rkcpzy82g21cgq7i5sn1vxn8hm8j4d78kj9vlaqgilcybhq'';
+    };
     highline_1_6_19 = {
       basename = ''highline'';
       meta = {
@@ -775,6 +981,21 @@ minutes of work.
       requiredGems = [  ];
       sha256 = ''0gylnz2cdaswgszgl8x2qx0c87md4246r1i0blgm3nqvgd4hlsxd'';
     };
+    highline_1_6_20 = {
+      basename = ''highline'';
+      meta = {
+        description = ''HighLine is a high-level command-line IO library.'';
+        homepage = ''http://highline.rubyforge.org'';
+        longDescription = ''A high-level IO library that provides validation, type conversion, and more for
+command-line interfaces. HighLine also includes a complete menu system that can
+crank out anything from simple list selection to complete shells with just
+minutes of work.
+'';
+      };
+      name = ''highline-1.6.20'';
+      requiredGems = [  ];
+      sha256 = ''0gk7mpw2r5lv60vr4hb0090wbnqh0fsbyrrcvxiqk7hyhxdz08iv'';
+    };
     highline_1_6_2 = {
       basename = ''highline'';
       meta = {
@@ -854,6 +1075,28 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl'';
     };
+    jekyll_1_3_0 = {
+      basename = ''jekyll'';
+      meta = {
+        description = ''A simple, blog aware, static site generator.'';
+        homepage = ''http://github.com/mojombo/jekyll'';
+        longDescription = ''Jekyll is a simple, blog aware, static site generator.'';
+      };
+      name = ''jekyll-1.3.0'';
+      requiredGems = [ g.liquid_2_5_4 g.classifier_1_3_3 g.listen_1_3_1 g.maruku_0_6_1 g.pygments_rb_0_5_4 g.commander_4_1_5 g.safe_yaml_0_9_7 g.colorator_0_1 g.redcarpet_2_3_0 ];
+      sha256 = ''0hq9sdyivfifba0d4d7g113jbd3jwm8jpdc9i09mv0nfhdcbc3k4'';
+    };
+    jquery_rails_3_0_4 = {
+      basename = ''jquery_rails'';
+      meta = {
+        description = ''Use jQuery with Rails 3'';
+        homepage = ''http://rubygems.org/gems/jquery-rails'';
+        longDescription = ''This gem provides jQuery and the jQuery-ujs driver for your Rails 3 application.'';
+      };
+      name = ''jquery-rails-3.0.4'';
+      requiredGems = [ g.railties_4_0_0 g.thor_0_18_1 ];
+      sha256 = ''0k13mcl9d0zxa2azml0d06y14ggk5yl2xvzsc9l2qv2cwc9xxajm'';
+    };
     jruby_pageant_1_1_1 = {
       basename = ''jruby_pageant'';
       meta = {
@@ -920,6 +1163,49 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.addressable_2_3_5 ];
       sha256 = ''0ckvs40f29ancs0ki12pqb94k380cz41b4gbjplm85ly6kd57sph'';
     };
+    launchy_2_4_0 = {
+      basename = ''launchy'';
+      meta = {
+        description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.'';
+        homepage = ''http://github.com/copiousfreetime/launchy'';
+        longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.'';
+      };
+      name = ''launchy-2.4.0'';
+      requiredGems = [ g.addressable_2_3_5 ];
+      sha256 = ''0vxc3m4sjxyjjzw2rmsginf9nbxfyv7hhxshmn6kxkvcpjxx5di0'';
+    };
+    liquid_2_5_4 = {
+      basename = ''liquid'';
+      meta = {
+        description = ''A secure, non-evaling end user template engine with aesthetic markup.'';
+        homepage = ''http://www.liquidmarkup.org'';
+      };
+      name = ''liquid-2.5.4'';
+      requiredGems = [  ];
+      sha256 = ''0adb1fz20jwcyx1ia133426i59mrrz9iq9lpcmzq6jx0dlaa4amv'';
+    };
+    listen_1_3_1 = {
+      basename = ''listen'';
+      meta = {
+        description = ''Listen to file modifications'';
+        homepage = ''https://github.com/guard/listen'';
+        longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!'';
+      };
+      name = ''listen-1.3.1'';
+      requiredGems = [ g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 g.rb_kqueue_0_2_0 ];
+      sha256 = ''1p1rqz26ixx0fzc0hy3psq2bb3pwkv9awixv76zkaaqj1czabzbs'';
+    };
+    listen_2_2_0 = {
+      basename = ''listen'';
+      meta = {
+        description = ''Listen to file modifications'';
+        homepage = ''https://github.com/guard/listen'';
+        longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!'';
+      };
+      name = ''listen-2.2.0'';
+      requiredGems = [ g.celluloid_0_15_2 g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 ];
+      sha256 = ''1fm6cp5d4xbd5wdd0d804m3p2cc5rjrr5yzqzzh1ndzgbs94sv5c'';
+    };
     locale_2_0_8 = {
       basename = ''locale'';
       meta = {
@@ -943,6 +1229,17 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1yfpz9k0crb7q7y5bcaavf2jzbc170dj84hqz13qp75rj7bl3qhf'';
     };
+    lumberjack_1_0_4 = {
+      basename = ''lumberjack'';
+      meta = {
+        description = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger.'';
+        homepage = ''http://github.com/bdurand/lumberjack'';
+        longDescription = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger. Provides support for automatically rolling log files even with multiple processes writing the same log file.'';
+      };
+      name = ''lumberjack-1.0.4'';
+      requiredGems = [  ];
+      sha256 = ''1mj6m12hnmkvzl4w2yh04ak3z45pwksj6ra7v30za8snw9kg919d'';
+    };
     macaddr_1_6_1 = {
       basename = ''macaddr'';
       meta = {
@@ -965,6 +1262,20 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.mime_types_1_25 g.treetop_1_4_15 ];
       sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
     };
+    maruku_0_6_1 = {
+      basename = ''maruku'';
+      meta = {
+        description = ''Maruku is a Markdown-superset interpreter written in Ruby.'';
+        homepage = ''http://github.com/bhollis/maruku'';
+        longDescription = ''Maruku is a Markdown interpreter in Ruby.
+	It features native export to HTML and PDF (via Latex). The
+	output is really beautiful!
+	'';
+      };
+      name = ''maruku-0.6.1'';
+      requiredGems = [ g.syntax_1_0_0 ];
+      sha256 = ''01xc4l480k79jbicr0j37d9bmd4dsnrjh5hwdrh2djvy06l77ngz'';
+    };
     mechanize_2_7_2 = {
       basename = ''mechanize'';
       meta = {
@@ -1048,6 +1359,43 @@ and added by the users of MIME::Types.'';
       requiredGems = [  ];
       sha256 = ''0hd6hpl05jyx3siznk70z46bmrzwmcyrr24yfaqg6nar35zw8bgf'';
     };
+    mime_types_2_0 = {
+      basename = ''mime_types'';
+      meta = {
+        description = ''The mime-types library provides a library and registry for information about MIME content type definitions'';
+        homepage = ''http://mime-types.rubyforge.org/'';
+        longDescription = ''The mime-types library provides a library and registry for information about
+MIME content type definitions. It can be used to determine defined filename
+extensions for MIME types, or to use filename extensions to look up the likely
+MIME type definitions.
+
+MIME content types are used in MIME-compliant communications, as in e-mail or
+HTTP traffic, to indicate the type of content which is transmitted. The
+mime-types library provides the ability for detailed information about MIME
+entities (provided as an enumerable collection 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 by definition incomplete; don't hesitate to to
+add additional type definitions (see Contributing.rdoc). The primary sources
+for MIME type definitions found in mime-types is the IANA collection of
+registrations (see below for the link), RFCs, and W3C recommendations.
+
+The mime-types library uses semantic versioning. This is release 2.0; there are
+incompatible changes in the API provided by mime-types, mostly around registry
+initialization (see History.rdoc for full details), and the removal of support
+for Ruby 1.8 interpreters.
+
+mime-types (previously called MIME::Types for Ruby) was originally based on
+MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It 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-2.0'';
+      requiredGems = [  ];
+      sha256 = ''1q1s22l3mm0am2f7n9qjqp8zl0smr9zlqr2ywwyfjkid2sj3prfk'';
+    };
     mini_portile_0_5_1 = {
       basename = ''mini_portile'';
       meta = {
@@ -1133,6 +1481,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy'';
     };
+    mono_logger_1_1_0 = {
+      basename = ''mono_logger'';
+      meta = {
+        description = ''A lock-free logger compatible with Ruby 2.0.'';
+        homepage = ''http://github.com/steveklabnik/mono_logger'';
+        longDescription = ''A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.'';
+      };
+      name = ''mono_logger-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''18yplq3xxv5crwpfwbw2sb6brqd3g51si7x9fbh9bcimg4ipzayp'';
+    };
     multi_json_1_7_9 = {
       basename = ''multi_json'';
       meta = {
@@ -1144,6 +1503,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''1q13ldcc8shlfisy90k19zrar87208gs3za6jmr78p11ip21picx'';
     };
+    multi_json_1_8_2 = {
+      basename = ''multi_json'';
+      meta = {
+        description = ''A common interface to multiple JSON libraries.'';
+        homepage = ''http://github.com/intridea/multi_json'';
+        longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'';
+      };
+      name = ''multi_json-1.8.2'';
+      requiredGems = [  ];
+      sha256 = ''1ffmnwsfwdgspk86x1g98cq2ivqlgqpqngyrvs07zsnvgdimahdb'';
+    };
     multi_test_0_0_2 = {
       basename = ''multi_test'';
       meta = {
@@ -1358,6 +1728,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [  ];
       sha256 = ''082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v'';
     };
+    posix_spawn_0_3_6 = {
+      basename = ''posix_spawn'';
+      meta = {
+        description = ''posix_spawnp(2) for ruby'';
+        homepage = ''http://github.com/rtomayko/posix-spawn'';
+        longDescription = ''posix-spawn uses posix_spawnp(2) for faster process spawning'';
+      };
+      name = ''posix-spawn-0.3.6'';
+      requiredGems = [  ];
+      sha256 = ''0f2mqka8024yz55iw8wbihvmakwqnbrdr4a1ffl3x2zi104yvb43'';
+    };
     pry_0_9_12_2 = {
       basename = ''pry'';
       meta = {
@@ -1369,6 +1750,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [ g.coderay_1_0_9 g.slop_3_4_6 g.method_source_0_8_2 ];
       sha256 = ''141slzb62zfzdhrygqjmrzh68s3vzrb4mwyipy2lhps5q4b46y9s'';
     };
+    pry_0_9_12_3 = {
+      basename = ''pry'';
+      meta = {
+        description = ''An IRB alternative and runtime developer console'';
+        homepage = ''http://pry.github.com'';
+        longDescription = ''An IRB alternative and runtime developer console'';
+      };
+      name = ''pry-0.9.12.3'';
+      requiredGems = [ g.coderay_1_1_0 g.slop_3_4_7 g.method_source_0_8_2 ];
+      sha256 = ''1dn80vnyq1l6192sg3p29d0yz6rswnsl8rn3lkf75c86a2qqxpy3'';
+    };
     pusher_client_0_3_1 = {
       basename = ''pusher_client'';
       meta = {
@@ -1380,6 +1772,17 @@ augments 'require' to find and load matching files.'';
       requiredGems = [ g.websocket_1_0_7 g.ruby_hmac_0_4_0 ];
       sha256 = ''1mxqy960iln065fypk1ww3xgv7q396fpl6v0rp7ipls6aj86j970'';
     };
+    pygments_rb_0_5_4 = {
+      basename = ''pygments_rb'';
+      meta = {
+        description = ''pygments wrapper for ruby'';
+        homepage = ''http://github.com/tmm1/pygments.rb'';
+        longDescription = ''pygments.rb exposes the pygments syntax highlighter to Ruby'';
+      };
+      name = ''pygments.rb-0.5.4'';
+      requiredGems = [ g.yajl_ruby_1_1_0 g.posix_spawn_0_3_6 ];
+      sha256 = ''0ryl0f0zp0rffaggd978cmrkzsmf83x452fcinw6p705xdk4zbvl'';
+    };
     rack_1_5_2 = {
       basename = ''rack'';
       meta = {
@@ -1409,6 +1812,17 @@ Also see http://rack.github.com/.
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''10wm67f2mp9pryg0s8qapbyxd2lcrpb8ywsbicg29cv2xprhbl4j'';
     };
+    rack_protection_1_5_1 = {
+      basename = ''rack_protection'';
+      meta = {
+        description = ''You should use protection!'';
+        homepage = ''http://github.com/rkh/rack-protection'';
+        longDescription = ''You should use protection!'';
+      };
+      name = ''rack-protection-1.5.1'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd'';
+    };
     rack_test_0_6_2 = {
       basename = ''rack_test'';
       meta = {
@@ -1489,6 +1903,28 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1'';
     };
+    rb_inotify_0_9_2 = {
+      basename = ''rb_inotify'';
+      meta = {
+        description = ''A Ruby wrapper for Linux's inotify, using FFI'';
+        homepage = ''http://github.com/nex3/rb-inotify'';
+        longDescription = ''A Ruby wrapper for Linux's inotify, using FFI'';
+      };
+      name = ''rb-inotify-0.9.2'';
+      requiredGems = [ g.ffi_1_9_3 ];
+      sha256 = ''0752fhgfrx370b2jnhxzs8sjv2l8yrnwqj337kx9v100igd1c7iv'';
+    };
+    rb_kqueue_0_2_0 = {
+      basename = ''rb_kqueue'';
+      meta = {
+        description = ''A Ruby wrapper for BSD's kqueue, using FFI'';
+        homepage = ''http://github.com/mat813/rb-kqueue'';
+        longDescription = ''A Ruby wrapper for BSD's kqueue, using FFI'';
+      };
+      name = ''rb-kqueue-0.2.0'';
+      requiredGems = [ g.ffi_1_9_3 ];
+      sha256 = ''1f2wimhq93a1zy2fbyj7iyh7hvzmzwn3pzhkwb3npy4mj1df83n3'';
+    };
     rdiscount_2_1_6 = {
       basename = ''rdiscount'';
       meta = {
@@ -1499,6 +1935,45 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2'';
     };
+    redcarpet_2_3_0 = {
+      basename = ''redcarpet'';
+      meta = {
+        description = ''Markdown that smells nice'';
+        homepage = ''http://github.com/vmg/redcarpet'';
+        longDescription = ''A fast, safe and extensible Markdown to (X)HTML parser'';
+      };
+      name = ''redcarpet-2.3.0'';
+      requiredGems = [  ];
+      sha256 = ''1fghh7n9kz6n6bdhgix5s8lyj5sw6q44zizf4mdgz5xsgwqcr6sw'';
+    };
+    redis_3_0_5 = {
+      basename = ''redis'';
+      meta = {
+        description = ''A Ruby client library for Redis'';
+        homepage = ''https://github.com/redis/redis-rb'';
+        longDescription = ''    A Ruby client that tries to match Redis' API one-to-one, while still
+    providing an idiomatic interface. It features thread-safety,
+    client-side sharding, pipelining, and an obsession for performance.
+'';
+      };
+      name = ''redis-3.0.5'';
+      requiredGems = [  ];
+      sha256 = ''01gg3mgh3yznfhxschcka593a3ivsyw5g5vr0g5apiz4lfh6dlkn'';
+    };
+    redis_namespace_1_3_1 = {
+      basename = ''redis_namespace'';
+      meta = {
+        description = ''Namespaces Redis commands.'';
+        homepage = ''http://github.com/resque/redis-namespace'';
+        longDescription = ''Adds a Redis::Namespace class which can be used to namespace calls
+to Redis. This is useful when using a single instance of Redis with
+multiple, different applications.
+'';
+      };
+      name = ''redis-namespace-1.3.1'';
+      requiredGems = [ g.redis_3_0_5 ];
+      sha256 = ''1l6a64z09ni5pi6mbgvsph0lp14cnp180aj7mxnq2nb38sig4iw5'';
+    };
     remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
@@ -1510,6 +1985,53 @@ request helpers feature.'';
       requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
       sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
     };
+    resque_1_25_1 = {
+      basename = ''resque'';
+      meta = {
+        description = ''Resque is a Redis-backed queueing system.'';
+        homepage = ''http://github.com/defunkt/resque'';
+        longDescription = ''    Resque is a Redis-backed Ruby library for creating background jobs,
+    placing those jobs on multiple queues, and processing them later.
+
+    Background jobs can be any Ruby class or module that responds to
+    perform. Your existing classes can easily be converted to background
+    jobs or you can create new classes specifically to do work. Or, you
+    can do both.
+
+    Resque is heavily inspired by DelayedJob (which rocks) and is
+    comprised of three parts:
+
+    * A Ruby library for creating, querying, and processing jobs
+    * A Rake task for starting a worker which processes jobs
+    * A Sinatra app for monitoring queues, jobs, and workers.
+'';
+      };
+      name = ''resque-1.25.1'';
+      requiredGems = [ g.redis_namespace_1_3_1 g.vegas_0_1_11 g.sinatra_1_4_4 g.multi_json_1_8_2 g.mono_logger_1_1_0 ];
+      sha256 = ''0p9kpj900cyb888wmpqx6ms9b0hza09glr4cvrwqwp1vqya25lpy'';
+    };
+    resque_web_0_0_3 = {
+      basename = ''resque_web'';
+      meta = {
+        description = ''Rails-based Resque web interface'';
+        homepage = ''https://github.com/resque/resque-web'';
+        longDescription = ''A Rails-based frontend to the Resque job queue system.'';
+      };
+      name = ''resque-web-0.0.3'';
+      requiredGems = [ g.resque_1_25_1 g.twitter_bootstrap_rails_2_2_8 g.jquery_rails_3_0_4 g.sass_rails_4_0_1 g.coffee_rails_4_0_1 ];
+      sha256 = ''1v4g0zrlq9n0pkhdiwxqcmis5p8hpxm475vchldk63mi1vy4fvr2'';
+    };
+    rest_client_1_6_7 = {
+      basename = ''rest_client'';
+      meta = {
+        description = ''Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.'';
+        homepage = ''http://github.com/archiloque/rest-client'';
+        longDescription = ''A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.'';
+      };
+      name = ''rest-client-1.6.7'';
+      requiredGems = [ g.mime_types_2_0 ];
+      sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853'';
+    };
     right_aws_3_1_0 = {
       basename = ''right_aws'';
       meta = {
@@ -1614,6 +2136,17 @@ in JSDuck.
       requiredGems = [  ];
       sha256 = ''1w6yr5n3b8yd0rsba9q3zyxr0n2hbpkz4v2k1qx6j1ywvl9rc2c1'';
     };
+    rmagick_2_13_2 = {
+      basename = ''rmagick'';
+      meta = {
+        description = ''Ruby binding to ImageMagick'';
+        homepage = ''http://rubyforge.org/projects/rmagick'';
+        longDescription = ''RMagick is an interface between Ruby and ImageMagick.'';
+      };
+      name = ''rmagick-2.13.2'';
+      requiredGems = [  ];
+      sha256 = ''1fw5rs5yqi5ayh44d18gjq68chiz14byx01h33c8jvkdxz3b9wz4'';
+    };
     rmail_1_0_0 = {
       basename = ''rmail'';
       meta = {
@@ -1724,6 +2257,27 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach'
       requiredGems = [  ];
       sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2'';
     };
+    rubyzip_1_1_0 = {
+      basename = ''rubyzip'';
+      meta = {
+        description = ''rubyzip is a ruby module for reading and writing zip files'';
+        homepage = ''http://github.com/rubyzip/rubyzip'';
+      };
+      name = ''rubyzip-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''0kxpcs047fb52lz0imp6vl3hr5khqpk0jfbr2knfbp612ynzyzcl'';
+    };
+    safe_yaml_0_9_7 = {
+      basename = ''safe_yaml'';
+      meta = {
+        description = ''SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.'';
+        homepage = ''http://dtao.github.com/safe_yaml/'';
+        longDescription = ''Parse YAML safely, without that pesky arbitrary object deserialization vulnerability'';
+      };
+      name = ''safe_yaml-0.9.7'';
+      requiredGems = [  ];
+      sha256 = ''0y34vpak8gim18rq02rgd144jsvk5is4xni16wm3shbhivzqb4hk'';
+    };
     sass_3_2_10 = {
       basename = ''sass'';
       meta = {
@@ -1739,6 +2293,32 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach'
       requiredGems = [  ];
       sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283'';
     };
+    sass_3_2_12 = {
+      basename = ''sass'';
+      meta = {
+        description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
+        homepage = ''http://sass-lang.com/'';
+        longDescription = ''      Sass makes CSS fun again. Sass is an extension of CSS3, adding
+      nested rules, variables, mixins, selector inheritance, and more.
+      It's translated to well-formatted, standard CSS using the
+      command line tool or a web-framework plugin.
+'';
+      };
+      name = ''sass-3.2.12'';
+      requiredGems = [  ];
+      sha256 = ''074118ia17nx68i97mbkly2f08y57j52b2yfhdc3s02s4s5593f8'';
+    };
+    sass_rails_4_0_1 = {
+      basename = ''sass_rails'';
+      meta = {
+        description = ''Sass adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/sass-rails'';
+        longDescription = ''Sass adapter for the Rails asset pipeline.'';
+      };
+      name = ''sass-rails-4.0.1'';
+      requiredGems = [ g.sass_3_2_12 g.railties_4_0_0 g.sprockets_rails_2_0_1 ];
+      sha256 = ''01sacnipgvl7ad39zzbr6iip6jja7blxfbpjg2dnm6w8gi6smxh1'';
+    };
     selenium_webdriver_2_35_1 = {
       basename = ''selenium_webdriver'';
       meta = {
@@ -1775,6 +2355,17 @@ interpreters.'';
       requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_4_1 ];
       sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
     };
+    sinatra_1_4_4 = {
+      basename = ''sinatra'';
+      meta = {
+        description = ''Classy web-development dressed in a DSL'';
+        homepage = ''http://www.sinatrarb.com/'';
+        longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
+      };
+      name = ''sinatra-1.4.4'';
+      requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_1 ];
+      sha256 = ''12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs'';
+    };
     slop_3_4_6 = {
       basename = ''slop'';
       meta = {
@@ -1786,6 +2377,17 @@ interpreters.'';
       requiredGems = [  ];
       sha256 = ''0fdp3nkljjs2d5yhgjzcqi0f6xq67byfbrayg5aj7r76rsw0hmal'';
     };
+    slop_3_4_7 = {
+      basename = ''slop'';
+      meta = {
+        description = ''Simple Lightweight Option Parsing'';
+        homepage = ''http://github.com/leejarvis/slop'';
+        longDescription = ''A simple DSL for gathering options and parsing the command line'';
+      };
+      name = ''slop-3.4.7'';
+      requiredGems = [  ];
+      sha256 = ''1x3dwljqvkzj314rwn2bxgim9xvgwnfipzg5g0kwwxfn90fpv2sn'';
+    };
     sprockets_2_10_0 = {
       basename = ''sprockets'';
       meta = {
@@ -1807,6 +2409,25 @@ interpreters.'';
       requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
       sha256 = ''068w0ly7x1vciy4j6mwgsnz6a983pld4rzk1fpvfsmkdqcizb20x'';
     };
+    sprockets_rails_2_0_1 = {
+      basename = ''sprockets_rails'';
+      meta = {
+        description = ''Sprockets Rails integration'';
+        homepage = ''https://github.com/rails/sprockets-rails'';
+      };
+      name = ''sprockets-rails-2.0.1'';
+      requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
+      sha256 = ''170llk1qsvzhhslmasqk4hp5lrv9ibwy44q32yg6kn9s7sh0c1wy'';
+    };
+    syntax_1_0_0 = {
+      basename = ''syntax'';
+      meta = {
+        description = ''Syntax is Ruby library for performing simple syntax highlighting.'';
+      };
+      name = ''syntax-1.0.0'';
+      requiredGems = [  ];
+      sha256 = ''1z93kkhdq55vq3fg9wljhm591cj59qis58dk97l09b8bfxi2ypk0'';
+    };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
       meta = {
@@ -1914,6 +2535,17 @@ management.
       requiredGems = [ g.atomic_1_1_13 ];
       sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy'';
     };
+    thread_safe_0_1_3 = {
+      basename = ''thread_safe'';
+      meta = {
+        description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier'';
+        homepage = ''https://github.com/headius/thread_safe'';
+        longDescription = ''Thread-safe collections and utilities for Ruby'';
+      };
+      name = ''thread_safe-0.1.3'';
+      requiredGems = [ g.atomic_1_1_14 ];
+      sha256 = ''0f2w62x5nx95d2c2lrn9v4g60xhykf8zw7jaddkrgal913dzifgq'';
+    };
     tilt_1_4_1 = {
       basename = ''tilt'';
       meta = {
@@ -1925,6 +2557,17 @@ management.
       requiredGems = [  ];
       sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir'';
     };
+    timers_1_1_0 = {
+      basename = ''timers'';
+      meta = {
+        description = ''Schedule procs to run after a certain time, or at periodic intervals, using any API that accepts a timeout'';
+        homepage = ''https://github.com/tarcieri/timers'';
+        longDescription = ''Pure Ruby one-shot and periodic timers'';
+      };
+      name = ''timers-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''0x3vnkxy3bg9f6v1nhkfqkajr19glrzkmqd5a1wy8hrylx8rdfrv'';
+    };
     tins_0_9_0 = {
       basename = ''tins'';
       meta = {
@@ -1972,6 +2615,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz'';
     };
+    twitter_bootstrap_rails_2_2_8 = {
+      basename = ''twitter_bootstrap_rails'';
+      meta = {
+        description = ''Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+        homepage = ''https://github.com/seyhunak/twitter-bootstrap-rails'';
+        longDescription = ''twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+      };
+      name = ''twitter-bootstrap-rails-2.2.8'';
+      requiredGems = [ g.railties_4_0_0 g.actionpack_4_0_0 g.execjs_2_0_2 g.rails_4_0_0 ];
+      sha256 = ''06n836l2kj5ld7w6b1pb5q423mhqnahf4phk5ai5vl927p4g3bgy'';
+    };
     typhoeus_0_6_5 = {
       basename = ''typhoeus'';
       meta = {
@@ -1994,6 +2648,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0pi2vabsg73h6z4wfwyd27k63issp2qp1nh0vd74rdk740gmb3kc'';
     };
+    tzinfo_0_3_38 = {
+      basename = ''tzinfo'';
+      meta = {
+        description = ''Daylight-savings aware timezone library'';
+        homepage = ''http://tzinfo.github.io'';
+        longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
+      };
+      name = ''tzinfo-0.3.38'';
+      requiredGems = [  ];
+      sha256 = ''1s339ravgk0rqm5dhv1l0yi81sczjvdiryn8ihi2czkb0md55j68'';
+    };
     unf_0_1_2 = {
       basename = ''unf'';
       meta = {
@@ -2054,6 +2719,17 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3'';
     };
+    vegas_0_1_11 = {
+      basename = ''vegas'';
+      meta = {
+        description = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.'';
+        homepage = ''http://code.quirkey.com/vegas'';
+        longDescription = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.'';
+      };
+      name = ''vegas-0.1.11'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0kzv0v1zb8vvm188q4pqwahb6468bmiamn6wpsbiq6r5i69s1bs5'';
+    };
     webrobots_0_1_1 = {
       basename = ''webrobots'';
       meta = {
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 7c80cdfe0653..c5ab0f5e5e20 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -1,5 +1,6 @@
 { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
-, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty }:
+, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick
+, pkgconfig }:
 
 let
 
@@ -76,6 +77,12 @@ in
     NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
   };
 
+  rmagick = {
+    buildInputs = [ imagemagick pkgconfig ];
+
+    NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick-6";
+  };
+
   xrefresh_server =
     let
       patch = fetchurl {
diff --git a/pkgs/development/interpreters/ruby/ruby-18.nix b/pkgs/development/interpreters/ruby/ruby-18.nix
index cfb498394665..f37e8baa68d5 100644
--- a/pkgs/development/interpreters/ruby/ruby-18.nix
+++ b/pkgs/development/interpreters/ruby/ruby-18.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
-    sha256 = "0g2dsn8lmiqwqsp13ryzi97qxr7742v5l7v506x6wq9aiwpk42p6";
+    url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
+    sha256 = "b4e34703137f7bfb8761c4ea474f7438d6ccf440b3d35f39cc5e4d4e239c07e3";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "1.8";
     minorVersion = "7";
-    patchLevel = "371";
+    patchLevel = "374";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
index 038a160b3279..345439b593e9 100644
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ b/pkgs/development/interpreters/ruby/ruby-19.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
-    sha256 = "0w1avj8qfskvkgvrjxxc1cxjm14bf1v60ipvcl5q3zpn9k14k2cx";
+    url = "http://cache.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
+    sha256 = "0fdc6e860d0023ba7b94c7a0cf1f7d32908b65b526246de9dfd5bb39d0d7922b";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "1.9";
     minorVersion = "3";
-    patchLevel = "429";
+    patchLevel = "484";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.nix
index 7c47bac0bbbc..4ad2f8c515ed 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   name = "ruby-${version}";
   
   src = fetchurl {
-    url = "ftp://ftp.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
-    sha256 = "0pr9jf01cfap93xcngyd5zpns67ffjsgaxkm0qr1r464rj9d7066";
+    url = "http://cache.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
+    sha256 = "3de4e4d9aff4682fa4f8ed2b70bd0d746fae17452fc3d3a8e8f505ead9105ad9";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -30,11 +30,19 @@ stdenv.mkDerivation rec {
     ++ (op zlibSupport zlib)
     ++ (op opensslSupport openssl)
     ++ (op gdbmSupport gdbm)
-    ++ (op yamlSupport libyaml);
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # support is not enabled, so add readline to the build inputs if curses
+    # support is disabled (if it's enabled, we already have it) and we're
+    # running on darwin
+    ++ (op (!cursesSupport && stdenv.isDarwin) readline);
 
   enableParallelBuilding = true;
     
-  configureFlags = ["--enable-shared" ];
+  configureFlags = ["--enable-shared" ]
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
 
   installFlags = stdenv.lib.optionalString docSupport "install-doc";
   # Bundler tries to create this directory
@@ -50,7 +58,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "2.0";
     minorVersion = "0";
-    patchLevel = "0";
+    patchLevel = "353";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index 40a43e274531..22076d5ed9e8 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -1,10 +1,10 @@
 args : with args; 
 rec {
 
-  version = "1.8.17";
+  version = "1.8.25";
   src = fetchurl {
     url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
-    sha256 = "068sr55r8wiw55bpf93pp07871cbqhxk9cxma6arhd04j7n8ppph";
+    sha256 = "1j0wiy829nsfrpdzr9xzs39jf1lga3f5b7773vxqfs3lz3fli4v4";
   };
 
   buildInputs = [ruby makeWrapper];
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
new file mode 100644
index 000000000000..390567175978
--- /dev/null
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "scheme48-1.9";
+
+  meta = {
+    homepage = http://s48.org/;
+    description = "Scheme 48";
+  };
+
+  src = fetchurl {
+    url = http://s48.org/1.9/scheme48-1.9.tgz;
+    md5 = "b4c20057f92191d05a61fac1372878ad";
+  };
+}
diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
index 55e0dada71e0..1c0d77345b73 100644
--- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf213, nspr, perl, python, readline, zip }:
+{ stdenv, fetchurl, pkgconfig, autoconf213, nspr, perl, python, readline, zip }:
 
 stdenv.mkDerivation rec {
   version = "185-1.0.0";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687";
   };
 
-  buildInputs = [ autoconf213 nspr perl python readline zip ];
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig autoconf213 perl python readline zip ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 7bc27362a296..c3b33dfaf620 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -16,18 +16,17 @@ assert pulseaudioSupport -> pulseaudio != null;
 
 let
   configureFlagsFun = attrs: ''
-        --disable-oss --disable-video-x11-xme
-        --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
-        --disable-osmesa-shared --enable-static
+        --disable-oss --disable-x11-shared
+        --disable-pulseaudio-shared --disable-alsa-shared
         ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
       '';
 in
 stdenv.mkDerivation rec {
-  name = "SDL2-2.0.0";
+  name = "SDL2-2.0.1";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0y3in99brki7vc2mb4c0w39v70mf4h341mblhh8nmq4h7lawhskg";
+    sha256 = "1w1jcz7hilk4fl8wlhiwvd1licg8lwy0brqz05562xv7l81fkrqa";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
@@ -38,6 +37,9 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional openglSupport [ mesa ] ++
     stdenv.lib.optional alsaSupport alsaLib;
 
+  # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
+  dontDisableStatic = true;
+
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
   # to fail at doing this, hence `--disable-pulseaudio-shared'.
@@ -47,10 +49,17 @@ stdenv.mkDerivation rec {
       configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
   };
 
+  postInstall = ''
+    rm $out/lib/*.a
+  '';
+
   passthru = {inherit openglSupport;};
 
   meta = {
     description = "A cross-platform multimedia library";
     homepage = http://www.libsdl.org/;
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.page ];
   };
 }
diff --git a/pkgs/development/libraries/amrnb/default.nix b/pkgs/development/libraries/amrnb/default.nix
index a2ed73934931..7790f8e124b2 100644
--- a/pkgs/development/libraries/amrnb/default.nix
+++ b/pkgs/development/libraries/amrnb/default.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "amrnb-7.0.0.2";
+  name = "amrnb-11.0.0.0";
   srcAmr = fetchurl {
-    url = http://www.3gpp.org/ftp/Specs/latest/Rel-7/26_series/26104-700.zip;
-    sha256 = "0hgm8dddrqiinjdjxnsw0x899czjlvplq69z4kv8y4zqnrjlwzni";
+    url = http://www.3gpp.org/ftp/Specs/latest/Rel-11/26_series/26104-b00.zip;
+    sha256 = "1wf8ih0hk7w20vdlnw7jb7w73v15hbxgbvmq4wq7h2ghn0j8ppr3";
   };
 
   src = fetchurl {
-    url = http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2;
-    sha256 = "0z4wjr0jml973vd0dvxlmy34daiswy5axlmpvc85k8qcr08i8zaa";
+    url = http://ftp.penguin.cz/pub/users/utx/amr/amrnb-11.0.0.0.tar.bz2;
+    sha256 = "1qgiw02n2a6r32pimnd97v2jkvnw449xrqmaxiivjy2jcr5h141q";
   };
 
   buildInputs = [ unzip ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--cache-file=config.cache" "--with-downloader=true" ];
 
   postConfigure = ''
-    cp $srcAmr 26104-700.zip 
+    cp $srcAmr 26104-b00.zip 
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index 0ddb1aaa7492..7dfc6a60a99f 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     maintainers = [ stdenv.lib.maintainers.urkud ];
     # Tries to install gwenhywfar plugin, thus `make install` fails
-    platforms = [];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index f116da12643e..df509943ba27 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index 498b0244b877..6d4b13f165a6 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 let
   isMingw = stdenv ? cross && stdenv.cross.config == "i686-pc-mingw32" ;
 in
-stdenv.mkDerivation ( {
+stdenv.mkDerivation {
   name = "aterm-2.8";
 
   src = fetchurl {
@@ -23,9 +23,13 @@ stdenv.mkDerivation ( {
   # feel too serious to just ignore.
   doCheck = true;
 
+  dontStrip = isMingw;
+
   meta = {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
-} // ( if isMingw then { dontStrip = true; } else {}) )
+}
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index 0c9e998ed2e1..b1e8a0080298 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 
 }
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index ce8ad3f9d52c..bd6c64a9ee20 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "035hlfva2mij698nj3z1mz9g4mj4z5jx9axs6ww47jgyjcq38asz";
+    sha256 = "0nxrkmcpsm4v25wp2l7lcw4n0823kbplilpv51fszf710qsn7k9v";
   };
 
   buildInputs = [ gtk libsndfile pkgconfig python ];
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index f4795286e096..a443da6c1f68 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -7,11 +7,11 @@
 assert qt4Support -> qt4 != null;
 
 stdenv.mkDerivation rec {
-  name = "avahi-0.6.30";
+  name = "avahi-0.6.31";
 
   src = fetchurl {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "07zzaxs81rbrfhj0rnq616c3j37f3g84dn7d4q3h5l1r4dn33r7r";
+    sha256 = "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3";
   };
 
   patches = [ ./no-mkdir-localstatedir.patch ];
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
new file mode 100644
index 000000000000..3ae54c22be32
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+  # To avoid library name collisions
+  layout = if taggedLayout then "tagged" else "system";
+
+  cflags = if enablePIC && enableExceptions then
+             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
+           else if enablePIC then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if enableExceptions then
+             "cflags=-fexceptions"
+           else
+             "";
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.55.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
+    sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [icu expat zlib bzip2 python];
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
+
+  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
+
+  # normal install does not install bjam, this is a separate step
+  installPhase = ''
+    cd tools/build/v2
+    sh bootstrap.sh
+    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install
+  '';
+
+  crossAttrs = rec {
+    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--prefix=$out --without-icu"
+    '';
+    buildPhase = ''
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix
index d32462d37208..6027ea5c3939 100644
--- a/pkgs/development/libraries/boost/header-only-wrapper.nix
+++ b/pkgs/development/libraries/boost/header-only-wrapper.nix
@@ -8,10 +8,7 @@ in
 stdenv.mkDerivation {
   name = "boost-headers-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/${pkgid}.tar.bz2";
-    sha256 = "07df925k56pbz3gvhxpx54aij34qd40a7sxw4im11brnwdyr4zh4";
-  };
+  src = boost.src;
 
   phases = [ "installPhase" ];
 
diff --git a/pkgs/development/libraries/caelum/default.nix b/pkgs/development/libraries/caelum/default.nix
index e48ed5a76928..808310e326f0 100644
--- a/pkgs/development/libraries/caelum/default.nix
+++ b/pkgs/development/libraries/caelum/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "Add-on for the OGRE, aimed to render atmospheric effects";
     homepage = http://code.google.com/p/caelum/;
     license = "LGPLv2.1+";
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix
index 9cf0a3c350cc..6317dfe5887d 100644
--- a/pkgs/development/libraries/eigen/2.0.nix
+++ b/pkgs/development/libraries/eigen/2.0.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "2.0.16";
+  v = "2.0.17";
 in
 stdenv.mkDerivation {
   name = "eigen-${v}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1akcb4g5hvc664gfc6sxb6f6jrm55fgks6017wg0smyvmm6k09v0";
+    sha256 = "0q4ry2pmdb9lvm0g92wi6s6qng3m9q73n5flwbkfcz1nxmbfhmbj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 5653eec6d41f..8a1cca4bdd45 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "3.1.2";
+  v = "3.2.0";
 in
 stdenv.mkDerivation {
   name = "eigen-${v}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1hywvbn4a8f96fjn3cvd6nxzh5jvh05s1r263d9vqlgn25dxrzay";
+    sha256 = "1dpshkcqjz3ckad56mkk1agbnlq0rk2d0wv14zwjg4lk1nb7h7q1";
   };
   
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
index be9f1c56d97b..a2e01fdd41f8 100644
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ b/pkgs/development/libraries/ffmpeg/1.x.nix
@@ -13,6 +13,7 @@
 , dc1394Support ? false, libdc1394 ? null
 , x11grabSupport ? false, libXext ? null, libXfixes ? null
 , playSupport ? true, SDL ? null
+, freetypeSupport ? true, freetype ? null, fontconfig ? null
 }:
 
 assert speexSupport -> speex != null;
@@ -27,6 +28,7 @@ assert vaapiSupport -> libva != null;
 assert faacSupport -> faac != null;
 assert x11grabSupport -> libXext != null && libXfixes != null;
 assert playSupport -> SDL != null;
+assert freetypeSupport -> freetype != null;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-1.2.3";
@@ -59,7 +61,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
     ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
     ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional playSupport "--enable-ffplay";
+    ++ stdenv.lib.optional playSupport "--enable-ffplay"
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
 
   buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
     ++ stdenv.lib.optional mp3Support lame
@@ -75,7 +78,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport faac
     ++ stdenv.lib.optional dc1394Support libdc1394
     ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional playSupport SDL;
+    ++ stdenv.lib.optional playSupport SDL
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 6ad30f66e03c..52d50369dc7d 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -24,10 +24,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A library for image loading and manipulation";
-
     homepage = http://library.gnome.org/devel/gdk-pixbuf/;
-
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index 35d66b3647b4..cc782546a486 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -1,10 +1,12 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "giflib-4.1.6";
+  name = "giflib-4.2.3";
   src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2;
-    sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1";
+    url = mirror://sourceforge/giflib/giflib-4.2.3.tar.bz2;
+    sha256 = "0rmp7ipzk42r841bggd7bfqk4p8qsssbp4wcck4qnz7p4rkxbj0a";
   };
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
 }
 
diff --git a/pkgs/development/libraries/glibc/2.17/locales.nix b/pkgs/development/libraries/glibc/2.17/locales.nix
index b7eae50ca385..e818b84bc628 100644
--- a/pkgs/development/libraries/glibc/2.17/locales.nix
+++ b/pkgs/development/libraries/glibc/2.17/locales.nix
@@ -40,7 +40,7 @@ in
     installPhase =
       ''
         mkdir -p "$out/lib/locale"
-        cp -v "$TMPDIR/nix/store/"*"/lib/locale/locale-archive" "$out/lib/locale"
+        cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale"
       '';
 
     meta.description = "Locale information for the GNU C Library";
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 9b56344743da..ae3b53b4f44f 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -11,11 +11,11 @@ let
     "${gnupg}/bin/gpg2";
 in
 stdenv.mkDerivation rec {
-  name = "gpgme-1.4.1";
+  name = "gpgme-1.4.3";
   
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2";
-    sha1 = "d6110763e7459214fd72705e87ebc682e3b5815e";
+    sha256 = "15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d";
   };
   
   propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 4fc7b681baa6..bb2461a98a15 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, qt4, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-0.3.0";
+  name = "grantlee-0.4.0";
 
 # Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
       "http://downloads.grantlee.org/${name}.tar.gz"
       "http://www.loegria.net/grantlee/${name}.tar.gz"
     ];
-    sha256 = "0c2zwaickp7han0zbxg78qrxv06jjfc4xyz2lmvl1xxmpv4vqzpv";
+    sha256 = "0gqdckxx45qmyixyz5d7ipcqq2dw26r71m2fpsrlnh4j2c9di8hk";
   };
 
   buildInputs = [ cmake qt4 ];
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
new file mode 100644
index 000000000000..1e030d4d7ce0
--- /dev/null
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gtest-${version}";
+
+  src = fetchurl {
+    url = "https://googletest.googlecode.com/files/${name}.zip";
+    sha256="03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  configurePhase = ''
+    mkdir build
+    cd build
+    cmake ../ -DCMAKE_INSTALL_PREFIX=$out
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgtest.a libgtest_main.a $out/lib
+    cp -v -r ../include $out
+  '';
+
+  meta = {
+    description = "Google test: Google's framework for writing C++ tests.";
+    homepage = https://code.google.com/p/googletest/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
+
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 92463d80c2bd..fdc2c675847f 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.20";
+  name = "gtk+-2.24.22";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc";
+    sha256 = "0zxf810znlk80j230rbr0xscx3gm71jmf2bdiamg76rqzglvc55i";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 7eb519a045c3..7724bc5cc3ab 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
 
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/gurobi/default.nix b/pkgs/development/libraries/gurobi/default.nix
deleted file mode 100644
index 4bdee56ae991..000000000000
--- a/pkgs/development/libraries/gurobi/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, requireFile }:
-
-stdenv.mkDerivation {
-  name = "gurobi-5.6.0";
-
-  src = requireFile {
-    name = "gurobi5.6.0_linux64.tar.gz";
-    sha256 = "1qwfjyx5y71x97gkndqnl9h4xc8hl48zwcwss7jagqfj3gxwvnky";
-    url = "http://www.gurobi.com/download/gurobi-optimizer";
-  };
-
-  installPhase = "mv linux64 $out";
-
-  fixupPhase = ''
-    interp=`cat $NIX_GCC/nix-support/dynamic-linker`
-    find $out/bin -type f -executable -exec patchelf --interpreter "$interp" --set-rpath $out/lib {} \;
-  '';
-
-  meta = {
-    description = "State-of-the-art mathematical programming solver";
-    homepage = http://www.gurobi.com/;
-    license = "unfree";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 1202ab5825d7..78e016c1582e 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "An OpenType text shaping engine";
     homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index 99ab741be492..e28ff279083b 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -1,13 +1,13 @@
-{ cabal, cairo, Chart, colour, dataDefaultClass, mtl, operational
-, time
+{ cabal, cairo, Chart, colour, dataDefaultClass, lens, mtl
+, operational, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.0";
-  sha256 = "0z5qhsq9v5sd32d18gl09svxic8n6s65v4nyq04zcp76219mhp55";
+  version = "1.1";
+  sha256 = "0pm8iwd83pn5ba0g3231zs7f39cdjr7n7k76cm642n4b0hf93fmb";
   buildDepends = [
-    cairo Chart colour dataDefaultClass mtl operational time
+    cairo Chart colour dataDefaultClass lens mtl operational time
   ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index d97fdc21f035..0c2534c4c3bc 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.0";
-  sha256 = "06i53922hdc7dvh2a76ccvwrwfhvhji0ya8j4f2lddg5zckvp3yj";
+  version = "1.1";
+  sha256 = "1394h7jd8pk55396nz1xjisz4v7brqcf9fwdnw9g4q3x1b7dcgs8";
   buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index 0d9dd690758e..50459dfa0076 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.0";
-  sha256 = "137njda84vxrj3pk12bmkf11wh8fj89nxpz067wrycrgw9xy5rd3";
+  version = "1.1";
+  sha256 = "136s44mbhf3wmg85rr9qr0kv59lq1lfd3l58a5aijpv9vz1isf7p";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/EitherT/default.nix b/pkgs/development/libraries/haskell/EitherT/default.nix
new file mode 100644
index 000000000000..cb2195ef6aba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/EitherT/default.nix
@@ -0,0 +1,14 @@
+{ cabal, monadControl, transformers, transformersBase }:
+
+cabal.mkDerivation (self: {
+  pname = "EitherT";
+  version = "0.2.0";
+  sha256 = "1vry479zdq1fw7bd4d373c7wf2gg0aibkyb03710w7z2x86chssw";
+  buildDepends = [ monadControl transformers transformersBase ];
+  meta = {
+    description = "EitherT monad transformer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix b/pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix
index f57cb34fb4a5..da2c7f2b863d 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLUT";
-  version = "2.5.0.1";
-  sha256 = "0f0bz64j7fxa0np8w53n51ri5m0pkwyc1kv7pvdnx02h181gl6l0";
+  version = "2.5.0.2";
+  sha256 = "0v6lwxn9karmym4fzd0hramcj86sb4wgiyqn47hmcg1dd1fsnhb5";
   buildDepends = [ OpenGL OpenGLRaw ];
   extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/Glob/default.nix b/pkgs/development/libraries/haskell/Glob/default.nix
index 08ae46179569..80c0eaa44ab9 100644
--- a/pkgs/development/libraries/haskell/Glob/default.nix
+++ b/pkgs/development/libraries/haskell/Glob/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Glob";
-  version = "0.7.2";
-  sha256 = "1x4gh7z9jx9hdkjwsc31yyjssw6i7ziixhjrxr9b8zkijk1b4r5i";
+  version = "0.7.3";
+  sha256 = "0yl0wxbd03dv0hfr2aqwm9f3xnhjkdicymqv3nmhjjslqq3a59zd";
   buildDepends = [ dlist filepath transformers ];
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/glob/";
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
index 50994384c966..16df77a939eb 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
@@ -8,11 +8,15 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ HDBC mtl time utf8String ];
   extraLibraries = [ odbc ];
+  noHaddock = true;
   meta = {
     homepage = "https://github.com/hdbc/hdbc-odbc";
     description = "ODBC driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.ocharles
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index 35b03f77dde6..99cb73dcf1f1 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -1,9 +1,15 @@
-{ cabal }:
+{ cabal, cmdargs, diffutils, doctest, filepath, hspec, lens, mtl
+, syb
+}:
 
 cabal.mkDerivation (self: {
   pname = "HList";
-  version = "0.2.3";
-  sha256 = "1efbe0c2cb361ab0a9d864a09f9c58075132cb50094207260cb1363fe73c2908";
+  version = "0.3.0.1";
+  sha256 = "03mp99pb8whh3whyffyj8wbld8lv8i930dyjdpyfwiaj13x05iy4";
+  buildDepends = [ mtl ];
+  testDepends = [ cmdargs doctest filepath hspec lens mtl syb ];
+  buildTools = [ diffutils ];
+  doCheck = false;
   meta = {
     description = "Heterogeneous lists";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.9.nix
new file mode 100644
index 000000000000..4ab03112189c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.9.nix
@@ -0,0 +1,24 @@
+{ cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
+, HUnit, mtl, network, parsec, pureMD5, split, testFramework
+, testFrameworkHunit, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HTTP";
+  version = "4000.2.9";
+  sha256 = "0fnf4blh7gw0cbap16ss811wr0haa2gqd0gzdbz668jk58n1gmz7";
+  buildDepends = [ mtl network parsec ];
+  testDepends = [
+    caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl
+    network pureMD5 split testFramework testFrameworkHunit wai warp
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/haskell/HTTP";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index 8df2209ffbf7..eb7c406e81e4 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HsOpenSSL";
-  version = "0.10.3.4";
-  sha256 = "1xgnzivphnzb4yf31406yg5fjycrfypwrlxi2s8lfzgja8m1l7h5";
+  version = "0.10.3.5";
+  sha256 = "1yvpvc9ylfqskdv0dqg6cl43w3wg7rggz0lwlrv04a45mrxygh80";
   buildDepends = [ network time ];
   extraLibraries = [ openssl ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/default.nix
index 56e999d7b83e..1c10075d13c6 100644
--- a/pkgs/development/libraries/haskell/HsSyck/default.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/default.nix
@@ -1,10 +1,10 @@
-{ cabal, syb, utf8String }:
+{ cabal, hashtables, syb, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "HsSyck";
-  version = "0.50";
-  sha256 = "0ap675i2fngvd1nw1dk8p2fz4nbd2aq5ci8dsvpcjbp28y9j2blm";
-  buildDepends = [ syb utf8String ];
+  version = "0.51";
+  sha256 = "13y5vbzrix33dzwhdrvng2ds2dnipkxn1h22jvbf47rwnkyh2g49";
+  buildDepends = [ hashtables syb utf8String ];
   meta = {
     description = "Fast, lightweight YAML loader and dumper";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index b24e81300b62..d8e1e0c6f429 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ListLike";
-  version = "4.0.0";
-  sha256 = "13dw8pkj8dwxb81gbcm7gn221zyr3ck9s9s1iv7v1b69chv0zyxk";
+  version = "4.0.1";
+  sha256 = "1ny6h3f1l0gigyv2rs24s7w158vsflrdx4i9v1al4910cxh56awv";
   buildDepends = [ text vector ];
   testDepends = [ HUnit QuickCheck random text vector ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index 4edd801d08d8..838c92fff3f8 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -1,10 +1,10 @@
-{ cabal, extensibleExceptions, transformers }:
+{ cabal, extensibleExceptions, monadsTf, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "MonadCatchIO-transformers";
-  version = "0.3.0.0";
-  sha256 = "0v7k6npfr1x9s4bk409y6sc1vhzs5pm4mwpky356z7kdvz2z274c";
-  buildDepends = [ extensibleExceptions transformers ];
+  version = "0.3.1.0";
+  sha256 = "1r5syyalk8a81byhk39yp0j7vdrvlrpppbg52dql1fx6kfhysaxn";
+  buildDepends = [ extensibleExceptions monadsTf transformers ];
   meta = {
     description = "Monad-transformer compatible version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/abstract-par/default.nix b/pkgs/development/libraries/haskell/abstract-par/default.nix
index 033fc242321d..537df70390ca 100644
--- a/pkgs/development/libraries/haskell/abstract-par/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-par/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "abstract-par";
-  version = "0.3.1";
-  sha256 = "0qzv520823b07hrr49rnpzayh96m6cjrmb1cn9l0dn80j6k9xayk";
+  version = "0.3.3";
+  sha256 = "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4";
   buildDepends = [ deepseq ];
   meta = {
     homepage = "https://github.com/simonmar/monad-par";
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
index cabfccc02669..129c0a81570f 100644
--- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "accelerate-cuda";
-  version = "0.13.0.4";
-  sha256 = "0zdb02mj9sbkj51a1q7sl6kmjx51gvps52dwc70qpm3rk71qnp1k";
+  version = "0.14.0.0";
+  sha256 = "1qms1w5rjjd77lldds2ljj9zr15dybnsaq8vxfyb5a4diq12bmi5";
   buildDepends = [
     accelerate binary cryptohash cuda fclabels filepath hashable
     hashtables languageCQuote mainlandPretty mtl SafeSemaphore srcloc
@@ -17,7 +17,8 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-cuda/";
     description = "Accelerate backend for NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-examples/default.nix b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
index b9536052dd2d..963a55d2942d 100644
--- a/pkgs/development/libraries/haskell/accelerate-examples/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
@@ -1,29 +1,31 @@
 { cabal, accelerate, accelerateCuda, accelerateFft, accelerateIo
-, attoparsec, bmp, bytestringLexing, cereal, cmdargs, criterion
-, cuda, deepseq, fclabels, filepath, gloss, hashtables, mtl
-, mwcRandom, pgm, QuickCheck, random, repa, repaIo, testFramework
-, testFrameworkQuickcheck2, vector, vectorAlgorithms
+, attoparsec, bmp, bytestringLexing, cereal, criterion, ekg
+, fclabels, filepath, gloss, glossAccelerate, glossRasterAccelerate
+, HUnit, mwcRandom, primitive, QuickCheck, random, repa, repaIo
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate-examples";
-  version = "0.13.0.0";
-  sha256 = "18f8p47sf10zn678540qzzf5pl18w9f068s83lpz4lk0r5gf4lzx";
+  version = "0.14.0.0";
+  sha256 = "01hxww3ypjlcfimkvf7gxl2g7msad2yw1d6m0h4kkfqvpx84nfwr";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     accelerate accelerateCuda accelerateFft accelerateIo attoparsec bmp
-    bytestringLexing cereal cmdargs criterion cuda deepseq fclabels
-    filepath gloss hashtables mtl mwcRandom pgm QuickCheck random repa
-    repaIo testFramework testFrameworkQuickcheck2 vector
-    vectorAlgorithms
+    bytestringLexing cereal criterion ekg fclabels filepath gloss
+    glossAccelerate glossRasterAccelerate HUnit mwcRandom primitive
+    QuickCheck random repa repaIo testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 vector vectorAlgorithms
   ];
   configureFlags = "-f-opencl";
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-examples";
     description = "Examples using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-fft/default.nix b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
index b3c1cb90b299..7869b9867096 100644
--- a/pkgs/development/libraries/haskell/accelerate-fft/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
@@ -2,13 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "accelerate-fft";
-  version = "0.13.0.0";
-  sha256 = "0gqdb7m0qf8wvccqnz9pafbvas3viwhr9i422cmfvjpxsmnzlcp7";
+  version = "0.14.0.0";
+  sha256 = "1rsrgrqn1gdds2wvv1mgzd3yg2mvbkgnj63ygjyzsk9j00wavd1g";
   buildDepends = [ accelerate accelerateCuda cuda cufft ];
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-fft";
     description = "FFT using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-io/default.nix b/pkgs/development/libraries/haskell/accelerate-io/default.nix
index 48c2ea71e178..457a2313f6f0 100644
--- a/pkgs/development/libraries/haskell/accelerate-io/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-io/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "accelerate-io";
-  version = "0.13.0.2";
-  sha256 = "0lm1kkjs5gbd70k554vi9977v4bxxcxaw39r9wmwxf8nx2qxvshh";
+  version = "0.14.0.0";
+  sha256 = "1vvjmsfaz5xbvvb4x2fym43xvcjv41baxlfhlycgizaca4yw8w9h";
   buildDepends = [ accelerate bmp repa vector ];
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate-io";
diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix
index b7979f6f5f2a..3d60cfddb6c6 100644
--- a/pkgs/development/libraries/haskell/accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate/default.nix
@@ -1,10 +1,12 @@
-{ cabal, fclabels, hashable, hashtables }:
+{ cabal, fclabels, hashable, hashtables, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate";
-  version = "0.13.0.5";
-  sha256 = "1vqkv3k0w1zy0111a786npf3hypbcg675lbdkv2cf3zx5hqcnn6j";
-  buildDepends = [ fclabels hashable hashtables ];
+  version = "0.14.0.0";
+  sha256 = "0b6mnv5l2vrbljak2yx9akpsyqc0qg1il54w0rlfm29fgqknlhjh";
+  buildDepends = [
+    fclabels hashable hashtables unorderedContainers
+  ];
   jailbreak = true;
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate/";
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index 1d6df75e5fa3..99e217ba647d 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.8";
-  sha256 = "1q2zrx1i5j04c9bss7c19nm6lqasmwxyfzkh49my7yaik95k7bw9";
+  version = "0.1.0.10";
+  sha256 = "173ri9hv86sjfp3a0jp1y3v8rz0lfb6nz3yilcfvgc9sglcxa4bm";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/ariadne/default.nix b/pkgs/development/libraries/haskell/ariadne/default.nix
new file mode 100644
index 000000000000..5baf9f63326b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ariadne/default.nix
@@ -0,0 +1,22 @@
+{ cabal, bert, Cabal, haskellNames, haskellPackages, haskellSrcExts
+, mtl, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ariadne";
+  version = "0.1.2.1";
+  sha256 = "1gx6jrv3s86h02cjx8pvqyklp445ljiysx29hg39qykyhi1q5a3z";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bert Cabal haskellNames haskellPackages haskellSrcExts mtl
+    utf8String
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/ariadne";
+    description = "Go-to-definition for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/asn1-types/default.nix b/pkgs/development/libraries/haskell/asn1-types/default.nix
index c28885b38edb..dfa5ef4c8036 100644
--- a/pkgs/development/libraries/haskell/asn1-types/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "asn1-types";
-  version = "0.2.1";
-  sha256 = "1gnyvinimxb9vw3gwvsdvja8ascm07v9f5grxh42fzqkx6fm5xvr";
+  version = "0.2.2";
+  sha256 = "0h3ww7iyf1xzl88mzmi03h6ws942953dr56v896vrkj3mj01hayx";
   buildDepends = [ time ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1-types";
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.4.nix b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
index 5dd76b4d6e00..24fa64931a37 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.4.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "1hi40bjwpl65mz7zj0sgh16bp9dwafbm5ysi2q8fzwwq5l0zxpa1";
   buildDepends = [ stm ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/simonmar/async";
     description = "Run IO operations asynchronously and wait for their results";
diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix
new file mode 100644
index 000000000000..2857a21a8d98
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bert/default.nix
@@ -0,0 +1,24 @@
+{ cabal, async, binary, binaryConduit, conduit, mtl, network
+, networkConduit, parsec, smallcheck, tasty, tastyHunit
+, tastySmallcheck, time, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bert";
+  version = "1.2.2";
+  sha256 = "1dlq9fl5d2adprcybs4d4cyhj9q2c1l4kcc6vnnyhbyn201gxgpn";
+  buildDepends = [
+    binary binaryConduit conduit mtl network networkConduit parsec time
+    void
+  ];
+  testDepends = [
+    async binary network smallcheck tasty tastyHunit tastySmallcheck
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/bert";
+    description = "BERT implementation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index d7c8fa6debb4..5d13f3a384e1 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "4.1.0.1";
-  sha256 = "1mf1v64g5pr2k1jpc7i4994ki2fp5vkxg4n5v84lfbl2r3kr92yg";
+  version = "4.1.1";
+  sha256 = "0apdnhfqn3xyi99d5ybc51y2i0gpxix5hlaqxgpbzr4b0zkk7c4w";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix
new file mode 100644
index 000000000000..0149fcabe724
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix
@@ -0,0 +1,20 @@
+{ cabal, binary, conduit, hspec, QuickCheck, quickcheckAssertions
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "binary-conduit";
+  version = "1.2";
+  sha256 = "1m58zgmivapn51gs5983vpsivzkki94kkac014mwvnp90q46nkvx";
+  buildDepends = [ binary conduit vector ];
+  testDepends = [
+    binary conduit hspec QuickCheck quickcheckAssertions
+  ];
+  meta = {
+    homepage = "http://github.com/qnikst/binary-conduit";
+    description = "data serialization/deserialization conduit library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 7c2ee140c1ab..36b8f57cc400 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder";
-  version = "0.3.2.0";
-  sha256 = "169q318jxhk7rmb8r679zhcdcmcca87d55341cnzajmc0580n6ih";
+  version = "0.3.3.0";
+  sha256 = "0j6nrwcnpcr7c17cxw3v85m19q8z91wb6jir8c6kls5m321hwd63";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index 59126959bfb5..686cf3b9bcb3 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -1,10 +1,12 @@
-{ cabal, cairo, gtk2hsBuildtools, libc, mtl, pkgconfig, zlib }:
+{ cabal, cairo, gtk2hsBuildtools, libc, mtl, pkgconfig, utf8String
+, zlib
+}:
 
 cabal.mkDerivation (self: {
   pname = "cairo";
-  version = "0.12.4";
-  sha256 = "0gy6nxhxam3yv0caj4psg9dd1a5yazh616fjbmjfh0kbk8vl6fbq";
-  buildDepends = [ mtl ];
+  version = "0.12.5.0";
+  sha256 = "1khpksznh51yl27hs0zbabx8df04d26ccwh0vjidcwf3flvrbgwb";
+  buildDepends = [ mtl utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
   pkgconfigDepends = [ cairo ];
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
new file mode 100644
index 000000000000..822cd41e4daf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -0,0 +1,24 @@
+{ cabal, attoparsec, blazeBuilder, deepseq, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cassava";
+  version = "0.2.2.0";
+  sha256 = "0jv8lb9z7yf8rddyac0frsw4d1gchrgx8l9rryhl88gs7jss7dh7";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq text unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/tibbe/cassava";
+    description = "A CSV parsing and encoding library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
index fc76f85cebc4..4021b15df9cf 100644
--- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal-conduit";
-  version = "0.7.1";
-  sha256 = "0ry6vc3nkb1lj0p103b8pyd3472hx62s3c7yw3fk8mbjlygxyv43";
+  version = "0.7.2";
+  sha256 = "03jlhpz82a7j7n0351db0h7pkxihik3fv0wgjny7i0vlq7gyqdpl";
   buildDepends = [ cereal conduit transformers ];
   testDepends = [ cereal conduit HUnit mtl resourcet transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index 4770d5216e2e..94b5033e7efa 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.4.0.0";
-  sha256 = "0q6lrfa2p70mh3d08mbj89anc3p9ycy6wyyiycj5pm62kcimv7rj";
+  version = "0.4.0.1";
+  sha256 = "12g23cbjxxgh3xzv6hvs093zpycl29h8fmc7kv6jx43ws4cxy2jv";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/codec-image-devil/default.nix b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
new file mode 100644
index 000000000000..1ee26a80d0b9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
@@ -0,0 +1,13 @@
+{ cabal, libdevil }:
+
+cabal.mkDerivation (self: {
+  pname = "Codec-Image-DevIL";
+  version = "0.2.3";
+  sha256 = "1kv3hns9f0bhfb723nj9szyz3zfqpvy02azzsiymzjz4ajhqmrsz";
+  extraLibraries = [ libdevil ];
+  meta = {
+    description = "An FFI interface to the DevIL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index ab41f5a5621d..8da3a25e3c17 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -1,17 +1,17 @@
-{ cabal, doctest, hspec, liftedBase, mmorph, monadControl, mtl
-, QuickCheck, resourcet, text, transformers, transformersBase, void
+{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, QuickCheck
+, resourcet, text, transformers, transformersBase, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.8";
-  sha256 = "0qsi9p7hwzaw1ridgydfmaagjjpkbgq755b1r9xm4apdy6fikcz5";
+  version = "1.0.9.3";
+  sha256 = "162lf83v0cip48y7a5mgvxrxnpr1vpc4lpcr8rbh0w981wkaxk4h";
   buildDepends = [
     liftedBase mmorph monadControl mtl resourcet text transformers
     transformersBase void
   ];
   testDepends = [
-    doctest hspec mtl QuickCheck resourcet text transformers void
+    hspec mtl QuickCheck resourcet text transformers void
   ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix
index a7930cab08b3..186557d81b07 100644
--- a/pkgs/development/libraries/haskell/connection/default.nix
+++ b/pkgs/development/libraries/haskell/connection/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "connection";
-  version = "0.1.3";
-  sha256 = "13bwlbga612kc7g3m3rrdzbdv4w0glp4af9r6crwgjsmxgimrgs9";
+  version = "0.1.3.1";
+  sha256 = "1z9vb20466lg7l8z4abfbsdzpix18hswpqcl7s2gv838s2wvd16w";
   buildDepends = [
     certificate cprngAes dataDefault network socks tls tlsExtra
   ];
diff --git a/pkgs/development/libraries/haskell/control-monad-loop/default.nix b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
new file mode 100644
index 000000000000..561564093b94
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers, transformersBase }:
+
+cabal.mkDerivation (self: {
+  pname = "control-monad-loop";
+  version = "0.1";
+  sha256 = "003k4pp6wgn30m9ksbh8680f0klzsvd90wsl9jpqs9lpg14hi6zj";
+  buildDepends = [ transformers transformersBase ];
+  meta = {
+    homepage = "https://github.com/joeyadams/haskell-control-monad-loop";
+    description = "Simple monad transformer for imperative-style loops";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cpu/default.nix b/pkgs/development/libraries/haskell/cpu/default.nix
index dc27553c2a3b..3d8ba2784f59 100644
--- a/pkgs/development/libraries/haskell/cpu/default.nix
+++ b/pkgs/development/libraries/haskell/cpu/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cpu";
-  version = "0.1.1";
-  sha256 = "0ygkxx8ksa0rh63569d3g0w8pzgwg6062sd4yyi3q646zcmryhj6";
+  version = "0.1.2";
+  sha256 = "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/crypto-numbers/default.nix b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
index 68deb8e3472e..7633c479e7c0 100644
--- a/pkgs/development/libraries/haskell/crypto-numbers/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-numbers";
-  version = "0.2.1";
-  sha256 = "1bc24xk101x7npv083gzh3vjzwjh65ql85h4z0vxk3lnd0pmdmnq";
+  version = "0.2.3";
+  sha256 = "0nx2mlf40127j7vas7liqy2yzfg4alfaxcjilcxk99kavpaanzgp";
   buildDepends = [ cryptoRandom vector ];
   testDepends = [
     byteable cryptoRandom HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
index a4f98e5a2a1a..aa400c736cb1 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey";
-  version = "0.2.1";
-  sha256 = "06cb2h9c3r1ycgcw7scc191gbr86qi8pxil07207n5fccq3vpjys";
+  version = "0.2.2";
+  sha256 = "084758n5fyh2aigd6055a75pnqjhx42sbjg36hhp2a40vhl7xr2f";
   buildDepends = [
     byteable cryptohash cryptoNumbers cryptoPubkeyTypes cryptoRandom
   ];
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index ac9e41fd628f..e6ac9ee99efa 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cuda";
-  version = "0.5.0.2";
-  sha256 = "1if730wcww5qx5qki1ir0d576wwpwrh00krp1svgdlx2j50rmgq5";
+  version = "0.5.1.1";
+  sha256 = "0bz1pfcxxvq1s47nrwgj9cqmr20p9n3hh2hilih8083hnjjwh40x";
   buildTools = [ c2hs ];
   extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
   doCheck = false;
@@ -31,9 +31,11 @@ cabal.mkDerivation (self: {
     ./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
   '';
   meta = {
+    homepage = "https://github.com/tmcdonell/cuda";
     description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cufft/default.nix b/pkgs/development/libraries/haskell/cufft/default.nix
index e9f1fe166bdc..5caec8341392 100644
--- a/pkgs/development/libraries/haskell/cufft/default.nix
+++ b/pkgs/development/libraries/haskell/cufft/default.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/robeverest/cufft";
     description = "Haskell bindings for the CUFFT library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-memocombinators/default.nix b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
index 2b3adde1d728..df6777313264 100644
--- a/pkgs/development/libraries/haskell/data-memocombinators/default.nix
+++ b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-memocombinators";
-  version = "0.4.4";
-  sha256 = "06x79rgxi6cxrpzjzzsjk7yj7i0ajmcgns0n12lxakz9vxbqxyn2";
+  version = "0.5.0";
+  sha256 = "1kh2xj1z68gig8y5fqfwaha0mcd41laa2di9x2hryjwdgzswxy74";
   buildDepends = [ dataInttrie ];
   meta = {
     homepage = "http://github.com/luqui/data-memocombinators";
diff --git a/pkgs/development/libraries/haskell/data-pprint/default.nix b/pkgs/development/libraries/haskell/data-pprint/default.nix
index b78096a18357..08202a26b713 100644
--- a/pkgs/development/libraries/haskell/data-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/data-pprint/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.2.3";
   sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y";
   buildDepends = [ deepseq mtl parallel time ];
+  jailbreak = true;
   meta = {
     description = "Prettyprint and compare Data values";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index e0072bd8446b..a96f1499f974 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.4";
-  sha256 = "0cv4sgk1mdxc81jlky21k0y3zg7qii585xiapr1m589r5528gj2f";
+  version = "0.10.5";
+  sha256 = "1wblqkwlwv3bxhz2n4qm0w0npawng86y2hyacjxmx8cw25gkw41x";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
index 78f9273e46a2..3c6ce781dc29 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "deepseq";
-  version = "1.3.0.1";
-  sha256 = "068zka6rwprbzpx7yisi1ajsxdly23zaf2vjklx1wp66yypx54lp";
+  version = "1.3.0.2";
+  sha256 = "09jnfz5158s4fvlfjbz44vb5jsvflagmsrgbk846arymwym6b7bp";
   meta = {
     description = "Deep evaluation of data structures";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index a73b6d9fba85..ee9b0907347e 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -1,14 +1,14 @@
-{ cabal, cairo, cmdargs, colour, diagramsCore, diagramsLib
-, filepath, mtl, split, time
+{ cabal, cairo, colour, dataDefaultClass, diagramsCore, diagramsLib
+, filepath, lens, mtl, split, statestack, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-cairo";
-  version = "0.7";
-  sha256 = "14ghcrzzpqdnvmpvykhf4r74sb9jgp69094mkwydslzmi8dsgdiy";
+  version = "1.0";
+  sha256 = "1m549ryfyfjc6sg3xi0wlcpi4c0xj6yfrpjmxgiyl76rwaqns989";
   buildDepends = [
-    cairo cmdargs colour diagramsCore diagramsLib filepath mtl split
-    time
+    cairo colour dataDefaultClass diagramsCore diagramsLib filepath
+    lens mtl split statestack time
   ];
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index 023ac0906814..672cd60e7a57 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -1,21 +1,24 @@
-{ cabal, arithmoi, circlePacking, colour, dataDefault, diagramsCore
-, diagramsLib, forceLayout, HUnit, lens, MonadRandom, mtl
-, QuickCheck, split, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, vectorSpace
+{ cabal, arithmoi, circlePacking, colour, dataDefault
+, dataDefaultClass, diagramsCore, diagramsLib, forceLayout, HUnit
+, lens, MonadRandom, mtl, parsec, QuickCheck, semigroups, split
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "0.7";
-  sha256 = "0dcj4rjvpgf0lmxgv50f8cpi6adkbfnsa4z4ay8khawhnn4af5ac";
+  version = "1.0.0.1";
+  sha256 = "0h0rgy2wlmqicrq4zqr1pdff7b7l7ylm1z82iy3adxf38ca2r6y2";
   buildDepends = [
-    arithmoi circlePacking colour dataDefault diagramsCore diagramsLib
-    forceLayout lens MonadRandom mtl split vectorSpace
+    arithmoi circlePacking colour dataDefault dataDefaultClass
+    diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec
+    semigroups split text vectorSpace vectorSpacePoints
   ];
   testDepends = [
     diagramsLib HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "Collection of user contributions to diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index 33fa353628bb..c291ce9a48cc 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -1,13 +1,13 @@
-{ cabal, dualTree, MemoTrie, monoidExtras, newtype, semigroups
-, vectorSpace, vectorSpacePoints
+{ cabal, dualTree, lens, MemoTrie, monoidExtras, newtype
+, semigroups, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "0.7.0.1";
-  sha256 = "1826f6yrb0ch07y4bjb1cnqi8giphn2i6g45484qr6bfbb8wj5dg";
+  version = "1.0.0.1";
+  sha256 = "19jri4np14lgf4pxyyczqjwh30cdmcpnb8alj60b0z5fca7042xm";
   buildDepends = [
-    dualTree MemoTrie monoidExtras newtype semigroups vectorSpace
+    dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
   ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
index 2b000724f122..e6590ecc2dda 100644
--- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix
+++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams";
-  version = "0.7.1.1";
-  sha256 = "1fkrdds3p7ghjjscw5fmsjk8s5l31bz9a9z2qf3xwa1kp8p4d16d";
+  version = "1.0";
+  sha256 = "0l7d8l06g6nn6bkkwdn8ra9ir1dnqj6qsgdzd9jk78dqq5ihp7bg";
   buildDepends = [
     diagramsContrib diagramsCore diagramsLib diagramsSvg
   ];
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index 43ada20aecc4..858e24976421 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -1,15 +1,18 @@
-{ cabal, active, colour, dataDefaultClass, diagramsCore, fingertree
-, intervals, monoidExtras, newtype, NumInstances, semigroups
-, vectorSpace
+{ cabal, active, colour, dataDefaultClass, diagramsCore, filepath
+, fingertree, intervals, lens, MemoTrie, monoidExtras, NumInstances
+, optparseApplicative, safe, semigroups, tagged, vectorSpace
+, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "0.7.1.1";
-  sha256 = "14d557y22dqyjr026vbawa2a2yjh7alh3rpavyidfdlrg48lqgrc";
+  version = "1.0.0.1";
+  sha256 = "1ilkc8dh1ma0wwmzgy6x3a6q6bwlw7dfv3mb24a5ny4i3wgvsnv8";
   buildDepends = [
-    active colour dataDefaultClass diagramsCore fingertree intervals
-    monoidExtras newtype NumInstances semigroups vectorSpace
+    active colour dataDefaultClass diagramsCore filepath fingertree
+    intervals lens MemoTrie monoidExtras NumInstances
+    optparseApplicative safe semigroups tagged vectorSpace
+    vectorSpacePoints
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix
index 062cee83e416..dea68b93e6d1 100644
--- a/pkgs/development/libraries/haskell/diagrams/svg.nix
+++ b/pkgs/development/libraries/haskell/diagrams/svg.nix
@@ -1,14 +1,14 @@
-{ cabal, blazeSvg, cmdargs, colour, diagramsCore, diagramsLib
-, filepath, monoidExtras, mtl, split, time, vectorSpace
+{ cabal, blazeSvg, colour, diagramsCore, diagramsLib, filepath
+, lens, monoidExtras, mtl, split, time, vectorSpace
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-svg";
-  version = "0.8.0.2";
-  sha256 = "0ahapj040qy74kcj9f786ddd28xysq1wch087wsh8sdfp57z5dbz";
+  version = "1.0";
+  sha256 = "13v1q9d2004k4324b0yxlmwrsanb0mk9pz0gqfxvx9v27sry12sl";
   buildDepends = [
-    blazeSvg cmdargs colour diagramsCore diagramsLib filepath
-    monoidExtras mtl split time vectorSpace
+    blazeSvg colour diagramsCore diagramsLib filepath lens monoidExtras
+    mtl split time vectorSpace
   ];
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
index 3773192a5dc6..91d1bf0bcbcd 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-heist";
-  version = "0.8.0.0";
-  sha256 = "1zy2fy30q51q8pqw78f8gxc1x52vw49w3mnqc2hfqw190v5r9dgh";
+  version = "0.8.1.0";
+  sha256 = "0f9nhfy8rc1w9nnhq1yf9y2kwxlb9b6v8y1jz5q3lrpb1cnq31j0";
   buildDepends = [
     blazeBuilder digestiveFunctors heist mtl text xmlhtml
   ];
diff --git a/pkgs/development/libraries/haskell/digits/default.nix b/pkgs/development/libraries/haskell/digits/default.nix
new file mode 100644
index 000000000000..3c7c08cd2968
--- /dev/null
+++ b/pkgs/development/libraries/haskell/digits/default.nix
@@ -0,0 +1,14 @@
+{ cabal, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "digits";
+  version = "0.2";
+  sha256 = "18s9k7kj0qvd4297msl0k6ziwfb5bl1gwnxlrl8b4rkqda4kf17l";
+  buildDepends = [ QuickCheck ];
+  meta = {
+    description = "Converts integers to lists of digits and back";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
index d28de6c67a09..6bed24f5c40a 100644
--- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional-tf";
-  version = "0.2";
-  sha256 = "0j23iamgcm7wy6y7i7diq5nnaimpsz0vvb1yrmyh0qz792d60fw1";
+  version = "0.2.1";
+  sha256 = "1avvq8kgxagdw3345y7ly30i4x43l0i0m43rlb72j3inv6rdgxgz";
   buildDepends = [ numtypeTf time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix
index 1f672c25cfa0..512ea378b66e 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional";
-  version = "0.12.1.1";
-  sha256 = "1fjkvyp62bh5gyzhkn189z5mxrr1acwmk39mqxk4579xbchvpyq6";
+  version = "0.12.2";
+  sha256 = "0b5w9g3xn74b7z4bcsfcijnj54r8cwbbd8129q61c3nhng1f896a";
   buildDepends = [ numtype time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
new file mode 100644
index 000000000000..7dc259cef93c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
@@ -0,0 +1,15 @@
+{ cabal, base16Bytestring, HUnit, text }:
+
+cabal.mkDerivation (self: {
+  pname = "direct-sqlite";
+  version = "2.3.8";
+  sha256 = "0qvqacjymrm6yy093p8biq3swdinh3lx75m27iz1p3ckdkw10lva";
+  buildDepends = [ text ];
+  testDepends = [ base16Bytestring HUnit text ];
+  meta = {
+    homepage = "http://ireneknapp.com/software/";
+    description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix
index 1a7fc56efd5f..547ea9f8a478 100644
--- a/pkgs/development/libraries/haskell/dlist/default.nix
+++ b/pkgs/development/libraries/haskell/dlist/default.nix
@@ -1,12 +1,13 @@
-{ cabal }:
+{ cabal, Cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "dlist";
-  version = "0.5";
-  sha256 = "1shr5wlpha68h82gwpndr5441847l01gh3j7szyvnmgzkr0fb027";
+  version = "0.6.0.1";
+  sha256 = "08q8dsczh59a0ii3nqk6yqz70msd0pndjjcg9dzq8iyknbbqbi45";
+  testDepends = [ Cabal QuickCheck ];
   meta = {
-    homepage = "http://code.haskell.org/~dons/code/dlist/";
-    description = "Differences lists";
+    homepage = "https://github.com/spl/dlist";
+    description = "Difference lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
index 08118ac4e1bf..687314266839 100644
--- a/pkgs/development/libraries/haskell/doctest/default.nix
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -1,17 +1,17 @@
-{ cabal, baseCompat, deepseq, filepath, ghcPaths, hspec, HUnit
-, QuickCheck, setenv, silently, stringbuilder, syb, transformers
+{ cabal, deepseq, filepath, ghcPaths, hspec, HUnit, QuickCheck
+, setenv, silently, stringbuilder, syb, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "doctest";
-  version = "0.9.9";
-  sha256 = "1r1jdmch6sb4cdygh60pv42p4nr03shabrpd18hjnxs40dgc6pgy";
+  version = "0.9.10";
+  sha256 = "1xislgmg62i2bngq8ghg31r4ip4qdbqzr6rqhm5wac7nchjv0j83";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ deepseq filepath ghcPaths syb transformers ];
   testDepends = [
-    baseCompat deepseq filepath ghcPaths hspec HUnit QuickCheck setenv
-    silently stringbuilder syb transformers
+    deepseq filepath ghcPaths hspec HUnit QuickCheck setenv silently
+    stringbuilder syb transformers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index c0896557e339..f8ef34a17234 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.1.0.4";
-  sha256 = "0xrpb7kz6aazqy9w0b7hcbxgmy4ddy0zh7gdpv2w140vvyx5qjrn";
+  version = "0.2.0.1";
+  sha256 = "0v9kdhnwq8nv30ci5q7n43abl0wag21i06wp8pv1xgrva4lhswm5";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix
new file mode 100644
index 000000000000..dd3c40a7d2c6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg/default.nix
@@ -0,0 +1,19 @@
+{ cabal, aeson, filepath, network, snapCore, snapServer, text, time
+, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ekg";
+  version = "0.3.1.3";
+  sha256 = "1d8ly1lc92gh26bdqg3ql6n2iai3nyvwic6sj8pani58iv0p4ppc";
+  buildDepends = [
+    aeson filepath network snapCore snapServer text time transformers
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/tibbe/ekg";
+    description = "Remote monitoring of processes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 162b83733b13..67276b77c1dd 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "2.0.0.2";
-  sha256 = "1c706v10g4av7jxiw3x4n1hg9h7sbwcnrj676b1q0rcb3pd32kz6";
+  version = "2.0.0.5";
+  sha256 = "1xg0bvk6m981v05j3jp35hyclfilnic1q83kla8zlbnmdpqljqdb";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 3d7015d7ec20..7aa1b78a03eb 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.5";
-  sha256 = "0s77g7azw73f7d07hvwwps8sx79jpwj8ap9iqzcglyjw1sw4l1n1";
+  version = "0.0.6";
+  sha256 = "0ag3g8mv8cw8km785kskz8kv38zs8gimrc3lr9dvkc1qnp2fdmgz";
   buildDepends = [ filepath ];
   testDepends = [ filepath HUnit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/filemanip/default.nix b/pkgs/development/libraries/haskell/filemanip/default.nix
new file mode 100644
index 000000000000..94fa68977bb7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/filemanip/default.nix
@@ -0,0 +1,15 @@
+{ cabal, filepath, mtl, unixCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "filemanip";
+  version = "0.3.6.2";
+  sha256 = "03l114rhb4f6nyzs9w14i79d7kyyq9ia542alsqpbmikm9gxm4rz";
+  buildDepends = [ filepath mtl unixCompat ];
+  meta = {
+    homepage = "https://github.com/bos/filemanip";
+    description = "Expressive file and directory manipulation for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
new file mode 100644
index 000000000000..44312abb35be
--- /dev/null
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "foldl";
+  version = "1.0.0";
+  sha256 = "0r9lkyw33231nfl9ly25hk2i7k3c8ssmng473xvk76zkcrksj131";
+  meta = {
+    description = "Composable, streaming, and efficient left folds";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index 64d9541f4019..a481d4519734 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "4.1";
-  sha256 = "16951r4f7ggvcw2qgjwdrmaxxnrmrm69c67nixs77lm1d31nks4w";
+  version = "4.2";
+  sha256 = "0g2k36xqma8r6shrih40w5xv0pgs5ldr9lhc5hjpwmh4n3hgdhfb";
   buildDepends = [
     bifunctors comonad distributive mtl profunctors semigroupoids
     semigroups transformers
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index accce6f5c86a..fb3ccb8e50ec 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "3.1.3";
-  sha256 = "0g12cj8yn2znhqi7wiz5jayzh4g5jdcj1qwy5g3pz456hcpb0jig";
+  version = "3.1.4";
+  sha256 = "1sm8wj6vcgbm91z762h6rbq68njj5384a69w4k3q0qzdyix0cxym";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
index 6f5f14585074..8032e8b6afde 100644
--- a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-syb-utils";
-  version = "0.2.1.1";
-  sha256 = "1fwlzqbkjn592jh01nccn99iii6047fg9f3hh255586nzngihh1l";
+  version = "0.2.1.2";
+  sha256 = "12k6a782gv06gmi6dvskzv4ihz54izhqslwa9cgilhsihw557i9p";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://github.com/nominolo/ghc-syb";
diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix
index e9d295798b63..6506800a1740 100644
--- a/pkgs/development/libraries/haskell/gio/default.nix
+++ b/pkgs/development/libraries/haskell/gio/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gio";
-  version = "0.12.4";
-  sha256 = "0npvq77z72c9z009krvs4n9vv3gqj6g8fdqd777kzw1dbkhp9ziy";
+  version = "0.12.5.0";
+  sha256 = "08gg3dh3xsgvj3hwylg5pgrhdrvi1chsybkd0l4hd4bycpm3sx98";
   buildDepends = [ glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index 6154ed6c9a77..5a45e48bdc7b 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,15 +1,16 @@
 { cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
-, failure, HTTP, httpConduit, httpTypes, network, text, time
-, unorderedContainers, vector
+, failure, hashable, HTTP, httpConduit, httpTypes, network, text
+, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.7.1";
-  sha256 = "0aipaamd7gn5f79f451v8ifjs5g8b40g9w4kvi1i62imsh0zhh90";
+  version = "0.7.2";
+  sha256 = "0w8m8ybzb63j1631v2a6xpm727zbj19dv98cml9fyzlxzlvlg5fs";
   buildDepends = [
-    aeson attoparsec caseInsensitive conduit dataDefault failure HTTP
-    httpConduit httpTypes network text time unorderedContainers vector
+    aeson attoparsec caseInsensitive conduit dataDefault failure
+    hashable HTTP httpConduit httpTypes network text time
+    unorderedContainers vector
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 29d2f92d7bac..4761c35127e3 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -1,9 +1,10 @@
-{ cabal, glib, gtk2hsBuildtools, libc, pkgconfig }:
+{ cabal, glib, gtk2hsBuildtools, libc, pkgconfig, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.12.4";
-  sha256 = "0s92phy1xlgjzqc7y5plviipb98m13h5lj4n9g6lbv4i106z97ax";
+  version = "0.12.5.0";
+  sha256 = "0s3gw4xd6d84hylzniy3sjjzz2ia2q4249vplhqn6y64dj96l196";
+  buildDepends = [ utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
new file mode 100644
index 000000000000..c4a31d541b58
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
@@ -0,0 +1,13 @@
+{ cabal, accelerate, accelerateCuda, gloss }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-accelerate";
+  version = "1.8.0.0";
+  sha256 = "1hcqgsdk5pjqdr2j4i5614a1r56zfxqx5nc3xpnc4yw6hssan280";
+  buildDepends = [ accelerate accelerateCuda gloss ];
+  meta = {
+    description = "Extras to interface Gloss and Accelerate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
new file mode 100644
index 000000000000..7ed70bc092cf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
@@ -0,0 +1,13 @@
+{ cabal, accelerate, accelerateCuda, gloss, glossAccelerate }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-raster-accelerate";
+  version = "1.8.0.0";
+  sha256 = "17545lb99iszhmx8f8fan0dm76ps6bc977zs2ramycnybzbb3kyc";
+  buildDepends = [ accelerate accelerateCuda gloss glossAccelerate ];
+  meta = {
+    description = "Parallel rendering of raster images using Accelerate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 6f7aea3289e3..50e70c27dd20 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -15,7 +15,7 @@ cabal.mkDerivation (self: {
     transformers wlPprintText
   ];
   patchPhase = ''
-    sed -i -e 's|polyparse.*,|polyparse,|' graphviz.cabal
+    sed -i -e 's|polyparse.*,|polyparse,|' -e 's|dlist ==.*|dlist|' graphviz.cabal
   '';
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index ed5244d72629..6acf1fb90c64 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk";
-  version = "0.12.4";
-  sha256 = "0w6ffi9fdz44kb6g1kipk5780r2wc2l3f5cgxjx5nd60qz1xh7p2";
+  version = "0.12.5.0";
+  sha256 = "1xj2x9aakk70k3z88klfniqvffzbdkn55vslbqk60k6sv4k3qs2n";
   buildDepends = [ cairo glib mtl pango ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 677c6c15214b..821b328b0a91 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk2hs-buildtools";
-  version = "0.12.4";
-  sha256 = "0xh5z8pix5q48d9liicl021kq9py4rj5612va6lfjkj813p5zq2z";
+  version = "0.12.5.1";
+  sha256 = "1zjm7y38089b57q3csgq7ydfm104ffhvsycszddkj0cgfgafshfm";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath random ];
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index 756e1a1df978..492a343e2096 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtksourceview2";
-  version = "0.12.3.1";
-  sha256 = "1c91ja753dzr2c7sv13wn47sjbjg45jv8xx9ybx1q3188xrldqng";
+  version = "0.12.5.0";
+  sha256 = "125psfr58na60nz5ax3va08fq1aa4knzjccj8ghwk8x9fkzddfs9";
   buildDepends = [ glib gtk mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 22cdf149ef7b..424860c4677f 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -25,6 +25,9 @@ cabal.mkDerivation (self: {
     snapCore snapServer systemFilepath tagsoup testFramework
     testFrameworkHunit testFrameworkQuickcheck2 text time
   ];
+  patchPhase = ''
+    sed -i -e 's|pandoc-citeproc.*,|pandoc-citeproc,|' hakyll.cabal
+  '';
   doCheck = false;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index b40025ff7166..b64668b43660 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "1.1.7.3";
-  sha256 = "0532gf4xdbjxjpv7gsfv0bapnnb4g81jcfzkn71nwizi8zls3qck";
+  version = "1.1.7.4";
+  sha256 = "01sgd4p2d4irphgpvr7waag6jn8y329yj9zdjswrqklyygpp98hj";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text
   ];
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index a283f229b762..2799b732292f 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskeline";
-  version = "0.7.0.3";
-  sha256 = "10xc229ddk4g87i78vgjbfr7sii28fx00qwnggb5x7sfigfca8sg";
+  version = "0.7.1.1";
+  sha256 = "1xwbjrak0jicbckk609sqwdlizpkn5zab0kqzrcw9swg1fxpwx5m";
   buildDepends = [ filepath terminfo transformers utf8String ];
   configureFlags = "-fterminfo";
   meta = {
diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix
new file mode 100644
index 000000000000..7e6619d4f357
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-names/default.nix
@@ -0,0 +1,28 @@
+{ cabal, aeson, Cabal, dataLens, dataLensTemplate, filemanip
+, filepath, haskellPackages, haskellSrcExts, hseCpp, mtl
+, prettyShow, tagged, tasty, tastyGolden, transformers
+, traverseWithClass, typeEq, uniplate, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-names";
+  version = "0.3.2.1";
+  sha256 = "1ddixm37y1wkqsrs4cxvnmjczapwq1n67xg5rhkj0k7d04c8agha";
+  buildDepends = [
+    aeson Cabal dataLens dataLensTemplate filepath haskellPackages
+    haskellSrcExts hseCpp mtl tagged transformers traverseWithClass
+    typeEq uniplate
+  ];
+  testDepends = [
+    aeson Cabal filemanip filepath haskellPackages haskellSrcExts
+    hseCpp mtl prettyShow tagged tasty tastyGolden traverseWithClass
+    uniplate utf8String
+  ];
+  meta = {
+    homepage = "http://documentup.com/haskell-suite/haskell-names";
+    description = "Name resolution library for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
new file mode 100644
index 000000000000..598fd63306d5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -0,0 +1,20 @@
+{ cabal, aeson, Cabal, deepseq, EitherT, filepath, haskellSrcExts
+, hseCpp, mtl, optparseApplicative, tagged
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-packages";
+  version = "0.2.3.1";
+  sha256 = "0sryw0gdwkgd53la6gryf7i5h8rlpys6j8nh75f9j014i4y1p0jw";
+  buildDepends = [
+    aeson Cabal deepseq EitherT filepath haskellSrcExts hseCpp mtl
+    optparseApplicative tagged
+  ];
+  meta = {
+    homepage = "http://documentup.com/haskell-suite/haskell-packages";
+    description = "Haskell suite library for package management and integration with Cabal";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
index 16595e331565..b044437e527a 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.14.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
   ];
   buildTools = [ happy ];
   doCheck = false;
+  preConfigure = "runhaskell Setup.hs clean";
   meta = {
     homepage = "https://github.com/haskell-suite/haskell-src-exts";
     description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 6ce8f9e72ba2..cad077f7c9c3 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
-  version = "0.6.0.4";
-  sha256 = "10dixf2abk0canwikf3wdp1ahc51400wxa7x4g59pygv8a3c1c1x";
+  version = "0.6.0.5";
+  sha256 = "1cx3fkhmyhj18b4nm460xrcb1w53qw198gkqb38cjyafr2frlbyh";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index b8f709a402cb..e97fecb67bbb 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.0.2";
-  sha256 = "0rbzizgrvwj505dk7qyc9ky5vwyaxyj91xz1dsv0mv7cjl9pp17n";
+  version = "0.13.0.3";
+  sha256 = "0aynsb74i7yzw02cqd9fhcbz6sqkid98l6gpzxssaydq7vnkpj7a";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
     filepath hashable MonadCatchIOTransformers mtl random text time
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index e0cab3852862..9049664f3048 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.5";
-  sha256 = "0ypxlsfh9xdpnxp6j7wy7q7ymhmxfgwrqi4c08zwf8xy5sfvahs9";
+  version = "0.5.5.1";
+  sha256 = "173g7dss3v3acbn6b5ajmc1n1v4wx2395cckw8n61myl7mzzbrry";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 0ccdb3c529ed..51670f639735 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.15.0.1";
-  sha256 = "0hm3jnh7lds74zyk2m8i3zcdmsv1jlvplrzlxxr68j1cqwfdxilg";
+  version = "0.15.2.0";
+  sha256 = "0rlgyqgl9x08f38nznbv50asbph0zp9dqk0l156hxz792590payl";
   buildDepends = [ binary deepseq random storableComplex vector ];
   extraLibraries = [ blas gsl liblapack ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hse-cpp/default.nix b/pkgs/development/libraries/haskell/hse-cpp/default.nix
new file mode 100644
index 000000000000..1d7494308bd5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hse-cpp/default.nix
@@ -0,0 +1,14 @@
+{ cabal, cpphs, haskellSrcExts }:
+
+cabal.mkDerivation (self: {
+  pname = "hse-cpp";
+  version = "0.1";
+  sha256 = "0f1bgi1hnpnry1pm7jhi626afdvymzy7k0a70n07n41js46pjxd0";
+  buildDepends = [ cpphs haskellSrcExts ];
+  meta = {
+    description = "Preprocess+parse haskell code";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hslua/default.nix b/pkgs/development/libraries/haskell/hslua/default.nix
index 0cdd309d81bf..3d1505a7e805 100644
--- a/pkgs/development/libraries/haskell/hslua/default.nix
+++ b/pkgs/development/libraries/haskell/hslua/default.nix
@@ -2,14 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "hslua";
-  version = "0.3.8";
-  sha256 = "1yb23cyb3wj70z8lvk6w2sn13kc17v53fd8m587kb4fpqzpdz44d";
+  version = "0.3.9";
+  sha256 = "0rs9hfc1k7wihgvp6vizccwppv5nd9mszp7a2y7pwjrprapwj07c";
   buildDepends = [ mtl ];
   pkgconfigDepends = [ lua ];
   configureFlags = "-fsystem-lua";
   meta = {
     description = "A Lua language interpreter embedding in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsyslog/default.nix b/pkgs/development/libraries/haskell/hsyslog/default.nix
index 3f4754256599..552ed94c9620 100644
--- a/pkgs/development/libraries/haskell/hsyslog/default.nix
+++ b/pkgs/development/libraries/haskell/hsyslog/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "hsyslog";
-  version = "1.5";
-  sha256 = "1dpcawnl3a5lw2w8gc9920sjrw43qmq1k2zws8rx2q0r6ps7nhgp";
+  version = "1.6";
+  sha256 = "1vw0yhp4s7wiq18rfg1jgm3ccqaim7w8ry0cdqijzbdnz65hibvp";
   meta = {
     homepage = "http://github.com/peti/hsyslog";
-    description = "FFI interface to syslog(3) from POSIX.1-2001.";
+    description = "FFI interface to syslog(3) from POSIX.1-2001";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index eaf1754b6223..3f7b2ad507ac 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0";
-  sha256 = "11mkr7plhbn8kyki0h362habzhsnlb7yrg4ypy48d0l3i7p7vm53";
+  version = "1.1.0.1";
+  sha256 = "0v3zlassakc34i7kzajx63s1rxn516xv7lrib0a4kn4cdlqn7kxs";
   buildDepends = [
     conduit filesystemConduit resourcet systemFilepath tagstreamConduit
     text transformers xmlConduit xmlTypes
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 4d639909d8e3..f0c559839e05 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.9.5.1";
-  sha256 = "1a53s5f9p0xnd33midi4pfj6i3nvckb9khn0p3l3v3xvqn5rrgf2";
+  version = "1.9.5.2";
+  sha256 = "0andx8ggcwcd39z10yh5j0rmn7ypypgfzaaibbbh2rhp5v28932b";
   buildDepends = [
     asn1Data base64Bytestring blazeBuilder blazeBuilderConduit
     caseInsensitive certificate conduit cookie cprngAes dataDefault
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 35783c7762ef..071471d906e2 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.1";
-  sha256 = "1x0z85vx49s2b9bgjm14c2152cwr0vzf02rlxrla5dj5g565985y";
+  version = "9.3.1.2";
+  sha256 = "0v4j9z65sbjs44n1ijy14f0l2swva6jqz89x2ibf89q8bx36sj6n";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
diff --git a/pkgs/development/libraries/haskell/indexed-free/default.nix b/pkgs/development/libraries/haskell/indexed-free/default.nix
new file mode 100644
index 000000000000..557154d391ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/indexed-free/default.nix
@@ -0,0 +1,15 @@
+{ cabal, indexed }:
+
+cabal.mkDerivation (self: {
+  pname = "indexed-free";
+  version = "0.3.1";
+  sha256 = "1172vxhyzyf061mnlb8dndnvycjk3shxhiqd8hdz42ipv223admx";
+  buildDepends = [ indexed ];
+  meta = {
+    homepage = "https://github.com/fumieval/indexed-free";
+    description = "indexed monads for free";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/indexed/default.nix b/pkgs/development/libraries/haskell/indexed/default.nix
new file mode 100644
index 000000000000..c31fa6691d8f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/indexed/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "indexed";
+  version = "0.1";
+  sha256 = "1dx5pyi5psjd2l26hc3wfsapnywdl0kqpw98b3jwc0xq4406ax12";
+  meta = {
+    homepage = "https://github.com/reinerp/indexed";
+    description = "Haskell98 indexed functors, monads, comonads";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix
index 788962412d7a..5623b73527c7 100644
--- a/pkgs/development/libraries/haskell/intervals/default.nix
+++ b/pkgs/development/libraries/haskell/intervals/default.nix
@@ -1,9 +1,11 @@
-{ cabal }:
+{ cabal, distributive, doctest, filepath }:
 
 cabal.mkDerivation (self: {
   pname = "intervals";
-  version = "0.3";
-  sha256 = "1k8dhhwa6y5hrkm9np9x953bdn3pgk5c2lkl3zgrrmrwmd075422";
+  version = "0.4";
+  sha256 = "0w33arfv1hd3a3l4rvn67nh5q6w05jj6hjlbjmbmrjyhwg35jnac";
+  buildDepends = [ distributive ];
+  testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/intervals";
     description = "Interval Arithmetic";
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 35d15c0291a6..f4774ecd14b0 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.7.2";
-  sha256 = "01ki78qh39gbd9md3pq783vx2p86gyzhclci7pcppz2rd3man51m";
+  version = "0.7.5";
+  sha256 = "1ms6bjcqm0mfv0kqznn68svclbpvbwy5rlni0b8i0axhwfgq1l73";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
   buildTools = [ alex happy ];
   jailbreak = true;
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/language-ecmascript/default.nix b/pkgs/development/libraries/haskell/language-ecmascript/default.nix
index 8fc147191ada..458916df9d1b 100644
--- a/pkgs/development/libraries/haskell/language-ecmascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix
@@ -1,19 +1,22 @@
 { cabal, dataDefaultClass, Diff, filepath, HUnit, mtl, parsec
 , QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, uniplate
+, testFrameworkQuickcheck2, uniplate, wlPprint
 }:
 
 cabal.mkDerivation (self: {
   pname = "language-ecmascript";
-  version = "0.15.2";
-  sha256 = "1iszs9f2jryddcz36a6anfyfxpwjhzn49xjqvnd5m6rjdq6y403w";
+  version = "0.15.3";
+  sha256 = "0ircm20nf321awl0gvy0vh3jplfwpd700br67f0i97rifxx2v40c";
   buildDepends = [
-    dataDefaultClass Diff mtl parsec QuickCheck uniplate
+    dataDefaultClass Diff mtl parsec QuickCheck uniplate wlPprint
   ];
   testDepends = [
     dataDefaultClass Diff filepath HUnit mtl parsec QuickCheck
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
+    testFramework testFrameworkHunit testFrameworkQuickcheck2 uniplate
+    wlPprint
   ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/jswebtools/language-ecmascript";
     description = "JavaScript parser and pretty-printer library";
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/default.nix
index e665f5aadde9..8486841a5f6a 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-java";
-  version = "0.2.5";
-  sha256 = "1ai6mvzasi8fji4b81nrpy48icf5h25g3kakhpfbzckwf20c9dkd";
+  version = "0.2.6";
+  sha256 = "1rwkc71c77v1lm5vnfkf7wr4lzvkpdylwz8wia40xwyxidq9qv27";
   buildDepends = [ cpphs parsec syb ];
   testDepends = [
     filepath HUnit mtl QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/lifted-async/default.nix b/pkgs/development/libraries/haskell/lifted-async/default.nix
new file mode 100644
index 000000000000..8fbfd1f51b01
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lifted-async/default.nix
@@ -0,0 +1,20 @@
+{ cabal, async, HUnit, liftedBase, monadControl, mtl, testFramework
+, testFrameworkHunit, testFrameworkTh, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lifted-async";
+  version = "0.1.0";
+  sha256 = "09ns06qgnwls6zcqsjvr7ykhpr1w12vq49ix4bkqriarl1q3ap7b";
+  buildDepends = [ async liftedBase monadControl transformersBase ];
+  testDepends = [
+    HUnit liftedBase monadControl mtl testFramework testFrameworkHunit
+    testFrameworkTh
+  ];
+  meta = {
+    homepage = "https://github.com/maoe/lifted-async";
+    description = "Run lifted IO operations asynchronously and wait for their results";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index dc970925f982..cfa51bd39aac 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.2.1.0";
-  sha256 = "0c4vzyfyjvqv5q8mprgxf9ckibpp5k1zh9k5slmdsd9m1l3pwwqy";
+  version = "0.2.1.1";
+  sha256 = "062mdh364c4adnyc3l037zi1aaqvgm43g1x6vf3pjb75c3sayc5k";
   buildDepends = [
     baseUnicodeSymbols monadControl transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
index 590290e76c34..97f163f5735f 100644
--- a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
+++ b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mersenne-random-pure64";
-  version = "0.2.0.3";
-  sha256 = "0cyjfdl17n5al04vliykx0m7zncqh3201vn9b9fqfqqpmm61grqz";
+  version = "0.2.0.4";
+  sha256 = "0qh72ynfg1k4c70qxdzsa6f1x9wyxil2d9gi85c879wrc41k899h";
   buildDepends = [ random ];
   meta = {
     homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix
index 8eb61453f9c0..73f720ba4214 100644
--- a/pkgs/development/libraries/haskell/monoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monoid-extras";
-  version = "0.3.2.3";
-  sha256 = "1q7aw4adg082rszkc3skdvidcn86n06xvr3x8qarpjb285znsmc4";
+  version = "0.3.2.4";
+  sha256 = "1qrgwnczznjp1visspqf3dk224nvqf5icv3646j96acl5srn84qc";
   buildDepends = [ groupoids groups semigroupoids semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/netwire/default.nix b/pkgs/development/libraries/haskell/netwire/default.nix
index d7ab9539e0c8..a2b2810f6f95 100644
--- a/pkgs/development/libraries/haskell/netwire/default.nix
+++ b/pkgs/development/libraries/haskell/netwire/default.nix
@@ -1,17 +1,17 @@
-{ cabal, bifunctors, deepseq, liftedBase, monadControl, mtl
-, profunctors, random, semigroups, tagged, time, vectorSpace
+{ cabal, deepseq, parallel, random, semigroups, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "netwire";
-  version = "4.0.7";
-  sha256 = "035jz7j19c7n4za9xi8vj6yl9m2b2v6d53mp711gf8609wv0cx0c";
+  version = "5.0.0";
+  sha256 = "1wxrckc8i86xiiyk8msa6qrhfjx4h34ry1nxh9rdcd5cy03kalks";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    bifunctors deepseq liftedBase monadControl mtl profunctors random
-    semigroups tagged time vectorSpace
+    deepseq parallel random semigroups time transformers
   ];
   meta = {
-    description = "Flexible wire arrows for FRP";
+    description = "Functional reactive programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/network/2.4.2.0.nix b/pkgs/development/libraries/haskell/network/2.4.2.1.nix
index 2912138daf7c..33a79a7eccf0 100644
--- a/pkgs/development/libraries/haskell/network/2.4.2.0.nix
+++ b/pkgs/development/libraries/haskell/network/2.4.2.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.4.2.0";
-  sha256 = "1v6iwww8xym0sr2593ri0aa6gcs6n2975fi9gaz9n7rizbqm88qs";
+  version = "2.4.2.1";
+  sha256 = "1rm8zlpy6738wxagk1xmlvawn807cd4xf2fn0hgjqj12scviz60p";
   buildDepends = [ parsec ];
   testDepends = [
     HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2
diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index dd400ef550d1..bbfd6430d4f2 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -1,22 +1,22 @@
-{ cabal, aeson, aesonPretty, attoparsec, Diff, filepath, hexpat
-, hsBibutils, HTTP, json, mtl, network, pandoc, pandocTypes, parsec
-, rfc5051, split, syb, tagsoup, texmath, text, time, utf8String
+{ cabal, aeson, aesonPretty, attoparsec, filepath, hexpat
+, hsBibutils, HTTP, mtl, network, pandoc, pandocTypes, parsec
+, rfc5051, split, syb, tagsoup, temporary, texmath, text, time
 , vector, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.1.2.1";
-  sha256 = "13i4shpbd9swbsrpmkpb7jx79m12z12m9f3x167fs78509dak3iv";
+  version = "0.2";
+  sha256 = "0ghdkzml2rcvjf1wlpsa6ih117x56qlb3ajpbwnpwm3y4wm0jm2d";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec filepath hexpat hsBibutils HTTP json mtl network
-    pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text
-    time utf8String vector yaml
+    aeson aesonPretty attoparsec filepath hexpat hsBibutils HTTP mtl
+    network pandoc pandocTypes parsec rfc5051 split syb tagsoup
+    temporary texmath text time vector yaml
   ];
   testDepends = [
-    aeson aesonPretty Diff filepath pandoc pandocTypes yaml
+    aeson aesonPretty filepath pandoc pandocTypes temporary text yaml
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index bbd935eb043f..db426f397247 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pango";
-  version = "0.12.4";
-  sha256 = "08c7kmbnga6lijv7hpxgs766lsvaqpbqbph1gsxncqsl8haq4v5c";
+  version = "0.12.5.0";
+  sha256 = "06hchdnw4nfnpb46nb1gwgpwwk41dhp0xfimnbf310idiy0pavcg";
   buildDepends = [ cairo glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
new file mode 100644
index 000000000000..4f255e893af5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
@@ -0,0 +1,14 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel";
+  version = "3.2.0.4";
+  sha256 = "0v8l2rbczjadynbz4q4r00k8a1mqj70y63zbklpxckafq1zn7nwc";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parseargs/default.nix b/pkgs/development/libraries/haskell/parseargs/default.nix
index 2a481246e885..a421338624cd 100644
--- a/pkgs/development/libraries/haskell/parseargs/default.nix
+++ b/pkgs/development/libraries/haskell/parseargs/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "parseargs";
-  version = "0.1.3.5";
-  sha256 = "1ig1n2nnicmy71qwcl5hkdk4mvwq0mz6zr5h9kw329lgvr9cyzyc";
+  version = "0.1.5.2";
+  sha256 = "0pzw7w1kr2rv6ffqgn93rypn37wy2r5k01p3y5256laaplm575am";
   isLibrary = true;
   isExecutable = true;
   meta = {
-    homepage = "http://wiki.cs.pdx.edu/bartforge/parseargs";
+    homepage = "http://github.com/BartMassey/parseargs";
     description = "Command-line argument parsing library for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/parsers/0.10.nix b/pkgs/development/libraries/haskell/parsers/0.10.1.1.nix
index 529fdf47124c..db79c81a62d4 100644
--- a/pkgs/development/libraries/haskell/parsers/0.10.nix
+++ b/pkgs/development/libraries/haskell/parsers/0.10.1.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.10";
-  sha256 = "090dvmdb1kmnc3k2x170y9fdifxi16hzkij1gzc51flx3bpx40i1";
+  version = "0.10.1.1";
+  sha256 = "1w3dj3r2l0w54rafngrp7r1spqznbj5yzilkprqxvbvvj3jxgn5a";
   buildDepends = [
     charset parsec text transformers unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/pem/default.nix b/pkgs/development/libraries/haskell/pem/default.nix
index 473f15c4d1f3..0c331e1bda5b 100644
--- a/pkgs/development/libraries/haskell/pem/default.nix
+++ b/pkgs/development/libraries/haskell/pem/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pem";
-  version = "0.2.0";
-  sha256 = "1hmsyavqzjx1chbn4a8vf0r2wz2fg0xl9cxgja4ap04si3qr458v";
+  version = "0.2.1";
+  sha256 = "05ln372ad89993v07q108l9al8jgjpzardpl02pziwwacdcj1j17";
   buildDepends = [ base64Bytestring mtl ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
index 715fcaa93383..83f08ecf148b 100644
--- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-bytestring";
-  version = "1.0.1";
-  sha256 = "0zk2n9mly1mjh1zb3z33gab362abgh8c0mw88mmwnlfszq97hcz7";
+  version = "1.0.2";
+  sha256 = "09wzmi3xh9n69xsxw0ik4qf2ld1vksca88ggknqbzbnjxq82jjrr";
   buildDepends = [ pipes pipesParse transformers ];
   meta = {
     description = "ByteString support for pipes";
diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix
index 89c67fb79ca2..7a6c21db997a 100644
--- a/pkgs/development/libraries/haskell/pipes-network/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-network/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-network";
-  version = "0.6.0";
-  sha256 = "1jfj5bmpvf9vvq86jz8hbhzzjawchri90vx11fxcbz2ckks673k9";
+  version = "0.6.1";
+  sha256 = "0ds6v98jamda8p72rnrwnj3x77mfx3kss57hj9ns97gga5jq88kl";
   buildDepends = [
     network networkSimple pipes pipesSafe transformers
   ];
diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix
index 33892ef8fc62..61c0f34a57ef 100644
--- a/pkgs/development/libraries/haskell/pipes-parse/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-parse";
-  version = "2.0.1";
-  sha256 = "04sqjdmgkgk5qva0gyrblhdvmljgmci2yzzw7y17pmnwxwdja4f0";
+  version = "2.0.2";
+  sha256 = "1jcws5i9jhh4i6bh2j6m9pz1462qm05byibkkxfqvyx392sxy4wz";
   buildDepends = [ free pipes transformers ];
   meta = {
     description = "Parsing infrastructure for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
new file mode 100644
index 000000000000..aced7c741abd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
@@ -0,0 +1,19 @@
+{ cabal, async, exceptions, mtl, pipes, pipesConcurrency, pipesSafe
+, postgresqlSimple, stm, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-postgresql-simple";
+  version = "0.1.1.2";
+  sha256 = "0m9p3ddrv73c24yh0a2q14zkr4iibfysy2q9bwp6m100z3qk1bgy";
+  buildDepends = [
+    async exceptions mtl pipes pipesConcurrency pipesSafe
+    postgresqlSimple stm text transformers
+  ];
+  meta = {
+    description = "Convert various postgresql-simple calls to work with pipes";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix
index fd722c0fb05a..029bbd158b84 100644
--- a/pkgs/development/libraries/haskell/pipes-safe/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-safe";
-  version = "2.0.0";
-  sha256 = "1g7ha6x87qyk3f9vrl0djzdvaq80q4q6hh7lya4kgm3cbz00a0yv";
+  version = "2.0.1";
+  sha256 = "11516rixqdym5rf5z5f5gwbfk689dl3ka3dj44c7a2qy7xl4sqzr";
   buildDepends = [ exceptions pipes transformers ];
   meta = {
     description = "Safety for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index a78028416076..d9d923987090 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -1,10 +1,15 @@
-{ cabal, mmorph, mtl, transformers, void }:
+{ cabal, mmorph, mtl, QuickCheck, testFramework
+, testFrameworkQuickcheck2, transformers, void
+}:
 
 cabal.mkDerivation (self: {
   pname = "pipes";
-  version = "4.0.0";
-  sha256 = "0zsz739hjmfirwv9sacibpikwz48l006g95m8da1rqk5p1yyr2lm";
+  version = "4.0.1";
+  sha256 = "0q2i58w4nlf23di6rjrv543nmj5d5nkz29q9aciw89zx5x5m22h9";
   buildDepends = [ mmorph mtl transformers void ];
+  testDepends = [
+    mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
+  ];
   meta = {
     description = "Compositional pipelines";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
index 53e6066f968c..720f8e67629c 100644
--- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-libpq";
-  version = "0.8.2.4";
-  sha256 = "1dqb4pnsvd6378rhmlhi151sin06wfm9sx12m3ir9x0j5ppb5sx6";
+  version = "0.8.2.5";
+  sha256 = "102sakvff53dald2s7pbf22m2rgv9761251hj7bwy125jssxcd15";
   extraLibraries = [ postgresql ];
   meta = {
     homepage = "http://github.com/lpsmith/postgresql-libpq";
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
new file mode 100644
index 000000000000..45ac44951667
--- /dev/null
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -0,0 +1,19 @@
+{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeareText
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "process-conduit";
+  version = "1.0.0.1";
+  sha256 = "1b1bya316gxj3rgn7qpjmmcllgy9aac69rqw664sw1rnypnic780";
+  buildDepends = [
+    conduit controlMonadLoop mtl shakespeareText text
+  ];
+  testDepends = [ conduit hspec ];
+  meta = {
+    homepage = "http://github.com/tanakh/process-conduit";
+    description = "Conduits for processes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
new file mode 100644
index 000000000000..90d26883d985
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
@@ -0,0 +1,16 @@
+{ cabal, hspec, ieee754, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-assertions";
+  version = "0.1.1";
+  sha256 = "0hrnr17wafng7nc6d8w6pp1lygplri8xkb5380aq64zg9iik2s21";
+  buildDepends = [ ieee754 QuickCheck ];
+  testDepends = [ hspec ieee754 QuickCheck ];
+  meta = {
+    homepage = "https://github.com/s9gf4ult/quickcheck-assertions";
+    description = "HUnit like assertions for QuickCheck";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
new file mode 100644
index 000000000000..647e08718a8c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
@@ -0,0 +1,15 @@
+{ cabal, QuickCheck, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-instances";
+  version = "0.3.3";
+  sha256 = "0l5rck5sh3cplqqkkasm00phy962y3wa9l8a44843grp3flnpv72";
+  buildDepends = [ QuickCheck text time ];
+  meta = {
+    homepage = "https://github.com/aslatter/qc-instances";
+    description = "Common quickcheck instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/default.nix
new file mode 100644
index 000000000000..42d1c4b86122
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scientific/default.nix
@@ -0,0 +1,19 @@
+{ cabal, deepseq, hashable, smallcheck, tasty, tastySmallcheck
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scientific";
+  version = "0.1.0.0";
+  sha256 = "1x3c8z1d7nhr1z5dlbs60pxfrgclfbwjhrkpvr0jnz0fpy2m9x5r";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ smallcheck tasty tastySmallcheck text ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/basvandijk/scientific";
+    description = "Arbitrary-precision floating-point numbers represented using scientific notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 16e6eb60fcf6..f1bc7259b799 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.11";
-  sha256 = "0w81ap41j28pbppqs33hz7b9n5ghyj2hnny0kgxgcg8iv2qg9czy";
+  version = "0.12";
+  sha256 = "0wk8hxak4dl8nbdif4f8z9gvr5bqm95inrvrcrb6ryaxichrn432";
   buildDepends = [ hashable nats text unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index ef7a6d699050..91897bd5a66f 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -1,11 +1,11 @@
-{ cabal, binary, deepseq, filepath, hashable, random, time
-, transformers, unorderedContainers, utf8String
+{ cabal, binary, deepseq, filepath, hashable, QuickCheck, random
+, time, transformers, unorderedContainers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.10.8";
-  sha256 = "15r392b18nis9p0ys95kbj79hki19wid2gyrpy0z9zm2l5d1m3ya";
+  version = "0.10.10";
+  sha256 = "0xj5r0rj0ybhll9zymipkj338axv11klbpxirdbpdqjh1iaa9yl7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,12 +13,11 @@ cabal.mkDerivation (self: {
     unorderedContainers utf8String
   ];
   testDepends = [
-    binary deepseq filepath hashable random time transformers
-    unorderedContainers utf8String
+    binary deepseq filepath hashable QuickCheck random time
+    transformers unorderedContainers utf8String
   ];
-  doCheck = false;
   meta = {
-    homepage = "http://community.haskell.org/~ndm/shake/";
+    homepage = "https://github.com/ndmitchell/shake";
     description = "Build system library, like Make, but more accurate dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index d5e91da61b1e..ec60c0375b0c 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-text";
-  version = "1.0.0.8";
-  sha256 = "0gf4gsdfjz9c15wvxz886gjzzifgzanfhblgab15inl2rblirv7l";
+  version = "1.0.0.9";
+  sha256 = "1rh1dwmc7xam76isa6cwc25rcricakc7ay54hz01fpiy059imx52";
   buildDepends = [ shakespeare text ];
   testDepends = [ hspec HUnit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index a5428b0ee3c1..8b5de8ec76b7 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "1.2.0.1";
-  sha256 = "07qfbqvq8fqbf7y43h0qq2gk9brpf4g0k7gghrjzyjrd57v5zygp";
+  version = "1.2.0.2";
+  sha256 = "1vp7zskxrjxcznj1d0nx9iqkfvwa9xwpbxq46z054bizqfkri96c";
   buildDepends = [ parsec systemFileio systemFilepath text time ];
   testDepends = [
     hspec parsec systemFileio systemFilepath text time
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 4272afd61a24..6f73537e8b67 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.3.1";
-  sha256 = "1psgb1jqw6hqbrp7f217ayabchsn9q4fn2z77lc52r4mlvys13mh";
+  version = "1.3.2";
+  sha256 = "1n6kj9sw6d1nwg7lz1pgmjn8pjxxr76m5sxybv4hacakid3glddh";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];
diff --git a/pkgs/development/libraries/haskell/smallcheck/default.nix b/pkgs/development/libraries/haskell/smallcheck/default.nix
index bf4ba55e751e..df2517a01ace 100644
--- a/pkgs/development/libraries/haskell/smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/smallcheck/default.nix
@@ -2,14 +2,17 @@
 
 cabal.mkDerivation (self: {
   pname = "smallcheck";
-  version = "1.0.4";
-  sha256 = "0zqssw7r56k7gi1lxdss3f4piqa692y728rli9p81q9rbcvi3x7z";
+  version = "1.1";
+  sha256 = "167dhi0j4mfmf9idjcfx0x1y1jajx4qmgcpiia93vjpmv8ha56j8";
   buildDepends = [ logict mtl ];
   meta = {
     homepage = "https://github.com/feuerbach/smallcheck";
     description = "A property-based testing library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.ocharles
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 52da653da3e3..e35241d46ece 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.4.1";
-  sha256 = "0yacbpd20y49jw1qkrm5r4qick0fhimgb07883bg1lp3ai4ysrk5";
+  version = "0.9.5.0";
+  sha256 = "1i5xmgfy807rm6f47l7p7z99nw9bq8vldlfvzi1gxzz8ic80slm4";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     bytestringMmap caseInsensitive deepseq enumerator filepath hashable
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 8df654049627..63103471ac2a 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.0.4";
-  sha256 = "1cbc42x7p87fmazm0dqc519rdaiiiwmkri8y1n4hgvr70kfi6569";
+  version = "0.13.1.1";
+  sha256 = "0nak84xwrfvdcb2ngq71qy8h0h1ih3wifnkgwxabhjbrqmd7ma0x";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/socket-activation/default.nix b/pkgs/development/libraries/haskell/socket-activation/default.nix
new file mode 100644
index 000000000000..741b12bf4631
--- /dev/null
+++ b/pkgs/development/libraries/haskell/socket-activation/default.nix
@@ -0,0 +1,15 @@
+{ cabal, network, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "socket-activation";
+  version = "0.1.0.1";
+  sha256 = "109zxc16zlp98ggc99ap7wbzaa40yg34v3abn2nfs0w49dvh1zma";
+  buildDepends = [ network transformers ];
+  meta = {
+    homepage = "https://github.com/sakana/haskell-socket-activation";
+    description = "systemd socket activation library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/statestack/default.nix b/pkgs/development/libraries/haskell/statestack/default.nix
new file mode 100644
index 000000000000..4275c5fc4576
--- /dev/null
+++ b/pkgs/development/libraries/haskell/statestack/default.nix
@@ -0,0 +1,13 @@
+{ cabal, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "statestack";
+  version = "0.2";
+  sha256 = "0j1axjwlh270qy6nlvm0hbc8nbd1ggm7klkjv553qf1rprz4zc2d";
+  buildDepends = [ mtl transformers ];
+  meta = {
+    description = "Simple State-like monad transformer with saveable and restorable state";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 5db264d3c7b3..6c677f85890e 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.10.5.0";
-  sha256 = "0yn0bqvh922zi0cg2nyb9vn5jk9k4j4vz96fl0h3ayxhfds08m6v";
+  version = "0.10.5.1";
+  sha256 = "1ld7cf83asia8dbq7kbn2s6f7la01scafk2wra2c85pmkql77kvc";
   buildDepends = [
     binary deepseq erf mathFunctions monadPar mwcRandom primitive
     vector vectorAlgorithms vectorBinaryInstances
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index a2da329121b3..4ab74d23bc23 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -1,14 +1,16 @@
-{ cabal, async, conduit, HUnit, monadControl, QuickCheck, resourcet
-, stm, stmChans, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, transformers
+{ cabal, async, conduit, HUnit, liftedAsync, liftedBase
+, monadControl, monadLoops, QuickCheck, resourcet, stm, stmChans
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.1.2";
-  sha256 = "1jkjnp1sjb4sqs6zkmmlm0s1126fkh54jkhwxairdwaxx9yh9y9k";
+  version = "2.1.4";
+  sha256 = "0xl3g96blawy5bkvialq6jxnf4wajxb5fg1sh7p9kvw1gvacqwqk";
   buildDepends = [
-    async conduit monadControl resourcet stm stmChans transformers
+    async conduit liftedAsync liftedBase monadControl monadLoops
+    resourcet stm stmChans transformers
   ];
   testDepends = [
     conduit HUnit QuickCheck stm stmChans testFramework
diff --git a/pkgs/development/libraries/haskell/stringsearch/default.nix b/pkgs/development/libraries/haskell/stringsearch/default.nix
index f8032f8cde41..12f19c836f3d 100644
--- a/pkgs/development/libraries/haskell/stringsearch/default.nix
+++ b/pkgs/development/libraries/haskell/stringsearch/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stringsearch";
-  version = "0.3.6.4";
-  sha256 = "16g0x0n8x3bg3mij7w3r5m3h2i2dn3bd298n14iccdwhfnlzm91b";
+  version = "0.3.6.5";
+  sha256 = "1mjvb1qr4fkxv5qvq4jfswa3dcj3dwzvwx7dbp2wqw8zand41lsq";
   meta = {
     homepage = "https://bitbucket.org/dafis/stringsearch";
     description = "Fast searching, splitting and replacing of ByteStrings";
diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix
index e7aafd37264e..3663b8b2ed62 100644
--- a/pkgs/development/libraries/haskell/svgcairo/default.nix
+++ b/pkgs/development/libraries/haskell/svgcairo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "svgcairo";
-  version = "0.12.1.1";
-  sha256 = "0fl9flsv4brvwryzxv4xpy8x3w0if4psx8nypxm2ix6l9qh3pghb";
+  version = "0.12.5.0";
+  sha256 = "1b5n96l8addif8a6yv21w95g83dpamr043yqm2wb7vaca8m82r28";
   buildDepends = [ cairo glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc ];
diff --git a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
index b8a65e41fd8e..b0ccd4b4d848 100644
--- a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
+++ b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "system-posix-redirect";
-  version = "1.1";
-  sha256 = "08l8n671ypmharmkm9s8wv5ipcznn7hv5zadf96liml3v16d8fcr";
+  version = "1.1.0.1";
+  sha256 = "1wkfz898d3607xnx779l1k1qc8i2k63ixg47542r45scwq8m0lsk";
   meta = {
-    description = "A toy module that allows you to temporarily redirect a program's stdout";
+    description = "A toy module to temporarily redirect a program's stdout";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/tabular/default.nix b/pkgs/development/libraries/haskell/tabular/default.nix
index 32ede2f660b3..f90c56871932 100644
--- a/pkgs/development/libraries/haskell/tabular/default.nix
+++ b/pkgs/development/libraries/haskell/tabular/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tabular";
-  version = "0.2.2.4";
-  sha256 = "103fqbypsgykv6z29jp1s75pd99vra9sfa70krcnlhbk9kbvdyjk";
+  version = "0.2.2.5";
+  sha256 = "00d1f8yr7kbg30ziv09pb8f4apcvrfb6izb26my1s97kw9ixa740";
   buildDepends = [ csv html mtl ];
   meta = {
     homepage = "http://hub.darcs.net/kowey/tabular";
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
new file mode 100644
index 000000000000..baabf323723c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -0,0 +1,19 @@
+{ cabal, genericDeriving, mtl, reducers, stm, tagged, tasty
+, transformers, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-ant-xml";
+  version = "1.0.0.1";
+  sha256 = "1yn337dr9clzrkr8kpvm7x07lyb3v8pcijrddqah08k0ds8zpzcj";
+  buildDepends = [
+    genericDeriving mtl reducers stm tagged tasty transformers xml
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/tasty-ant-xml";
+    description = "A tasty ingredient to output test results in XML, using the Ant schema. This XML can be consumed by the Jenkins continuous integration framework.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix
new file mode 100644
index 000000000000..2f27e50d8f9c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix
@@ -0,0 +1,19 @@
+{ cabal, filepath, mtl, optparseApplicative, tagged, tasty
+, temporary
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-golden";
+  version = "2.2";
+  sha256 = "0z49w4ksbbih3x0j170pfy93r2d68jw34hdni4s2p43kds52cakb";
+  buildDepends = [
+    filepath mtl optparseApplicative tagged tasty temporary
+  ];
+  meta = {
+    homepage = "https://github.com/feuerbach/tasty-golden";
+    description = "Golden tests support for tasty";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
new file mode 100644
index 000000000000..34b13c69bf6a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -0,0 +1,15 @@
+{ cabal, hspec, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-hspec";
+  version = "0.1";
+  sha256 = "1pf4ffaqy0f25a2sjirg5g4gdcfslapwq4mm0pkdsysmh9bv1f64";
+  buildDepends = [ hspec tasty ];
+  meta = {
+    homepage = "http://github.com/mitchellwrosen/tasty-hspec";
+    description = "Hspec support for the Tasty test framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
index 8bfaf3e43656..dfcc5a4bdae9 100644
--- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
@@ -2,12 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-hunit";
-  version = "0.2";
-  sha256 = "1476ac3rsaag9rfgglzs65wqlkzm09xzdz47ksyj3a4c6ajba1kw";
+  version = "0.4.1";
+  sha256 = "1ns4lbqjkgfgl00jg4sw2jz3r189z4k5fzwbii3g1bnskn28fapa";
   buildDepends = [ HUnit mtl tasty ];
   meta = {
     description = "HUnit support for the Tasty test framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
new file mode 100644
index 000000000000..e18f3d7cd332
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -0,0 +1,14 @@
+{ cabal, QuickCheck, random, tagged, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-quickcheck";
+  version = "0.3.1";
+  sha256 = "1rajvcq2a1yxdbb4kykvab1p9rnmsd2lgmlk61nd4fxvsvfj5gzn";
+  buildDepends = [ QuickCheck random tagged tasty ];
+  meta = {
+    description = "QuickCheck support for the Tasty test framework";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
index b5b718cf04e9..36a9c4280af9 100644
--- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
@@ -10,5 +10,6 @@ cabal.mkDerivation (self: {
     description = "SmallCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-th/default.nix b/pkgs/development/libraries/haskell/tasty-th/default.nix
new file mode 100644
index 000000000000..b1b9c179dbab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-th/default.nix
@@ -0,0 +1,15 @@
+{ cabal, languageHaskellExtract, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-th";
+  version = "0.1.1";
+  sha256 = "0ndwfz2gq0did6dfjilhdaxzya2qw9gckjkj090cp2rbkahywsga";
+  buildDepends = [ languageHaskellExtract tasty ];
+  meta = {
+    homepage = "http://github.com/bennofs/tasty-th";
+    description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index df14857f9ab3..c2c05a68f075 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -1,17 +1,18 @@
-{ cabal, ansiTerminal, mtl, optparseApplicative, regexPosix, stm
-, tagged
+{ cabal, ansiTerminal, deepseq, mtl, optparseApplicative
+, regexPosix, stm, tagged
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.3.1";
-  sha256 = "0ipndrpywzg40s5hiwyyly29mcppcfqbbpwqqp4apma57m8cdpb0";
+  version = "0.4.1.1";
+  sha256 = "09xha87ivkllczbf0vf2n8zjn1wa5g8v8j1h9ad3207r45ndzn0w";
   buildDepends = [
-    ansiTerminal mtl optparseApplicative regexPosix stm tagged
+    ansiTerminal deepseq mtl optparseApplicative regexPosix stm tagged
   ];
   meta = {
     description = "Modern and extensible testing framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/terminfo/default.nix b/pkgs/development/libraries/haskell/terminfo/default.nix
index 24221912025a..f772de7c8a1d 100644
--- a/pkgs/development/libraries/haskell/terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/terminfo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "terminfo";
-  version = "0.3.2.5";
-  sha256 = "1hadb1gv28c43xq78scalb4zzvbs6im2s0hq7ycrbsdgm6iryhbg";
+  version = "0.3.2.6";
+  sha256 = "0ag81rwwwaanxdn9ccanvdi1qnh62vy8y2jbgp5bp95hhgqq887f";
   extraLibraries = [ ncurses ];
   meta = {
     homepage = "http://code.haskell.org/terminfo";
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index cb346ac7d27d..a129ae46a35a 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.4";
-  sha256 = "090xqs14ap3c6pljqzyva46phxb1lhqayi4g098f6d77d1ygvshf";
+  version = "0.6.5.2";
+  sha256 = "1pvaf40avjx43ydhi9n6vkkjw9gk5apws4bgqqq2g601kvmi163l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ pandocTypes parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix
index 16115809f5b1..6dc42beee408 100644
--- a/pkgs/development/libraries/haskell/text-icu/default.nix
+++ b/pkgs/development/libraries/haskell/text-icu/default.nix
@@ -1,13 +1,19 @@
-{ cabal, icu, text }:
+{ cabal, deepseq, HUnit, icu, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
 
 cabal.mkDerivation (self: {
   pname = "text-icu";
-  version = "0.6.3.5";
-  sha256 = "1blfw9377yl732ypbjhkvi3vfg6c1f1rkxcsvwmqyhkdzb2agg0a";
+  version = "0.6.3.7";
+  sha256 = "0mzzjamcxfrld9xwgdww3890zzkgmi1qb83v5z9zrixmdgwkvhf4";
   buildDepends = [ text ];
+  testDepends = [
+    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
   extraLibraries = [ icu ];
   meta = {
-    homepage = "https://bitbucket.org/bos/text-icu";
+    homepage = "https://github.com/bos/text-icu";
     description = "Bindings to the ICU library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index d802790da9d7..0683ba62d4b0 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.0.2";
-  sha256 = "14ccmjg56429a3mzx11ccv18bvkqg56ph9kbpmhdx2ajar80g6jm";
+  version = "0.5.0.3";
+  sha256 = "1da5p65qf1w746flqnl7pxd05pdh8psi6psi0zsqqxmiykw4zvrf";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework
diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix
index f40730b5e56e..6f1a6b41bba3 100644
--- a/pkgs/development/libraries/haskell/thyme/default.nix
+++ b/pkgs/development/libraries/haskell/thyme/default.nix
@@ -1,15 +1,15 @@
-{ cabal, attoparsec, Cabal, deepseq, filepath, lens, QuickCheck
-, random, systemPosixRedirect, text, time, transformers, vector
-, vectorSpace
+{ cabal, aeson, attoparsec, Cabal, deepseq, filepath, lens
+, QuickCheck, random, systemPosixRedirect, text, time, transformers
+, vector, vectorSpace
 }:
 
 cabal.mkDerivation (self: {
   pname = "thyme";
-  version = "0.3.0.1";
-  sha256 = "086i8cadq2s894157s1bh3zhd9zb9apr7w39gnydywzgkx47478h";
+  version = "0.3.1.0";
+  sha256 = "0dhnsqn6miiqnbpqln2vmkq7cbm8bz5jz1dwc1bif6dwl16fvhm6";
   buildDepends = [
-    attoparsec deepseq lens QuickCheck random text time transformers
-    vector vectorSpace
+    aeson attoparsec deepseq lens QuickCheck random text time
+    transformers vector vectorSpace
   ];
   testDepends = [
     attoparsec Cabal filepath lens QuickCheck random
diff --git a/pkgs/development/libraries/haskell/traverse-with-class/default.nix b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
new file mode 100644
index 000000000000..12a6f393bc60
--- /dev/null
+++ b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "traverse-with-class";
+  version = "0.1.1.1";
+  sha256 = "0agdgnibv8q65av2fkr2qm0air8zqmygwpkl30wmay5mqqknzxiq";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "Generic applicative traversals";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/trifecta/1.1.nix b/pkgs/development/libraries/haskell/trifecta/1.1.nix
index ac6cfdd43ae1..bf5f2f0d0a70 100644
--- a/pkgs/development/libraries/haskell/trifecta/1.1.nix
+++ b/pkgs/development/libraries/haskell/trifecta/1.1.nix
@@ -18,8 +18,7 @@ cabal.mkDerivation (self: {
     substituteInPlace trifecta.cabal \
       --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
       --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              == 3.*,"              "comonad              >= 3       && < 5,"
+      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2,"
   '';
   meta = {
     homepage = "http://github.com/ekmett/trifecta/";
diff --git a/pkgs/development/libraries/haskell/trifecta/1.2.nix b/pkgs/development/libraries/haskell/trifecta/1.2.nix
index de876fa7f67a..f7b9a7aea811 100644
--- a/pkgs/development/libraries/haskell/trifecta/1.2.nix
+++ b/pkgs/development/libraries/haskell/trifecta/1.2.nix
@@ -18,8 +18,7 @@ cabal.mkDerivation (self: {
     substituteInPlace trifecta.cabal \
       --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
       --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              >= 3       && < 4,"   "comonad              >= 3       && < 5,"
+      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2,"
   '';
   meta = {
     homepage = "http://github.com/ekmett/trifecta/";
diff --git a/pkgs/development/libraries/haskell/type-eq/default.nix b/pkgs/development/libraries/haskell/type-eq/default.nix
new file mode 100644
index 000000000000..4a7308919984
--- /dev/null
+++ b/pkgs/development/libraries/haskell/type-eq/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "type-eq";
+  version = "0.3";
+  sha256 = "094m8mk4a1iiqgrnqw0yk89rimp5ffj7i4n61nx3lzxqs5mw0kws";
+  meta = {
+    homepage = "http://github.com/glehel/type-eq";
+    description = "Type equality evidence you can carry around";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix
index 67dbdac34859..0ca4ea5f5c24 100644
--- a/pkgs/development/libraries/haskell/unix-time/default.nix
+++ b/pkgs/development/libraries/haskell/unix-time/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-time";
-  version = "0.2.1";
-  sha256 = "15kg1rxbw86p5jzig9ac7lsizmlvqkxikq7h8jfi04rri39a9jiy";
+  version = "0.2.2";
+  sha256 = "0xnl12mscc5nwjl9s2lx4xr8q8agzcpxh3bmxxidfjrg19drfwrm";
   testDepends = [ doctest hspec QuickCheck time ];
   meta = {
     description = "Unix time parser/formatter and utilities";
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 8d0b0bda23d2..2a115b8b217e 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.8.1";
-  sha256 = "10phjwm8dm45rms2vfpx9vzm56v7b9wp0308xkfbalh5zbvxmv35";
+  version = "2.8.1.1";
+  sha256 = "1mz8sni7mj85b0ih0y1ld7lcj74iq5z2xi1lbwwndpqra9ahc5s6";
   buildDepends = [ ListLike time uuInterleaved ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 9789c80e8c16..7e3424713e0d 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.3.4.5";
-  sha256 = "062d7f8p2xgzn94fllgfc2bhbjv4vgp9j1adjaw9f0s1asnsdmnj";
+  version = "1.3.4.6";
+  sha256 = "09rk9i2fkk4haiq1c6rhcp1p72zw34j9cxsmqnm4jzh6fdsrkq2k";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
     caseInsensitive conduit dataDefault dateCache fastLogger httpTypes
diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
index a3d02329dfdf..c4d22a66e006 100644
--- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-launch";
-  version = "1.3.1.4";
-  sha256 = "0ii74p2400a4w0pcswk8j57wbasi17alifs4xgwv79b235wnn317";
+  version = "1.3.1.5";
+  sha256 = "1iz36j7lzl5c9b2hacxv4v5gfzkfvgj7hlb5xz4r14ca4w5fzzfj";
   buildDepends = [
     blazeBuilder blazeBuilderConduit conduit httpTypes transformers wai
     warp zlibConduit
diff --git a/pkgs/development/libraries/haskell/wai-logger/default.nix b/pkgs/development/libraries/haskell/wai-logger/default.nix
index f6035269112e..fc958c2576b9 100644
--- a/pkgs/development/libraries/haskell/wai-logger/default.nix
+++ b/pkgs/development/libraries/haskell/wai-logger/default.nix
@@ -1,15 +1,16 @@
 { cabal, blazeBuilder, byteorder, caseInsensitive, dateCache
-, fastLogger, httpTypes, network, wai
+, doctest, fastLogger, httpTypes, network, wai, waiTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-logger";
-  version = "0.3.1";
-  sha256 = "0x1d67fcfpjrgyjr7hipifqrzk13x8z8xmlj7h999r8mswijhgii";
+  version = "0.3.2";
+  sha256 = "0las9jb8cxdsyh1mnrhx48yfbjw5f2x4hhmivhmhzb6qgxnbvma9";
   buildDepends = [
     blazeBuilder byteorder caseInsensitive dateCache fastLogger
     httpTypes network wai
   ];
+  testDepends = [ doctest waiTest ];
   meta = {
     description = "A logging system for WAI";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 425d5237a713..0fff9096cb07 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "1.4.0.2";
-  sha256 = "0mmnl2zn3jsa5yan58kf2d7cvc343cld0l8mydb9qnq4if2kq94q";
+  version = "1.4.1";
+  sha256 = "1m8z1jc4fvq8rw9vk1x5sy73dbmiifa41973x84i51vsibyaqhgb";
   buildDepends = [
     blazeBuilder conduit httpTypes network text transformers vault
   ];
diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix
index dd1404e02fd2..5b1456c0c48c 100644
--- a/pkgs/development/libraries/haskell/warp-tls/default.nix
+++ b/pkgs/development/libraries/haskell/warp-tls/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp-tls";
-  version = "1.4.1.4";
-  sha256 = "1w6i26r5xjjc594h53q07bad835ryg3k6vmbzf5d59xngfvm7b9k";
+  version = "1.4.2";
+  sha256 = "05mbf73859n2ns3bdnw24i7vygr4kysyxfq0xdkmmrd47fh3k9r6";
   buildDepends = [
     certificate conduit cprngAes cryptocipher cryptoRandomApi network
     networkConduit pem tls tlsExtra transformers wai warp
diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
new file mode 100644
index 000000000000..602d95f45df5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
@@ -0,0 +1,14 @@
+{ cabal, boomerang, mtl, parsec, text, webRoutes }:
+
+cabal.mkDerivation (self: {
+  pname = "web-routes-boomerang";
+  version = "0.28.0";
+  sha256 = "1xp8p0fkwirrpssb9lnxl7fmlmrql28r2ywaa99gw9cdqxifzbbl";
+  buildDepends = [ boomerang mtl parsec text webRoutes ];
+  meta = {
+    description = "Library for maintaining correctness and composability of URLs within an application";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
new file mode 100644
index 000000000000..ce767e7b5f5b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -0,0 +1,23 @@
+{ cabal, blazeBuilder, httpTypes, HUnit, mtl, parsec, QuickCheck
+, split, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, testFrameworkTh, text, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "web-routes";
+  version = "0.27.3";
+  sha256 = "06a3b88gzbn7dr7hff2fjy1q7sxc479ha4g1wqsbjrb2ajrp376q";
+  buildDepends = [
+    blazeBuilder httpTypes mtl parsec split text utf8String
+  ];
+  testDepends = [
+    HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  meta = {
+    description = "Library for maintaining correctness and composability of URLs within an application";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index b89b39acb50a..d95b07121af1 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so
   '';
   patches = [ ./fix-bogus-pointer-assignment.patch ];
+  noHaddock = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell C++ wrapper";
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 4e965c2ebaa9..3f97a028729e 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.1.0.7";
-  sha256 = "04yg2mif9s3hsm5c18mf6rmw22j8prs8a1272fz25vzxzljfs2r9";
+  version = "1.1.0.8";
+  sha256 = "06if4mbrbcsjhk7hj3616fhgfh0rlsj95jblsbxq2drb4bn56r39";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit dataDefault deepseq failure
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 8d06099b77e5..8b7b69cb7fd4 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.5.1";
-  sha256 = "0vbampykc5a027q5fh5w6i1bxblyxx7s3nzhpzaa4c1yz8nz3k57";
+  version = "0.8.5.2";
+  sha256 = "1x285bd57ifp50afgx5i9chwmnlb0l716dsh691fjqj0xsr9kjgv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index a86417f6b397..c93c76ee3fab 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.3.4";
-  sha256 = "0xwav5ghik0vzg706rcqlzk64gnvr4nn4iikx1bzymzz2p5zyg0z";
+  version = "1.2.4.1";
+  sha256 = "18wzxalgiffdjz6x5vxmhksscy5531plgyjkv705kf5vaw6v6rlr";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 0bd73c2ade4f..789d158fa6c5 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.4.5";
-  sha256 = "091f89bwjsf2qimivbz74rykjjgzghfvs66sv9cz305pgw6kpjc7";
+  version = "1.2.5";
+  sha256 = "0ia5j6vnxy32y6776wlsfcv9d6s7slqpmkhxw3pipcqd5sjn4kf9";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit cookie dataDefault
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 5c0220f1f2aa..c26d88b50807 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.3";
-  sha256 = "1maf8yczijx8rdjy4abr2jq1ds4g61jg3zbqxjzaaxsbs77gna4a";
+  version = "1.3.4";
+  sha256 = "1ajdbr7lz6jxh5r0iapc7c70pmyrac8rw8qzv4vh8lbvmx0z4ck4";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
index f75b5706f6aa..7d56ca1142cd 100644
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-platform/default.nix
@@ -30,8 +30,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-platform";
-  version = "1.2.4.3";
-  sha256 = "1ilkfmg4sdrz45hc2m8b8rqz242phgxzgizrnd41d5g04jib3hl3";
+  version = "1.2.4.4";
+  sha256 = "0avqaqx81rald37j4qxp75ixgq5q4a3b8fnlmfsp9d54nfp3hxji";
   buildDepends = [
     aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
     authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index c4aba1ddfeb2..c1f3c4ea8734 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -1,25 +1,30 @@
 { cabal, base64Bytestring, cereal, conduit, cryptoConduit
-, cryptohashCryptoapi, dataDefault, fileEmbed, hspec, httpTypes
+, cryptohashCryptoapi, dataDefault, fileEmbed, filepath, hjsmin
+, hspec, httpTypes, HUnit, mimeTypes, processConduit, resourcet
 , shakespeareCss, systemFileio, systemFilepath, text, transformers
-, unixCompat, wai, waiAppStatic, yesodCore
+, unixCompat, unorderedContainers, wai, waiAppStatic, waiTest
+, yesodCore, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.0.1";
-  sha256 = "1ij0j1m9j6l63rl4zdfik36a3sb3k0zpqjg85sgis6wdqr18gsi5";
+  version = "1.2.1.1";
+  sha256 = "009p6hq6hwmvji40yqv97v1sfwdfh44pasp68cxw05czhcwwcacv";
   buildDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
+    dataDefault fileEmbed filepath hjsmin httpTypes mimeTypes
+    processConduit resourcet shakespeareCss systemFileio systemFilepath
+    text transformers unixCompat unorderedContainers wai waiAppStatic
     yesodCore
   ];
   testDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed hspec httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
-    yesodCore
+    dataDefault fileEmbed filepath hjsmin hspec httpTypes HUnit
+    mimeTypes processConduit resourcet shakespeareCss systemFileio
+    systemFilepath text transformers unixCompat unorderedContainers wai
+    waiAppStatic waiTest yesodCore yesodTest
   ];
+  doCheck = false;
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Static file serving subsite for Yesod Web Framework";
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 556b210b91b2..9f416ad27f93 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.2.1";
-  sha256 = "0xhpsqfshnay7kaz0czr7ass84cbjlgz2n13jk08hs8g8dw72as4";
+  version = "1.2.3";
+  sha256 = "0y1jwz7azk078kf14hsylgpwljdmrainhwflgxwyf0gcc5l7jhz3";
   buildDepends = [
     aeson blazeHtml blazeMarkup dataDefault hamlet monadControl
     networkConduit safe shakespeareCss shakespeareJs text transformers
diff --git a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
index 1240d4390a6a..a60bc457f85b 100644
--- a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "zeromq3-haskell";
-  version = "0.5";
-  sha256 = "16qh3q5rshaxzl79aiivrysl3dhilnd2mw2p45ifgbgv87m277gq";
+  version = "0.5.1";
+  sha256 = "0jmdhs2apmcr3wf5r739gq9qqad59qj82h7qpdk3m4cc2a7djil0";
   buildDepends = [
     async MonadCatchIOTransformers semigroups transformers
   ];
   testDepends = [
-    ansiTerminal checkers MonadCatchIOTransformers QuickCheck
+    ansiTerminal async checkers MonadCatchIOTransformers QuickCheck
     transformers
   ];
   extraLibraries = [ zeromq ];
diff --git a/pkgs/development/libraries/java/icedtea/default.nix b/pkgs/development/libraries/java/icedtea/default.nix
index 51f375a36f95..094e2a10f950 100644
--- a/pkgs/development/libraries/java/icedtea/default.nix
+++ b/pkgs/development/libraries/java/icedtea/default.nix
@@ -108,5 +108,7 @@ stdenv.mkDerivation rec {
 
     # Restrict to GNU systems for now.
     platforms = stdenv.lib.platforms.gnu;
+
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/json-c/0.11.nix b/pkgs/development/libraries/json-c/0.11.nix
new file mode 100644
index 000000000000..029921ee08c0
--- /dev/null
+++ b/pkgs/development/libraries/json-c/0.11.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "json-c-0.11";
+  src = fetchurl {
+    url    = "https://github.com/json-c/json-c/archive/json-c-0.11-20130402.tar.gz";
+    sha256 = "1m8fy7lbahv1r7yqbhw4pl057sxmmgjihm1fsvc3h66710s2i24r";
+  };
+  meta = with stdenv.lib; {
+    description = "A JSON implementation in C";
+    homepage    = https://github.com/json-c/json-c/wiki;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+
+    longDescription = ''
+      JSON-C implements a reference counting object model that allows you to
+      easily construct JSON objects in C, output them as JSON formatted strings
+      and parse JSON formatted strings back into the C representation of JSON
+      objects.
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
index fa53cb2ddd4d..7953b04183a9 100644
--- a/pkgs/development/libraries/json-c/default.nix
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "json-c-0.9";
@@ -6,9 +6,15 @@ stdenv.mkDerivation rec {
     url = "http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz";
     sha256 = "0xcl8cwzm860f8m0cdzyw6slwcddni4mraw4shvr3qgqkdn4hakh";
   };
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://oss.metaparadigm.com/json-c/";
     description = "A JSON implementation in C";
-    longDescription = "JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.";
+    longDescription = ''
+      JSON-C implements a reference counting object model that allows you to
+      easily construct JSON objects in C, output them as JSON formatted strings
+      and parse JSON formatted strings back into the C representation of JSON
+      objects.
+    '';
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index b0a5ecedcc6c..d4728273d34c 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, openldap, readline, db4, openssl, cyrus_sasl, sqlite} :
 
 stdenv.mkDerivation rec {
-  name = "heimdal-1.5.2";
+  name = "heimdal-1.5.3";
 
   src = fetchurl {
     urls = [
       "http://www.h5l.org/dist/src/${name}.tar.gz"
       "http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz"
     ];
-    sha256 = "22603f282f31173533b939d289f3374258aa1ccccbe51ee088d7568d321279ec";
+    sha256 = "19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma";
   };
 
   ## ugly, X should be made an option
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 6d54dc25e945..14e220005378 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "lensfun-0.2.5";
+  name = "lensfun-0.2.7";
 
   src = fetchurl {
     url = "http://download.berlios.de/lensfun/${name}.tar.bz2";
-    sha256 = "11zvi3lk60iljync3a495h9la7makx6lf22fbvr4lwc933mrh562";
+    sha256 = "0xv4h219zn0ldhhjnjc1q2bgpbfqzpd4b31gf9yyrwbapm3hgprx";
   };
 
   patchPhase = "sed -e 's@/usr/bin/python@${python}/bin/python@' -i configure";
diff --git a/pkgs/development/libraries/lgi/default.nix b/pkgs/development/libraries/lgi/default.nix
new file mode 100644
index 000000000000..663185831f63
--- /dev/null
+++ b/pkgs/development/libraries/lgi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, lua, glib }:
+
+stdenv.mkDerivation {
+  name = "lgi-0.7.2";
+
+  src = fetchurl {
+    url    = https://github.com/pavouk/lgi/archive/0.7.2.tar.gz;
+    sha256 = "0ihl7gg77b042vsfh0k7l53b7sl3d7mmrq8ns5lrsf71dzrr19bn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Gobject-introspection based dynamic Lua binding to GObject based libraries";
+    homepage    = https://github.com/pavouk/lgi;
+    license     = "custom";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+  buildInputs = [ glib gobjectIntrospection lua pkgconfig ];
+
+  preBuild = ''
+    sed -i "s|/usr/local|$out|" lgi/Makefile
+  '';
+}
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index bed953119151..1d4ef158113a 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -1,19 +1,43 @@
-{ stdenv, fetchsvn, cmake }:
+{ stdenv, fetchsvn, cmake, libunwind }:
 
-let rev = "165151"; in
+let rev = "190100"; in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "libc++-pre${rev}";
 
   src = fetchsvn {
     url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
     inherit rev;
-    sha256 = "00l8xx5nc3cjlmln7c1sy1i4v844has9kbfxrsziwkalzbgwaslz";
+    sha256 = "0hnfvzzrkj797kp9sk2yncvbmiyx0d72k8bys3z7l6i47d37xv03";
+  };
+
+  cxxabi = fetchsvn {
+    url = "http://llvm.org/svn/llvm-project/libcxxabi/trunk";
+    inherit rev;
+    sha256 = "1kdyvngwd229cgmcqpawaf0qizas8bqc0g8s08fmbgwsrh1qrryp";
   };
 
   buildInputs = [ cmake ];
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+  preConfigure = ''
+      sed -i 's/;cxa_demangle.h//' CMakeLists.txt
+      cp -R ${cxxabi} cxxabi
+      chmod u+w -R cxxabi # umm
+      (export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include";
+       export NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
+       cd cxxabi/lib
+       sed -e s,-lstdc++,, -i buildit # do not link to libstdc++!
+       ./buildit
+       mkdir -p $out/lib && cp libc++abi.so.1.0 $out/lib
+       cd $out/lib
+       ln -s libc++abi.so.1.0 libc++abi.so
+       ln -s libc++abi.so.1.0 libc++abi.so.1)
+  '';
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
+                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${cxxabi}/include"
+                 "-DLIBCXX_CXX_ABI=libcxxabi" ];
+  buildPhase = ''NIX_CFLAGS_LINK="-L$out/lib -lc++abi" make'';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index 9f5127905c28..b4cea379bbae 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "libcue-1.3.0";
+  name = "libcue-1.4.0";
   src = fetchurl {
     url = "mirror://sourceforge/libcue/${name}.tar.bz2";
-    sha256 = "0gcd9maxh82fc0qah0q8xh74sch0px3n7c0qx0298n2qbk2mkn12";
+    sha256 = "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb";
   };
   meta = {
     description = "A library to parse a cue sheet";
diff --git a/pkgs/development/libraries/libdc1394avt/default.nix b/pkgs/development/libraries/libdc1394avt/default.nix
index 1fcdeae0d116..69f66d7f5b7b 100644
--- a/pkgs/development/libraries/libdc1394avt/default.nix
+++ b/pkgs/development/libraries/libdc1394avt/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2.1+";
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index d85c205c68a6..a2065111190f 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.2.2";
+  name = "libebml-1.3.0";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "19dp8m97xaj46iv6ahb5v0fb9sawjiy8wy1ylljc15ka8g30hss7";
+    sha256 = "1plnh2dv8k9s4d06c2blv2sl8bnz6d6shvj0h00al597nvb79c43";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libestr/default.nix b/pkgs/development/libraries/libestr/default.nix
index 74d86667b5b5..271311cf46ca 100644
--- a/pkgs/development/libraries/libestr/default.nix
+++ b/pkgs/development/libraries/libestr/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation {
-  name = "libestr-0.1.4";
+  name = "libestr-0.1.9";
   src = fetchurl {
-    url = http://libestr.adiscon.com/files/download/libestr-0.1.4.tar.gz;
-    sha256 = "1qw5vqryawdm434l9ql3r160ap2f5mmp7b6pciac7qli62y0a2z3";
+    url = http://libestr.adiscon.com/files/download/libestr-0.1.9.tar.gz;
+    sha256 = "06km9mlw5qq4aa7503l81d0qcghzl0n3lh0z41r1xjpa04nnwb42";
   };
 }
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 0ad46e2ed5f4..6a1f28c96ff6 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -3,10 +3,10 @@
   libimobiledevice, python, pygobject, mutagen }:
 
 stdenv.mkDerivation rec {
-  name = "libgpod-0.8.2";
+  name = "libgpod-0.8.3";
   src = fetchurl {
     url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
-    sha256 = "14m0amy56q4riwvcjszv04a9zp7l2xk8nx0vvhy94yqd0sqfjm00";
+    sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 7562765a3ac3..b286dcfcd199 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     maintainers = [ ];
 
     # This library is not needed on GNU platforms.
-    platforms = [ "i686-cygwin" ];
+    hydraPlatforms = stdenv.lib.platforms.cygwin ++ stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.freebsd;
   };
 }
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index b8a815e4a6f9..c305239e6e21 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -11,10 +11,10 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "libinfinity-0.5.3";
+  name = "libinfinity-0.5.4";
   src = fetchurl {
     url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
-    sha256 = "04qa3ky2skhc9b5f9i9sc8hci3ykklqznmgy616yzs3n22bmax9j";
+    sha256 = "1i7nj8qjay6amg455mwhhfqjvxnfyyql9y40a6a4a3ky170ly004";
   };
 
   buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ]
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index 0bbc095c380f..67b9e7289550 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.3.0";
+  name = "libmatroska-1.4.1";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
-    sha256 = "0scfs5lc1nvdfv7ipgg02h7wzxks48hc5lvgk9qmwdkihnayqcaj";
+    sha256 = "1dzglkl0hpimld1kahkrrp857hw5pg1r7xxbpnx7jmlj7s3j2vq8";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libmusclecard/default.nix b/pkgs/development/libraries/libmusclecard/default.nix
index 5968c6d9a55b..af235b833826 100644
--- a/pkgs/development/libraries/libmusclecard/default.nix
+++ b/pkgs/development/libraries/libmusclecard/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index 8e689ed25687..14b50bb51182 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libnfnetlink, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "libnetfilter_conntrack-1.0.2";
+  name = "libnetfilter_conntrack-1.0.4";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
-    md5 = "447114b5d61bb9a9617ead3217c3d3ff";
+    sha256 = "0zcwjav1qgr7ikmvfmy7g3nc7s1kj4j4939d18mpyha9mwy4mv6r";
   };
 
   buildInputs = [ pkgconfig libnfnetlink libmnl ];
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index ba031cd927c4..2dce6db1bf26 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
         
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.4";
+  name = "libofx-0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "1byvc1ar7s0nivi5cmycwlwh1y4xiad7ipfkgx57lbk7slgn8c4v";
+    sha256 = "08vvfj1rq0drcdfchrgb5zp05a2xl3a5aapsfgj0gqy3rp2qivwl";
   };
 
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
diff --git a/pkgs/development/libraries/libopensc-dnie/default.nix b/pkgs/development/libraries/libopensc-dnie/default.nix
index d229933111e8..2d736411780f 100644
--- a/pkgs/development/libraries/libopensc-dnie/default.nix
+++ b/pkgs/development/libraries/libopensc-dnie/default.nix
@@ -1,12 +1,10 @@
-{stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct, libtool, pcsclite,
-zlib}:
-
-# Version 1.4.6-2 works only with opensc 0.11.7
-assert opensc.name == "opensc-0.11.7";
+{ stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct
+, libtool, pcsclite, zlib
+}:
 
 stdenv.mkDerivation rec {
   name = "libopensc-dnie-1.4.6-2";
-  
+
   src = if stdenv.system == "i686-linux" then (fetchurl {
       url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_32/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar;
       sha256 = "1i6r9ahjr0rkcxjfzkg2rrib1rjsjd5raxswvvfiya98q8rlv39i";
@@ -26,14 +24,14 @@ stdenv.mkDerivation rec {
 
     RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.gcc.libc}/lib:${zlib}/lib
 
-    for a in usr/lib/*.so*; do
+    for a in "usr/lib/"*.so*; do
         if ! test -L $a; then
             patchelf --set-rpath $RPATH $a
         fi
     done
 
-    sed -i s,/usr,$out, usr/lib/pkgconfig/*
-   
+    sed -i s,/usr,$out, "usr/lib/pkgconfig/"*
+
     mkdir -p $out
     cp -R usr/lib $out
     cp -R usr/share $out
@@ -50,5 +48,6 @@ stdenv.mkDerivation rec {
     license = "nonfree";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 70c20caa88af..08ada463a548 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -2,12 +2,12 @@
   intltool, gtk_doc, gobjectIntrospection, pkgconfig, libxslt, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  version = "0.15";
+  version = "0.16";
   name = "libsecret-${version}";
 
   src = fetchurl {
     url = "https://git.gnome.org/browse/libsecret/snapshot/libsecret-${version}.zip";
-    sha256 = "088v1z7zbdi8b0779jads7q20x1gx6c4zmrj3q0vysc7a0k16i6k";
+    sha256 = "1yf4zvzfa45wr5bqlh54g3bmd0lgcsa8hnhppa99czca0zj7bkks";
   };
 
   propagatedBuildInputs = [ glib dbus_libs ];
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 517fbf2bd430..7c3e7ed69a96 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libtorrent-rasterbar-${version}";
-  version = "0.16.8";
+  version = "0.16.12";
   
   src = fetchurl {
     url = "http://libtorrent.googlecode.com/files/${name}.tar.gz";
-    sha256 = "01jxhyndqkc0qag22s5w0vs63hlp4rr4bca8k7fj37gky7w119c0";
+    sha256 = "0s2nxhz4d93xcl6hchmfgi8hq7aw8mrkgixh5an7fbk4shswpcg8";
   };
 
   buildInputs = [ boost pkgconfig openssl zlib python ];
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 0098ddb9d77a..a3de6f99418d 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -2,8 +2,8 @@
 , libconfig, pkgconfig }:
 
 let
-  version = "31f5d7a8ab";
-  date = "20131011";
+  version = "18c98eb";
+  date = "20131112";
 in
 stdenv.mkDerivation rec {
   name = "tox-core-${date}-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/irungentoo/ProjectTox-Core/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "0frz8ylvi33i7zkiz3hp28ylqg4c3ffrbc2m3ibb4zv9rwfzf77r";
+    sha256 = "1g69fz9aspzsrlzlk6fpmjyyhb38v8mmp25nszlbra17n3f209yh";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix
index e5e7f5ff0ae8..5fb8622d1e0f 100644
--- a/pkgs/development/libraries/libunibreak/default.nix
+++ b/pkgs/development/libraries/libunibreak/default.nix
@@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "0rsivyxnp9nfngf83fiy4v58s5mgdhcjz75nv5nyhxwxnjq35d25";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://vimgadgets.sourceforge.net/libunibreak/;
     description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard";
-    license = "ZLIB";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.zlib;
+    platforms = platforms.unix;
+    maintainer = [ maintainers.coroa ];
   };
 }
diff --git a/pkgs/development/libraries/libusb1/1_0_9.nix b/pkgs/development/libraries/libusb1/1_0_9.nix
deleted file mode 100644
index a2d628f96896..000000000000
--- a/pkgs/development/libraries/libusb1/1_0_9.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "libusb-1.0.9";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879";
-  };
-
-  buildInputs = [ pkgconfig ];
-
-  meta = {
-    homepage = http://www.libusb.org;
-    description = "User-space USB library";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-  };
-}
-
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 9a6a303fe32e..f06eacb67a92 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.16";
+  name = "libusb-1.0.17";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusbx/libusbx-1.0.16.tar.bz2";
-    sha256 = "105m9jvjr3vrriyg0mwmyf7qla4l71iwwnymrsk3sy9dazwmqcsv";
+    url = "mirror://sourceforge/libusbx/libusbx-1.0.17.tar.bz2";
+    sha256 = "1f25a773x9x5n48a0mcigyk77ay0hkiz6y6bi4588wzf7wn8svw7";
   };
 
   buildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index ce81c1b2e8c2..c34934400d01 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
 , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
+, dnsmasq
 }:
 
-let version = "1.1.2"; in
+let version = "1.2.0"; in
 
 stdenv.mkDerivation {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    md5 = "1835bbfa492099bce12e2934870e5611";
+    sha256 = "1p9dn96j8qqp20lr0kvc7zyjjcpgsa9k41slyk2jmnv1g2p7ird8";
   };
 
   buildInputs =
@@ -19,12 +20,9 @@ stdenv.mkDerivation {
       libcap_ng
     ];
 
-  # see http://www.mail-archive.com/libvir-list@redhat.com/msg83693.html
-  patches = [ ./securtyfs_userns.patch ];
-
   preConfigure =
     ''
-      PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
+      PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH
       patchShebangs . # fixes /usr/bin/python references
     '';
 
diff --git a/pkgs/development/libraries/libvirt/securtyfs_userns.patch b/pkgs/development/libraries/libvirt/securtyfs_userns.patch
deleted file mode 100644
index 2723334f94af..000000000000
--- a/pkgs/development/libraries/libvirt/securtyfs_userns.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/lxc/lxc_container.c
-+++ b/src/lxc/lxc_container.c
-@@ -750,7 +750,7 @@ err:
- }
- 
- 
--static int lxcContainerMountBasicFS(void)
-+static int lxcContainerMountBasicFS(bool userns_enabled)
- {
-     const struct {
-         const char *src;
-@@ -801,6 +801,9 @@ static int lxcContainerMountBasicFS(void)
-             continue;
- #endif
- 
-+        if (STREQ(mnts[i].src, "securityfs") && userns_enabled)
-+            continue;
-+
-         if (virFileMakePath(mnts[i].dst) < 0) {
-             virReportSystemError(errno,
-                                  _("Failed to mkdir %s"),
-@@ -1530,7 +1533,7 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
-         goto cleanup;
- 
-     /* Mounts the core /proc, /sys, etc filesystems */
--    if (lxcContainerMountBasicFS() < 0)
-+    if (lxcContainerMountBasicFS(vmDef->idmap.nuidmap) < 0)
-         goto cleanup;
- 
-     /* Mounts /proc/meminfo etc sysinfo */
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index e25074f8d126..b86df4969c29 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,20 +2,17 @@
 
 assert pythonSupport -> python != null;
 
-stdenv.mkDerivation rec {
-  name = "libxml2-2.9.0";
+#TODO: share most stuff between python and non-python builds, perhaps via multiple-output
+
+stdenv.mkDerivation (rec {
+  name = "libxml2-2.9.1";
 
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd";
+    sha256 = "1nqgd1qqmg0cg09mch78m2ac9klj9n87blilx4kymi7jcv5n8g7x";
   };
 
-  patches = [ ./pthread-once-init.patch ];
-
-  configureFlags = stdenv.lib.optionalString pythonSupport "--with-python=${python}";
-
-  buildInputs = (stdenv.lib.optional pythonSupport [ python ])
-
+  buildInputs = stdenv.lib.optional pythonSupport python
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
@@ -33,7 +30,18 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/;
     description = "An XML parsing library for C";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
-}
+
+} // stdenv.lib.optionalAttrs pythonSupport {
+  configureFlags = "--with-python=${python}";
+
+  # this is a pair of ugly hacks to make python stuff install into the right place
+  preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"'';
+  installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"'';
+
+} // stdenv.lib.optionalAttrs (!pythonSupport && stdenv.isFreeBSD) {
+  configureFlags = "--with-python=no"; # otherwise build impurity bites us
+})
+
diff --git a/pkgs/development/libraries/libxml2/pthread-once-init.patch b/pkgs/development/libraries/libxml2/pthread-once-init.patch
deleted file mode 100644
index fadfc27a9118..000000000000
--- a/pkgs/development/libraries/libxml2/pthread-once-init.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-http://git.gnome.org/browse/libxml2/commit/?id=3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e
-
-From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
-From: Friedrich Haubensak <hsk@fli-leibniz.de>
-Date: Wed, 12 Sep 2012 15:34:53 +0000
-Subject: Fix a thread portability problem
-
-cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
-
-I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
-a structure assignment anyway
----
-diff --git a/threads.c b/threads.c
-index f206149..7e85a26 100644
---- a/threads.c
-+++ b/threads.c
-@@ -146,6 +146,7 @@ struct _xmlRMutex {
- static pthread_key_t globalkey;
- static pthread_t mainthread;
- static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
- static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
- #elif defined HAVE_WIN32_THREADS
- #if defined(HAVE_COMPILER_TLS)
-@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
- #ifdef HAVE_PTHREAD_H
-     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
-         pthread_key_delete(globalkey);
--    once_control = PTHREAD_ONCE_INIT;
-+    once_control = once_control_init;
- #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
-     if (globalkey != TLS_OUT_OF_INDEXES) {
-         xmlGlobalStateCleanupHelperParams *p;
---
-cgit v0.9.0.2
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 36c8073348d8..37f03a1dfb69 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl
 , pkgconfig, libxml2, glibmm, perl }:
 stdenv.mkDerivation rec {
-  name = "libxml++-2.30.0";
+  name = "libxml++-2.30.1";
   src = fetchurl {
     url = "mirror://gnome/sources/libxml++/2.30/${name}.tar.bz2";
-    sha256 = "1hgpw9lld0k6z34kxrapz8dxf3cbgnnhkx6himnvw9ax3qf7p5gk";
+    sha256 = "02mrib11cjx5fshdr8p1biwvyl0xfkf86b6nh8ashwv590v0wgs3";
   };
 
   buildInputs = [ pkgconfig glibmm perl ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index eedcd78767f0..ee369ddc58b1 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/log4cxx/default.nix b/pkgs/development/libraries/log4cxx/default.nix
index 0e6c24bf61e1..983fabc041e2 100644
--- a/pkgs/development/libraries/log4cxx/default.nix
+++ b/pkgs/development/libraries/log4cxx/default.nix
@@ -2,18 +2,31 @@
 , apr, aprutil, db45, expat
 }:
 
-stdenv.mkDerivation {
-  name = "log4cxx-0.10.0";
-  
+stdenv.mkDerivation rec {
+  name = "log4cxx-${version}";
+  version = "0.10.0";
+
   src = fetchurl {
-    url = http://apache.mirrors.hoobly.com/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz;    
+    url = "http://apache.mirrors.hoobly.com/logging/log4cxx/${version}/apache-${name}.tar.gz";
     sha256 = "130cjafck1jlqv92mxbn47yhxd2ccwwnprk605c6lmm941i3kq0d";
   };
-  
+
+  postPatch = ''
+    sed -i -e '1,/^#include/ {
+      /^#include/i \
+        #include <cstdio> \
+        #include <cstdlib> \
+        #include <cstring>
+    }' src/examples/cpp/console.cpp \
+       src/main/cpp/inputstreamreader.cpp \
+       src/main/cpp/socketoutputstream.cpp
+  '';
+
   buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db45 expat];
 
   meta = {
     homepage = http://logging.apache.org/log4cxx/index.html;
     description = "A logging framework for C++ patterned after Apache log4j";
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 4fa5ee9e74ae..b613f4c8964d 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -23,7 +23,7 @@ else
 */
 
 let
-  version = "9.1.6";
+  version = "9.1.7";
   # this is the default search path for DRI drivers (note: X server introduces an overriding env var)
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "0gay00fy84hrnp25hpacz5cbvxrpvgg1d390vichmbdgmkqdycp6";
+    sha256 = "1824p185ys7z9bah46xasp7khv44n9wv2c4p38i1dispniwbirih";
   };
 
   prePatch = "patchShebangs .";
@@ -41,6 +41,7 @@ stdenv.mkDerivation {
     ./static-gallium.patch
     ./dricore-gallium.patch
     ./fix-rounding.patch
+    ./werror-wundef.patch
   ];
 
   # Change the search path for EGL drivers from $drivers/* to driverLink
diff --git a/pkgs/development/libraries/mesa/werror-wundef.patch b/pkgs/development/libraries/mesa/werror-wundef.patch
new file mode 100644
index 000000000000..4663f68bd7d3
--- /dev/null
+++ b/pkgs/development/libraries/mesa/werror-wundef.patch
@@ -0,0 +1,12 @@
+diff -rupN Mesa-9.2.0-orig/include/GL/gl.h Mesa-9.2.0/include/GL/gl.h
+--- Mesa-9.2.0-orig/include/GL/gl.h	2013-08-14 03:34:42.000000000 +0200
++++ Mesa-9.2.0/include/GL/gl.h	2013-09-24 19:34:58.319140812 +0200
+@@ -2088,7 +2088,7 @@ typedef void (APIENTRYP PFNGLMULTITEXCOO
+ 
+ 
+ 
+-#if GL_ARB_shader_objects
++#if defined(GL_ARB_shaders_objects) && GL_ARB_shader_objects
+ 
+ #ifndef GL_MESA_shader_debug
+ #define GL_MESA_shader_debug 1
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
new file mode 100644
index 000000000000..8bf7ccbfcfa6
--- /dev/null
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.2-alpha";
+  name = "nanomsg-${version}";
+
+  src = fetchurl {
+    url = "http://download.nanomsg.org/${name}.tar.gz";
+    sha256 = "0bgjj1x1a991pckw4nm5bkmbibjsf74y0ns23fpk4jj5dwarhm3d";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    make install PREFIX="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description= "Socket library that provides several common communication patterns";
+    homepage = http://nanomsg.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 803680313493..2b6f952696cd 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.1"; in
+let version = "4.10.2"; 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 = "bd1cdf5e7e107846ffe431c5c62b81a560e8c3f7";
+    sha1 = "650e4aa35d58624bc1083ed585c81c4af09cf23c";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 49f3754bc140..bc361b39dd65 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,17 +11,17 @@ let
 
   secLoadPatch = fetchurl {
     name = "security_load.patch";
-    urls = http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.1-1/85_security_load.patch;
+    urls = http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.3-1/85_security_load.patch;
     sha256 = "041c6v4cxwsy14qr5m9qs0gkv3w24g632cwpz27kacxpa886r1ds";
   };
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.15.2";
+  version = "3.15.3";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_2_RTM/src/${name}.tar.gz";
-    sha1 = "2d900c296bf11deabbf833ebd6ecdea549c97a5f";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_3_RTM/src/${name}.tar.gz";
+    sha1 = "1d0f6707eda35f6c7be92fe2b0537dc090a8f203";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index e6df13eed34e..03cfbc8fabdd 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "openbabel-2.3.1";
+  name = "openbabel-2.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/openbabel/${name}.tar.gz";
-    sha256 = "18yprqsk0fi1ri4fmvpx2ym6gx9fp3by681pl3jffpjqmz4qnbly";
+    sha256 = "122if0jkm71ngd1b0dic8k567b3j2hcikbwnpxgchv5ag5ka5b2f";
   };
 
   # TODO : perl & python bindings;
diff --git a/pkgs/development/libraries/opencv/2.1.nix b/pkgs/development/libraries/opencv/2.1.nix
index ea5b1313dc7f..4b0ccc0903ff 100644
--- a/pkgs/development/libraries/opencv/2.1.nix
+++ b/pkgs/development/libraries/opencv/2.1.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 99bf8f10fd82..ca1db1372064 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
index f297bd792c77..5644eb527c48 100644
--- a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
+++ b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
@@ -2,7 +2,7 @@
 , gst_plugins_base }:
 
 let
-  version = "4.6.3";
+  version = "4.7.0";
   pname = "phonon-backend-gstreamer";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "0n5ggap1xzspq8x1j9bvnf7wqqh5495sysri7zyg42g32gqp7qjm";
+    sha256 = "0zg7hnaywk9wpcvzgskx2334cgfz09ii77pvasrn00ikcqqnnxrs";
   };
 
   buildInputs = [ phonon qt4 gstreamer gst_plugins_base ];
diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix
index 257c80f0b118..39f444dd58f8 100644
--- a/pkgs/development/libraries/phonon-backend-vlc/default.nix
+++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "phonon-backend-vlc";
-  v = "0.5.0";
+  v = "0.7.0";
   vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
-    sha256 = "1233szd05ahaxyk1sjis374n90m40svfks2aq9jx3g3lxygzwmi2";
+    sha256 = "1rhzc3d188l6ygxgfxwikscj71pyy0nchzikvkkq465r9ajavdgd";
   };
 
   nativeBuildInputs = [ cmake automoc4 xz ];
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index bd74b9372764..ce5adc4b0a50 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }:
 
 let
-  v = "4.6.0";
+  v = "4.7.0";
 in
 
 stdenv.mkDerivation rec {
   name = "phonon-${v}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${v}/src/${name}.tar.xz";
-    sha256 = "2915e7a37c92a0a8237b9e6d2ef67ba8b005ee3529d03991cd3d137f039ba3c4";
+    url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz";
+    sha256 = "1sxrnwm16dxy32xmrqf26762wmbqing1zx8i4vlvzgzvd9xy39ac";
   };
 
   buildInputs = [ qt4 pulseaudio ];
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 9d1f0d18c1ad..821e66ea0b30 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,48 +1,59 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, gettext
-, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey
+, gobjectIntrospection, libxslt, docbook_xsl
 , useSystemd ? stdenv.isLinux, systemd }:
 
 let
 
   system = "/var/run/current-system/sw";
+  setuid = "/var/setuid-wrappers"; #TODO: from <nixos> config.security.wrapperDir;
 
   foolVars = {
-    LOCALSTATE = "/var";
     SYSCONF = "/etc";
-    LIB = "${system}/lib";
-    DATA = "${system}/share";
+    DATA = "${system}/share"; # to find share/polkit-1/actions of other apps at runtime
   };
 
 in
 
 stdenv.mkDerivation rec {
-  name = "polkit-0.105";
+  name = "polkit-0.112";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/polkit/releases/${name}.tar.gz";
-    sha256 = "1pz1hn4z0f1wk4f7w8q1g6ygwan1b6kxmfad3b7gql27pb47rp4g";
+    sha256 = "1xkary7yirdcjdva950nqyhmsz48qhrdsr78zciahj27p8yg95fn";
   };
 
   buildInputs =
-    [ pkgconfig glib expat pam intltool gobjectIntrospection ]
+    [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
+    ++ [ libxslt docbook_xsl ] # man pages
     ++ stdenv.lib.optional useSystemd systemd;
 
-  configureFlags = "--libexecdir=$(out)/libexec/polkit-1";
-
   # Ugly hack to overwrite hardcoded directories
   # TODO: investigate a proper patch which will be accepted upstream
+  # After update it's good to check the sources via:
+  #   grep '\<PACKAGE_' '--include=*.[ch]' -R
   CFLAGS = stdenv.lib.concatStringsSep " "
     ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'')
         (builtins.attrNames foolVars) );
 
-  preBuild =
-    ''
-      # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
-      # NixOS.  Hard-coding the path is kinda ugly.  Maybe we can just
-      # call through $PATH, but that might have security implications.
-      substituteInPlace src/polkitagent/polkitagentsession.c \
-        --replace PACKAGE_LIBEXEC_DIR '"/var/setuid-wrappers"'
-    '';
+  preConfigure = ''
+    patchShebangs .
+  '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
+    sed '/libsystemd-login autoconfigured, but system does not appear to use systemd/s/.*/:/' -i configure
+  ''
+    # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
+    # NixOS.  Hard-coding the path is kinda ugly.  Maybe we can just
+    # call through $PATH, but that might have security implications.
+  + ''
+    substituteInPlace src/polkitagent/polkitagentsession.c \
+      --replace   'PACKAGE_PREFIX "/lib/polkit-1/'   '"${setuid}/'
+  '';
+
+  configureFlags = [
+    #"--libexecdir=$(out)/libexec/polkit-1" # this and localstatedir are ignored by configure
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
+    "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
+  ];
 
   makeFlags =
     ''
@@ -50,12 +61,7 @@ stdenv.mkDerivation rec {
       INTROSPECTION_TYPELIBDIR=$(out)lib/girepository-1.0
     '';
 
-  postInstall =
-    ''
-      # Allow some files with paranoid permissions to be stripped in
-      # the fixup phase.
-      chmod a+rX -R $out
-    '';
+  #doCheck = true; # some /bin/bash problem that isn't auto-solved by patchShebangs
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/polkit;
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 9cd094855d24..c438849e0cdb 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -4,8 +4,8 @@
 }:
 
 let
-  version = "0.24.1"; # even major numbers are stable
-  sha256 = "1ipzirrh5ppkq99zb59xpfg5j2fgc8mr569r1cmxjjqql0dc1vsw";
+  version = "0.24.3"; # even major numbers are stable
+  sha256 = "0kip6mxp4lscr3wvgfashqk7ymhx2w1hgdilfpgig0a5kr805kfj";
 
   qtcairo_patches =
     let qtcairo = fetchgit { # the version for poppler-0.22
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index 59151d35326d..792090171889 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
     sha256 = "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb";
   };
 
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = vers;
+
   prePatch = ''
     substituteInPlace configure --replace /bin/pwd pwd
     substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
@@ -173,6 +176,6 @@ stdenv.mkDerivation rec {
     description = "A cross-platform application framework for C++";
     license     = "GPL/LGPL";
     maintainers = with maintainers; [ lovek323 phreedom sander urkud ];
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix
new file mode 100644
index 000000000000..e593200d1599
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/default.nix
@@ -0,0 +1,157 @@
+{ stdenv, fetchurl, substituteAll, libXrender, libXext
+, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
+, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
+, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
+, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
+, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
+, alsaLib, gstreamer, gst_plugins_base
+, pulseaudio, bison, flex, gperf, ruby, libwebp
+, flashplayerFix ? false
+, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
+, buildDocs ? false
+, buildExamples ? false
+, buildTests ? true
+, developerBuild ? false
+}:
+
+with stdenv.lib;
+
+let
+  v_maj = "5.1";
+  v_min = "1";
+  ver = "${v_maj}.${v_min}";
+in
+
+stdenv.mkDerivation rec {
+  name = "qt-${ver}";
+
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/qt/"
+      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
+    sha256 = "4c05742db52325e96b1d610a2388140dcc1e3d03d93faea2b2d3791015b186f6";
+  };
+
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = ver;
+
+  prePatch = ''
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
+  '';
+
+  patches =
+    [ ./glib-2.32.patch
+      (substituteAll {
+        src = ./dlopen-absolute-paths.patch;
+        inherit cups icu libXfixes;
+        glibc = stdenv.gcc.libc;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
+      })
+    ] ++ optional gtkStyle (substituteAll {
+        src = ./dlopen-gtkstyle.patch;
+        # substituteAll ignores env vars starting with capital letter
+        gconf = GConf;
+        inherit gnome_vfs libgnomeui gtk;
+      })
+    ++ optional flashplayerFix (substituteAll {
+        src = ./dlopen-webkit-nsplugin.patch;
+        inherit gtk gdk_pixbuf;
+      });
+
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+  '';
+
+  prefixKey = "-prefix ";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags = ''
+    -verbose
+    -confirm-license
+    -opensource
+
+    -release
+    -shared
+    -c++11
+    ${optionalString developerBuild "-developer-build"}
+    -largefile
+    -accessibility
+    -rpath
+    -optimized-qmake
+    -strip
+    -reduce-relocations
+    -force-debug-info
+    -no-separate-debug-info
+    -system-proxies
+
+    -gui
+    -widgets
+    -opengl desktop
+    -javascript-jit
+    -qml-debug
+    -nis
+    -iconv
+    -icu
+    -pch
+    -glib
+    -xcb
+    -qpa xcb
+    -${optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -system-zlib
+    -system-libpng
+    -system-libjpeg
+    -system-xcb
+    -system-xkbcommon
+    -openssl-linked
+    -dbus-linked
+
+    -system-sqlite
+    -${if mysql != null then "plugin" else "no"}-sql-mysql
+    -${if postgresql != null then "plugin" else "no"}-sql-psql
+
+    -make libs
+    -make tools
+    -${optionalString (buildExamples == false) "no"}make examples
+    -${optionalString (buildTests == false) "no"}make tests
+  '';
+
+  propagatedBuildInputs = [
+    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
+    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
+    zlib libjpeg libpng libtiff sqlite icu
+    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
+    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
+  ]
+  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
+  # doesn't remain a runtime-dep if not used
+  ++ optionals mesaSupported [ mesa mesa_glu ]
+  ++ optional (cups != null) cups
+  ++ optional (mysql != null) mysql
+  ++ optional (postgresql != null) postgresql;
+
+  buildInputs = [ gdb bison flex gperf ruby ];
+
+  nativeBuildInputs = [ python perl pkgconfig ];
+
+  postInstall = if buildDocs then "make docs&&make install_docs" else "";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = [ maintainers.bbenoist ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qt-5/dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/dlopen-absolute-paths.patch
new file mode 100644
index 000000000000..65b817a2b141
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/dlopen-absolute-paths.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-09-25 17:43:14.047015411 +0200
+@@ -93,7 +93,7 @@
+ static void resolveLibrary()
+ {
+ #if !defined(QT_NO_LIBRARY) && !defined(Q_OS_QNX)
+-    QLibrary lib(QLatin1String("resolv"));
++    QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
+     if (!lib.load())
+         return;
+ 
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-08-25 20:03:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-09-25 17:51:29.834674976 +0200
+@@ -379,7 +379,7 @@
+             {
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
+-                QLibrary lib(QLatin1String("GL"));
++                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+             }
+         }
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp	2013-08-25 20:03:36.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp	2013-09-25 17:40:35.895942599 +0200
+@@ -91,7 +91,7 @@
+ 
+ static void resolveCups()
+ {
+-    QLibrary cupsLib(QLatin1String("cups"), 2);
++    QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
+     if(cupsLib.load()) {
+         _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
+         _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
diff --git a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
new file mode 100644
index 000000000000..05ff30b7ac33
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-08-25 20:03:30.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-09-25 17:58:04.229373681 +0200
+@@ -348,7 +348,7 @@
+ void QGtkStylePrivate::resolveGtk() const
+ {
+     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
+@@ -461,8 +461,8 @@
+     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
+     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
+ 
+-    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
+-    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
++    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
++    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
+ }
+ 
+ /* \internal
+@@ -630,9 +630,9 @@
+ static bool resolveGConf()
+ {
+     if (!QGtkStylePrivate::gconf_client_get_default) {
+-        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
+-        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
+-        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
++        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
++        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
++        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
+     }
+     return (QGtkStylePrivate::gconf_client_get_default !=0);
+ }
diff --git a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
new file mode 100644
index 000000000000..7cd90551454f
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
@@ -0,0 +1,36 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-08-25 20:04:47.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-09-25 17:59:45.925363807 +0200
+@@ -132,7 +132,7 @@
+         }
+     }
+ 
+-    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-08-25 20:04:47.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-09-25 18:00:29.551215155 +0200
+@@ -702,7 +702,7 @@
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-08-25 20:04:42.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-09-25 18:04:54.955408293 +0200
+@@ -64,7 +64,7 @@
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
diff --git a/pkgs/development/libraries/qt-5/glib-2.32.patch b/pkgs/development/libraries/qt-5/glib-2.32.patch
new file mode 100644
index 000000000000..eb71e79d1472
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/glib-2.32.patch
@@ -0,0 +1,12 @@
+diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+--- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-08-25 20:04:35.000000000 +0200
++++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-09-25 18:09:22.154639482 +0200
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index 13248753105f..027f9e2f2fc9 100644
--- a/pkgs/development/libraries/sodium/default.nix
+++ b/pkgs/development/libraries/sodium/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="sodium";
-    version="0.4.3";
+    version="0.4.5";
     name="${baseName}-${version}";
-    hash="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.3.tar.gz";
-    sha256="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r";
+    hash="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.5.tar.gz";
+    sha256="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
index 1447dd5346a3..7736eab511e9 100644
--- a/pkgs/development/libraries/soprano/default.nix
+++ b/pkgs/development/libraries/soprano/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.9.3";
+  name = "soprano-2.9.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl";
+    sha256 = "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4";
   };
 
   patches = [ ./find-virtuoso.patch ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 7521abc599be..de96ab58eaef 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.sqlite.org/;
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/unicap/default.nix b/pkgs/development/libraries/unicap/default.nix
index 7a64017ca8ba..daec5a785662 100644
--- a/pkgs/development/libraries/unicap/default.nix
+++ b/pkgs/development/libraries/unicap/default.nix
@@ -45,6 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix
index 74c822e28853..ef8dcdc53290 100644
--- a/pkgs/development/libraries/unixODBC/default.nix
+++ b/pkgs/development/libraries/unixODBC/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "unixODBC-2.3.1";
+  name = "unixODBC-2.3.2";
   src = fetchurl {
     url = "ftp://ftp.unixodbc.org/pub/unixODBC/${name}.tar.gz";
-    md5 = "86788d4006620fa1f171c13d07fdcaab";
+    sha256 = "16jw5fq7wgfky6ak1h2j2pqx99jivsdl4q8aq6immpr55xs5jd4w";
   };
   configureFlags = "--disable-gui --sysconfdir=/etc";
 }
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index e8f42e9f7f5f..0e0625a2cbbe 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt
-, useQt4 ? false, qt4 }:
+, qtLib ? null }:
 
 with stdenv.lib;
 
@@ -11,22 +11,22 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "vtk-${os useQt4 "qvtk-"}${version}";
+  name = "vtk-${os (qtLib != null) "qvtk-"}${version}";
   src = fetchurl {
     url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
     md5 = "a0363f78910f466ba8f1bd5ab5437cb9";
   };
 
   buildInputs = [ cmake mesa libX11 xproto libXt ]
-    ++ optional useQt4 qt4;
+    ++ optional (qtLib != null) qtLib;
 
   # Shared libraries don't work, because of rpath troubles with the current
   # nixpkgs camke approach. It wants to call a binary at build time, just
   # built and requiring one of the shared objects.
   # At least, we use -fPIC for other packages to be able to use this in shared
   # objects.
-  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ] ++ optional useQt4
-    [ "-DVTK_USE_QT:BOOL=ON" ];
+  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ]
+    ++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/xcb-util-cursor/default.nix b/pkgs/development/libraries/xcb-util-cursor/default.nix
new file mode 100644
index 000000000000..a0e71724fb91
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, bashInteractive, autoconf, automake, libtool, pkgconfig
+, git, xlibs, gnum4, libxcb, gperf }:
+
+stdenv.mkDerivation rec {
+  name = "xcb-util-cursor-0.1.1";
+
+  src = fetchurl {
+    url    = "http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.1.tar.gz";
+    sha256 = "0lkjbcml305imyzr80yb8spjvq6y83v2allk5gc9plkv39zag29z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "XCB cursor library (libxcursor port)";
+    homepage    = http://cgit.freedesktop.org/xcb/util-cursor;
+    license     = licenses.mit;
+    maintainer  = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+  buildInputs = [
+    autoconf
+    automake
+    gnum4
+    gperf
+    libtool
+    libxcb
+    pkgconfig
+    xlibs.utilmacros
+    xlibs.xcbutilimage
+    xlibs.xcbutilrenderutil
+  ];
+
+  configurePhase = ''
+    sed -i '15 i\
+      LT_INIT' configure.ac
+    ${bashInteractive}/bin/bash autogen.sh --prefix="$out"
+  '';
+}
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4
new file mode 100644
index 000000000000..e22b50fd9fdc
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/ax_compare_version.m4
@@ -0,0 +1,174 @@
+# ===========================================================================
+#           http://autoconf-archive.cryp.to/ax_compare_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+#   This macro compares two version strings. Due to the various number of
+#   minor-version numbers that can exist, and the fact that string
+#   comparisons are not compatible with numeric comparisons, this is not
+#   necessarily trivial to do in a autoconf script. This macro makes doing
+#   these comparisons easy.
+#
+#   The six basic comparisons are available, as well as checking equality
+#   limited to a certain number of minor-version levels.
+#
+#   The operator OP determines what type of comparison to do, and can be one
+#   of:
+#
+#    eq  - equal (test A == B)
+#    ne  - not equal (test A != B)
+#    le  - less than or equal (test A <= B)
+#    ge  - greater than or equal (test A >= B)
+#    lt  - less than (test A < B)
+#    gt  - greater than (test A > B)
+#
+#   Additionally, the eq and ne operator can have a number after it to limit
+#   the test to that number of minor versions.
+#
+#    eq0 - equal up to the length of the shorter version
+#    ne0 - not equal up to the length of the shorter version
+#    eqN - equal up to N sub-version levels
+#    neN - not equal up to N sub-version levels
+#
+#   When the condition is true, shell commands ACTION-IF-TRUE are run,
+#   otherwise shell commands ACTION-IF-FALSE are run. The environment
+#   variable 'ax_compare_version' is always set to either 'true' or 'false'
+#   as well.
+#
+#   Examples:
+#
+#     AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
+#     AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
+#
+#   would both be true.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
+#     AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
+#
+#   would both be false.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
+#
+#   would be true because it is only comparing two minor versions.
+#
+#     AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
+#
+#   would be true because it is only comparing the lesser number of minor
+#   versions of the two values.
+#
+#   Note: The characters that separate the version numbers do not matter. An
+#   empty string is the same as version 0. OP is evaluated by autoconf, not
+#   configure, so must be a string, not a variable.
+#
+#   The author would like to acknowledge Guido Draheim whose advice about
+#   the m4_case and m4_ifvaln functions make this macro only include the
+#   portions necessary to perform the specific comparison specified by the
+#   OP argument in the final configure script.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.
+
+dnl #########################################################################
+AC_DEFUN([AX_COMPARE_VERSION], [
+  AC_PROG_AWK
+
+  # Used to indicate true or false condition
+  ax_compare_version=false
+
+  # Convert the two version strings to be compared into a format that
+  # allows a simple string comparison.  The end result is that a version
+  # string of the form 1.12.5-r617 will be converted to the form
+  # 0001001200050617.  In other words, each number is zero padded to four
+  # digits, and non digits are removed.
+  AS_VAR_PUSHDEF([A],[ax_compare_version_A])
+  A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/[[^0-9]]//g'`
+
+  AS_VAR_PUSHDEF([B],[ax_compare_version_B])
+  B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+                     -e 's/[[^0-9]]//g'`
+
+  dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
+  dnl # then the first line is used to determine if the condition is true.
+  dnl # The sed right after the echo is to remove any indented white space.
+  m4_case(m4_tolower($2),
+  [lt],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+  ],
+  [gt],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+  ],
+  [le],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+  ],
+  [ge],[
+    ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+  ],[
+    dnl Split the operator from the subversion count if present.
+    m4_bmatch(m4_substr($2,2),
+    [0],[
+      # A count of zero means use the length of the shorter version.
+      # Determine the number of characters in A and B.
+      ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
+      ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
+
+      # Set A to no more than B's length and B to no more than A's length.
+      A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
+      B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
+    ],
+    [[0-9]+],[
+      # A count greater than zero means use only that many subversions
+      A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+      B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+    ],
+    [.+],[
+      AC_WARNING(
+        [illegal OP numeric parameter: $2])
+    ],[])
+
+    # Pad zeros at end of numbers to make same length.
+    ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
+    B="$B`echo $A | sed 's/./0/g'`"
+    A="$ax_compare_version_tmp_A"
+
+    # Check for equality or inequality as necessary.
+    m4_case(m4_tolower(m4_substr($2,0,2)),
+    [eq],[
+      test "x$A" = "x$B" && ax_compare_version=true
+    ],
+    [ne],[
+      test "x$A" != "x$B" && ax_compare_version=true
+    ],[
+      AC_WARNING([illegal OP parameter: $2])
+    ])
+  ])
+
+  AS_VAR_POPDEF([A])dnl
+  AS_VAR_POPDEF([B])dnl
+
+  dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
+  if test "$ax_compare_version" = "true" ; then
+    m4_ifvaln([$4],[$4],[:])dnl
+    m4_ifvaln([$5],[else $5])dnl
+  fi
+]) dnl AX_COMPARE_VERSION
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4
new file mode 100644
index 000000000000..f9463d37fcaa
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_common.m4
@@ -0,0 +1,44 @@
+# XCB_UTIL_COMMON(xcb-required-version, xcb-proto-required-version)
+# -----------------------------------------------------------------
+#
+# Defines default options for xcb-util libraries.  xorg/util/macros >=
+# 1.6.0 is  required for  cross-platform compiler  flags and  to build
+# library documentation.
+#
+AC_DEFUN([XCB_UTIL_COMMON], [
+m4_ifndef([AX_COMPARE_VERSION],
+          [m4_fatal([could not find AX_COMPARE_VERSION in macros search path])])
+
+AC_REQUIRE([AC_PROG_LIBTOOL])
+
+# Define header files and pkgconfig paths
+xcbincludedir='${includedir}/xcb'
+AC_SUBST(xcbincludedir)
+pkgconfigdir='${libdir}/pkgconfig'
+AC_SUBST(pkgconfigdir)
+
+# Check xcb version
+PKG_CHECK_MODULES(XCB, xcb >= [$1])
+
+# Check version of xcb-proto that xcb was compiled against
+xcbproto_required=[$2]
+
+AC_MSG_CHECKING([whether libxcb was compiled against xcb-proto >= $xcbproto_required])
+xcbproto_version=`$PKG_CONFIG --variable=xcbproto_version xcb`
+AX_COMPARE_VERSION([$xcbproto_version],[ge],[$xcbproto_required], xcbproto_ok="yes",
+                   xcbproto_ok="no")
+AC_MSG_RESULT([$xcbproto_ok])
+
+if test $xcbproto_ok = no; then
+   AC_MSG_ERROR([libxcb was compiled against xcb-proto $xcbproto_version; it needs to be compiled against version $xcbproto_required or higher])
+fi
+
+# Call macros from Xorg util-macros
+m4_ifndef([XORG_MACROS_VERSION],
+          [m4_fatal([must install xorg-macros 1.6.0 or later before running autoconf/autogen])])
+
+XORG_MACROS_VERSION([1.6.0])
+XORG_DEFAULT_OPTIONS
+XORG_ENABLE_DEVEL_DOCS
+XORG_WITH_DOXYGEN
+]) # XCB_UTIL_COMMON
diff --git a/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4 b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4
new file mode 100644
index 000000000000..a3ddce4a706f
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/m4/xcb_util_m4_with_include_path.m4
@@ -0,0 +1,24 @@
+# XCB_UTIL_M4_WITH_INCLUDE_PATH
+# ------------------------------
+#
+# This macro attempts to locate an m4 macro processor which supports
+# -I option and is only useful for modules relying on M4 in order to
+# expand macros in source code files.
+#
+# M4: variable holding the path to an usable m4 program.
+#
+# This macro  requires Autoconf 2.62  or later  as it is  relying upon
+# AC_PATH_PROGS_FEATURE_CHECK  macro. NOTE:  As  soon  as the  minimum
+# required version of Autoconf for Xorg  is bumped to 2.62, this macro
+# is supposed to be shipped with xorg/util/macros.
+#
+AC_DEFUN([XCB_UTIL_M4_WITH_INCLUDE_PATH], [
+AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
+   [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
+       [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
+         ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
+   [AC_MSG_ERROR([could not find m4 that supports -I option])],
+   [$PATH:/usr/gnu/bin])])
+
+AC_SUBST([M4], [$ac_cv_path_M4])
+]) # XCB_UTIL_M4_WITH_INCLUDE_PATH
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index 4a208dbc64e0..ef7a65599a92 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, curl }:
 
 stdenv.mkDerivation rec {
-  name = "xmlrpc-c-1.25.25";
+  name = "xmlrpc-c-1.25.26";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${name}.tgz";
-    sha256 = "1sk33q4c6liza920rp4w803cfq0a79saq7fg1yjsp8hks7q011ml";
+    sha256 = "1f82vsdkldhk1sfqyh6z0ylp5769x4fx3rnd2hw0c6fhx8swcmgj";
   };
 
   buildInputs = [ curl ];
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index 48b49ee3583b..c0602e2c0284 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.0.2.4";
+    version="3.0.3";
     name="${baseName}-${version}";
-    hash="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.4.tar.gz";
-    sha256="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag";
+    hash="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.0.3.tar.gz";
+    sha256="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85";
   };
   buildInputs = [
     texinfo texLive
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index 2020f48b1d2c..aee3c847e93e 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -319,7 +319,152 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag
 
 
 August 15, 2011
-   </sdk:license>
+    </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
+
+This is the Glass 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.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.
+
+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.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.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.
+
+3. GDK 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 GDK solely to develop applications to run on the Glass platform for Glass devices.
+
+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.
+
+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.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.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.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.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 GDK.
+
+
+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.
+
+4. Use of the GDK 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.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.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.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.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.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 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.
+
+7. Third Party Applications
+
+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.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.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 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.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.
+
+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.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.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 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.
+
+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.
+
+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.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 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.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
+    </sdk:license>
 
     <!-- ADD-ONS ....................... -->
 
@@ -708,56 +853,44 @@ August 15, 2011
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
-    <!-- GOOGLE TV ADDONS ............. -->
-
-    <sdk:add-on>
-        <sdk:vendor-id>google</sdk:vendor-id>
-        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_tv_addon</sdk:name-id>
-        <sdk:name-display>Google TV Addon</sdk:name-display>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android + Google TV, API 12, preview release</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
-        <sdk:uses-license ref="android-googletv-license"/>
-        <sdk:archives>
-            <sdk:archive os="linux">
-                <sdk:size>78266751</sdk:size>
-                <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
-                <sdk:url>google_tv-12_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:libs/>
-    </sdk:add-on>
-
     <sdk:add-on>
+        <!-- Generated at Tue May 14 08:07:47 2013 from git_jb-mr1.1-dev @ 673949 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_tv_addon</sdk:name-id>
-        <sdk:name-display>Google TV Addon</sdk:name-display>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android + Google TV, API 13</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
-        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:revision>3</sdk:revision>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.android.future.usb.accessory</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.google.android.media.effects</sdk:name>
+            </sdk:lib>
+        </sdk:libs>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>87721879</sdk:size>
-                <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
-                <sdk:url>google_tv-13_r01.zip</sdk:url>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>137156978</sdk:size>
+                <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
+                <sdk:url>google_apis-17_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
-        <sdk:libs/>
+        <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Tue May 14 08:07:47 2013 from git_jb-mr1.1-dev @ 673949 -->
+        <!-- Generated at Thu Sep 19 12:49:30 2013 from git_jb-mr2-dev @ 836888 -->
         <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:description>Android + Google APIs</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
+        <sdk:api-level>18</sdk:api-level>
         <sdk:revision>3</sdk:revision>
         <sdk:libs>
             <sdk:lib>
@@ -772,23 +905,23 @@ August 15, 2011
         </sdk:libs>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>137156978</sdk:size>
-                <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
-                <sdk:url>google_apis-17_r03.zip</sdk:url>
+                <sdk:size>143149689</sdk:size>
+                <sdk:checksum type="sha1">147bce09c1163edc17194f3db496ec1086fcf965</sdk:checksum>
+                <sdk:url>google_apis-18_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Mon Aug 12 12:42:05 2013 from git_jb-mr2-dev @ 774058 -->
+        <!-- Generated at Mon Oct 28 22:29:49 2013 from git_klp-release @ 892118 -->
         <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:description>Android + Google APIs</sdk:description>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
         <sdk:libs>
             <sdk:lib>
                 <sdk:name>com.google.android.maps</sdk:name>
@@ -802,19 +935,91 @@ August 15, 2011
         </sdk:libs>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>142778022</sdk:size>
-                <sdk:checksum type="sha1">40f2a6a6d6227dadd82cfe0f9783bd4c6bdb29c2</sdk:checksum>
-                <sdk:url>google_apis-18_r02.zip</sdk:url>
+                <sdk:size>150689239</sdk:size>
+                <sdk:checksum type="sha1">6c530a8318446e4da1e3ab7d2abd154bc493bc5a</sdk:checksum>
+                <sdk:url>google_apis-19_r01.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
+
+    <!-- GOOGLE TV ADDONS ............. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_tv_addon</sdk:name-id>
+        <sdk:name-display>Google TV Addon</sdk:name-display>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google TV, API 12, preview release</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:archives>
+            <sdk:archive os="linux">
+                <sdk:size>78266751</sdk:size>
+                <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
+                <sdk:url>google_tv-12_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs/>
+    </sdk:add-on>
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_tv_addon</sdk:name-id>
+        <sdk:name-display>Google TV Addon</sdk:name-display>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google TV, API 13</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>87721879</sdk:size>
+                <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
+                <sdk:url>google_tv-13_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <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 Tue Jul 23 17:18:50 2013 from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>18</sdk:revision>
+        <!-- Generated at Wed Oct 30 14:52:38 2013 from git_klp-dev @ 894928 -->
+        <sdk:revision>19</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>
@@ -822,17 +1027,17 @@ August 15, 2011
         <sdk:old-paths>compatibility</sdk:old-paths>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>4438319</sdk:size>
-                <sdk:checksum type="sha1">bd67b4b8a6bac629f24c8aea75c3619a26d9a568</sdk:checksum>
-                <sdk:url>support_r18.zip</sdk:url>
+                <sdk:size>4905998</sdk:size>
+                <sdk:checksum type="sha1">54b8661595856a08f032d41bb139f375a7609308</sdk:checksum>
+                <sdk:url>support_r19.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>2</sdk:revision>
+        <!-- Generated from git_klp-dev @ 894928  -->
+        <sdk:revision>3</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>
@@ -840,9 +1045,9 @@ August 15, 2011
         <sdk:path>m2repository</sdk:path>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>3705797</sdk:size>
-                <sdk:checksum type="sha1">c4284e4bf17a1e8bafc96a18de36984022d5a46a</sdk:checksum>
-                <sdk:url>android_m2repository_r02.zip</sdk:url>
+                <sdk:size>6282146</sdk:size>
+                <sdk:checksum type="sha1">db4650f817f1507211ec6186d2d9e72074e6df12</sdk:checksum>
+                <sdk:url>android_m2repository_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
@@ -855,14 +1060,14 @@ August 15, 2011
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Repository</sdk:name-display>
         <sdk:path>m2repository</sdk:path>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>4</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>2043649</sdk:size>
-                <sdk:checksum type="sha1">f518e0170e84a6bccbadb8a043989cc61f4c37aa</sdk:checksum>
-                <sdk:url>google_m2repository_r02.zip</sdk:url>
+                <sdk:size>3891592</sdk:size>
+                <sdk:checksum type="sha1">c418daafd203a8cb4899d49bd321da83b927586e</sdk:checksum>
+                <sdk:url>google_m2repository_r04.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -908,17 +1113,35 @@ August 15, 2011
     <sdk:extra>
         <sdk:vendor-id>google</sdk:vendor-id>
         <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: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>5265389</sdk:size>
+                <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
+                <sdk:url>google_play_services_3265130_r12.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <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>11</sdk:revision>
-        <sdk:description>Google Play Services client library and sample code</sdk:description>
+        <sdk:revision>13</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>5265306</sdk:size>
-                <sdk:checksum type="sha1">00851350c55b016bef202700f643f246fb0c24ea</sdk:checksum>
-                <sdk:url>google_play_services_3264130_r11.zip</sdk:url>
+                <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:archives>
     </sdk:extra>
@@ -948,14 +1171,14 @@ August 15, 2011
         <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>4</sdk:revision>
+        <sdk:revision>5</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:size>437084</sdk:size>
-                <sdk:checksum type="sha1">38fdae51dadb6d1e63e177adba3e4d96b751686e</sdk:checksum>
-                <sdk:url>play_billing_r04.zip</sdk:url>
+                <sdk:size>436654</sdk:size>
+                <sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
+                <sdk:url>play_billing_r05.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 2fd66420cf6e..8aacde4eee7b 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -197,8 +197,20 @@ in
   google_apis_18 = buildGoogleApis {
     name = "google_apis-18";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/google_apis-18_r02.zip;
-        sha1 = "40f2a6a6d6227dadd82cfe0f9783bd4c6bdb29c2";
+        url = https://dl-ssl.google.com/android/repository/google_apis-18_r03.zip;
+        sha1 = "147bce09c1163edc17194f3db496ec1086fcf965";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        
+      };
+    };
+    
+  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";
       };
       meta = {
         description = "Android + Google APIs";
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 0b5f69ed3e2b..f1bbdc35bcde 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -8,16 +8,16 @@
 {platformVersions, abiVersions, useGoogleAPIs}:
 
 stdenv.mkDerivation {
-  name = "android-sdk-22.2";
+  name = "android-sdk-22.3";
   
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = http://dl.google.com/android/android-sdk_r22.2-linux.tgz;
-      md5 = "2a3776839e823ba9acb7a87a3fe26e02";
+      url = http://dl.google.com/android/android-sdk_r22.3-linux.tgz;
+      md5 = "6ae581a906d6420ad67176dff25a31cc";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = http://dl.google.com/android/android-sdk_r22.2-macosx.zip;
-      md5 = "9dfef6404e2f842c433073796aed8b7d";
+      url = http://dl.google.com/android/android-sdk_r22.3-macosx.zip;
+      md5 = "ecde88ca1f05955826697848fcb4a9e7";
     }
     else throw "platform not ${stdenv.system} supported!";
   
@@ -132,7 +132,7 @@ stdenv.mkDerivation {
           let
             googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons;
           in
-          "ln -s ${googleApis}/* addon-google_apis-${platformVersion}"
+          "ln -s ${googleApis}/* addon-google_apis-${platformVersion}\n"
         else "") platformVersions
       else ""}
       
@@ -148,7 +148,7 @@ stdenv.mkDerivation {
         let
           platform = builtins.getAttr ("platform_"+platformVersion) platforms;
         in
-        "ln -s ${platform}/* android-${platformVersion}"
+        "ln -s ${platform}/* android-${platformVersion}\n"
       else ""
     ) platformVersions}
     
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index bf263741bddd..a7a2661bd376 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -1,15 +1,15 @@
 {stdenv, stdenv_32bit, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "android-platform-tools-r18.0.1";
+  name = "android-platform-tools-r19";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r18.0.1-linux.zip;
-      sha1 = "cf9bdbbaa34da37b59724f914dad907c2c74a387";
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-linux.zip;
+      sha1 = "66ee37daf8a2a8f1aa8939ccd4093658e30aa49b";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r18.0.1-macosx.zip;
-      sha1 = "126325cbb55928c38acbb9c7bb5d9145d94fad56";
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-macosx.zip;
+      sha1 = "69af30f488163dfc3da8cef1bb6cc7e8a6df5681";
     }
     else throw "System ${stdenv.system} not supported!";
   
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index 5db90ffef1c0..f9f5a2d50f4f 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -218,5 +218,17 @@ in
     };
   };
     
+  platform_19 = buildPlatform {
+    name = "android-platform-4.4";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
+      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+    };
+    meta = {
+      description = "Android SDK Platform 4.4";
+      
+    };
+  };
+    
 }
   
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index c5ddf714cdf6..a95561d3e856 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -218,5 +218,17 @@ in
     };
   };
     
+  platform_19 = buildPlatform {
+    name = "android-platform-4.4";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
+      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+    };
+    meta = {
+      description = "Android SDK Platform 4.4";
+      
+    };
+  };
+    
 }
   
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml
index 79795aa49396..46ae8aa9a7ce 100644
--- a/pkgs/development/mobile/androidenv/repository-8.xml
+++ b/pkgs/development/mobile/androidenv/repository-8.xml
@@ -638,6 +638,30 @@ November 13, 2012
         <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>
@@ -720,6 +744,23 @@ November 13, 2012
         <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. -->
@@ -919,30 +960,44 @@ November 13, 2012
         <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 Jul 29 15:56:24 2013 from git_jb-mr2-dev @ 754669 -->
+        <!-- Generated at Mon Oct 28 23:35:14 2013 from git_klp-release @ 886418 -->
         <sdk:revision>
-            <sdk:major>18</sdk:major>
+            <sdk:major>19</sdk:major>
             <sdk:minor>0</sdk:minor>
-            <sdk:micro>1</sdk:micro>
+            <sdk:micro>0</sdk:micro>
         </sdk:revision>
         <sdk:archives>
             <sdk:archive arch="any" os="windows">
-                <sdk:size>954769</sdk:size>
-                <sdk:checksum type="sha1">b40fea3ed72296dd42dd616a7abf536b8dace20d</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-windows.zip</sdk:url>
+                <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>1011194</sdk:size>
-                <sdk:checksum type="sha1">cf9bdbbaa34da37b59724f914dad907c2c74a387</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-linux.zip</sdk:url>
+                <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>971087</sdk:size>
-                <sdk:checksum type="sha1">126325cbb55928c38acbb9c7bb5d9145d94fad56</sdk:checksum>
-                <sdk:url>platform-tools_r18.0.1-macosx.zip</sdk:url>
+                <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"/>
@@ -1033,33 +1088,86 @@ November 13, 2012
         <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 Wed Sep 11 18:24:51 2013 from git_mirror-aosp-tools_r22.2 @ 822324 -->
+        <!-- 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>2</sdk:minor>
-            <sdk:micro>0</sdk:micro>
+            <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>108669997</sdk:size>
-                <sdk:checksum type="sha1">c4231cd769ef9d1b6ae69202a1a0d0f783f04ea7</sdk:checksum>
-                <sdk:url>tools_r22.2-windows.zip</sdk:url>
+                <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>101168674</sdk:size>
-                <sdk:checksum type="sha1">a11febd30023ed2590bca4c2d7b1dc2b0cfcd715</sdk:checksum>
-                <sdk:url>tools_r22.2-linux.zip</sdk:url>
+                <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>74822802</sdk:size>
-                <sdk:checksum type="sha1">76896171d0c9ba91c875c8f13ac58cd2e50e9f28</sdk:checksum>
-                <sdk:url>tools_r22.2-macosx.zip</sdk:url>
+                <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"/>
@@ -1068,14 +1176,14 @@ November 13, 2012
     <!-- DOCS ........................ -->
 
     <sdk:doc>
-        <!-- Generated at Tue Jul 23 17:15:55 2013 from git_jb-mr2-release @ 737497 -->
+        <!-- Generated at Wed Oct 30 22:52:09 2013 from git_klp-dev @ 896129 -->
         <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
+        <sdk:api-level>19</sdk:api-level>
         <sdk:archives>
             <sdk:archive arch="any" os="any">
-                <sdk:size>142332266</sdk:size>
-                <sdk:checksum type="sha1">83632d157781d31f2a8e52acad5c4c5d0f307cba</sdk:checksum>
-                <sdk:url>docs-18_r01.zip</sdk:url>
+                <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"/>
@@ -1152,4 +1260,18 @@ November 13, 2012
         </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/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index 4c1f0a309075..bbbf3a4fc687 100644
--- a/pkgs/development/mobile/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
@@ -53,6 +53,14 @@ in
     };
   };
     
+  sysimg_armeabi-v7a_19 = buildSystemImage {
+    name = "armeabi-v7a-19";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip;
+      sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600";
+    };
+  };
+    
   sysimg_x86_10 = buildSystemImage {
     name = "x86-10";
     src = fetchurl {
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index 332a3bd0e8f6..06688ded22a5 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -35,5 +35,5 @@ buildPerlPackage rec {
   # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t").
   doCheck = false;
 
-  meta.platforms = stdenv.lib.platforms.linux;
+  meta.platforms = stdenv.lib.platforms.unix;
 }
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index 26b6fb0cfcda..43e8a45c0cf8 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, buildPythonPackage }:
 
 buildPythonPackage {
-  name = "zc.buildout-nix-2.2.0";
+  name = "zc.buildout-nix-2.2.1";
 
   src = fetchurl {
-    url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.2.0.tar.gz";
-    md5 = "771dd9807da7d5ef5bb998991c5fdae1";
+    url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.2.1.tar.gz";
+    md5 = "476a06eed08506925c700109119b6e41";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 0ad1663da65a..ec741ba247e5 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, buildPythonPackage, gmp }:
 
 buildPythonPackage rec {
-  name = "pycrypto-2.6";
+  name = "pycrypto-2.6.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/pycrypto/${name}.tar.gz";
-    md5 = "88dad0a270d1fe83a39e0467a66a22bb";
+    sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
   };
 
   buildInputs = [ python gmp ];
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 1d4fe53117ce..5f92e2cf2025 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -2,7 +2,7 @@ a :
 let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.13" a;
+  version = a.lib.attrByPath ["version"] "0.13.1" a;
   propagatedBuildInputs = with a; [
     openssl python
   ];
@@ -10,7 +10,7 @@ in
 rec {
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz";
-    sha256 = "21e12b03abaa0e04ecc8cd9c251598f71bae11c9f385304234e4ea5618c6163b";
+    sha256 = "1nrg2kas0wsv65j8sia8zkkc6ir5i20lrhkfavjxzxhl0iqyq1ms";
   };
 
   inherit propagatedBuildInputs;
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 55e33c45ca95..b12f81db9c4c 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -1,30 +1,39 @@
-{ stdenv, fetchurl, qt48 }:
+{ stdenv, fetchurl, qtLib, sdkBuild ? false }:
+
+with stdenv.lib;
 
 let
   baseVersion = "2.8";
-  revision = "0";
+  revision = "1";
   version = "${baseVersion}.${revision}";
-  qt4_for_qtcreator = qt48.override {
-    developerBuild = true;
-  };
 in
 
 stdenv.mkDerivation rec {
-  name = "qtcreator-${version}";
+  # The package name depends on wether we are just building the QtCreator package or the whole Qt SDK
+  # If we are building the QtCreator package: qtcreator-version
+  # If we are building the QtSDK package, the Qt version is also included: qtsdk-version-qt-version
+  name = "qt${if sdkBuild then "sdk" else "creator"}-${version}"
+    + optionalString sdkBuild "-qt-${qtLib.version}";
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-${version}-src.tar.gz";
-    sha256 = "7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2";
+    sha256 = "d5ae007a297a4288d0e95fd605edbfb8aee80f6788c7a6cfb9cb297f50c364b9";
   };
 
-  buildInputs = [ qt4_for_qtcreator ];
+  # This property can be used in a nix development environment to refer to the Qt package
+  # eg: export QTDIR=${qtSDK.qt}
+  qt = qtLib;
+
+  # We must only propagate Qt (including qmake) when building the QtSDK
+  propagatedBuildInputs = if sdkBuild then [ qtLib ] else [];
+  buildInputs = if sdkBuild == false then [ qtLib ] else [];
 
   doCheck = false;
 
   enableParallelBuilding = true;
 
   preConfigure = ''
-    qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qt4_for_qtcreator}/include" qtcreator.pro
+    qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qtLib}/include" qtcreator.pro
   '';
 
   installFlags = "INSTALL_ROOT=$(out)";
@@ -38,7 +47,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator";
     license = "LGPL";
-    maintainers = [ stdenv.lib.maintainers.bbenoist ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.bbenoist ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 4592c1bb53f1..97565bec98e7 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,24 +1,33 @@
 { stdenv, fetchurl, perl, gdb }:
 
-stdenv.mkDerivation (rec {
-  name = "valgrind-3.8.1";
+stdenv.mkDerivation rec {
+  name = "valgrind-3.9.0";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "1nsqk70ry3221sd62s4f0njcrncppszs4xxjcak13lxyfq2y0fs7";
+    sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6";
   };
 
-  patches = [ ./glibc-2.17.patch ];
-
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
   nativeBuildInputs = [ perl ];
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) gdb;
 
+  enableParallelBuilding = true;
+
+  patchPhase =
+    # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
+    ''
+      echo "getting rid of the \`-arch' GCC option..."
+      find -name Makefile\* -exec \
+        sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
+
+      sed -i coregrind/link_tool_exe_darwin.in \
+          -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
+    '';
+
   configureFlags =
-    if (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin")
-    then [ "--enable-only64bit" ]
-    else [];
+    stdenv.lib.optional (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin") "--enable-only64bit";
 
   postInstall = ''
     for i in $out/lib/valgrind/*.supp; do
@@ -43,23 +52,7 @@ stdenv.mkDerivation (rec {
 
     license = "GPLv2+";
 
-    maintainers = with stdenv.lib.maintainers; [ eelco ];
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
-
-//
-
-(if stdenv.isDarwin
- then {
-   patchPhase =
-     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
-     '' echo "getting rid of the \`-arch' GCC option..."
-        find -name Makefile\* -exec \
-          sed -i {} -e's/DARWIN\(.*\)-arch [^ ]\+/DARWIN\1/g' \;
-
-        sed -i coregrind/link_tool_exe_darwin.in \
-            -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
-     '';
- }
- else {}))
diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch
deleted file mode 100644
index bee1abe71f1c..000000000000
--- a/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-commit 3781ac11ff374b3517011c1710ec517d52f25cd2
-Author: tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9>
-Date:   Mon Jan 14 09:48:49 2013 +0000
-
-    Accept glibc 2.17 as valid.
-    
-    
-    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13228 a5019735-40e9-0310-863c-91ae7b9d1cf9
-
-diff --git a/configure.in b/configure.in
-index e0fb12d..0f3b3df 100644
---- a/configure.in
-+++ b/configure.in
-@@ -906,6 +906,13 @@ case "${GLIBC_VERSION}" in
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.17)
-+	AC_MSG_RESULT(2.17 family)
-+	AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x])
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	AC_MSG_RESULT(Darwin)
- 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
-@@ -919,7 +926,7 @@ case "${GLIBC_VERSION}" in
- 
-      *)
- 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
--	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16])
-+	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17])
- 	AC_MSG_ERROR([or Darwin libc])
- 	;;
- esac
-diff -ur valgrind-3.8.1/config.h.in valgrind-3.8.1/config.h.in
---- valgrind-3.8.1/config.h.in	2013-01-16 17:15:33.531018561 +0100
-+++ valgrind-3.8.1/config.h.in	2013-01-16 17:19:21.000000000 +0100
-@@ -48,6 +48,9 @@
- /* Define to 1 if you're using glibc 2.16.x */
- #undef GLIBC_2_16
- 
-+/* Define to 1 if you're using glibc 2.17.x */
-+#undef GLIBC_2_17
-+
- /* Define to 1 if you're using glibc 2.2.x */
- #undef GLIBC_2_2
- 
-diff -ur valgrind-3.8.1/configure valgrind-3.8.1/configure
---- valgrind-3.8.1/configure	2013-01-16 17:15:33.563018480 +0100
-+++ valgrind-3.8.1/configure	2013-01-16 17:19:21.373643238 +0100
-@@ -6610,6 +6610,16 @@
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.17)
-+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.17 family" >&5
-+$as_echo "2.17 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_17 1" >>confdefs.h
-+
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
- $as_echo "Darwin" >&6; }
-@@ -6630,7 +6640,7 @@
-      *)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
- $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
--	as_fn_error "Valgrind requires glibc version 2.2 - 2.16" "$LINENO" 5
-+	as_fn_error "Valgrind requires glibc version 2.2 - 2.17" "$LINENO" 5
- 	as_fn_error "or Darwin libc" "$LINENO" 5
- 	;;
- esac
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index b16640105503..a41cf69ad238 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.3.2";
+  version = "2.3.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1dpvs6b2n309ixglmdpw64k8fbz8n4rd61xp4jrih0z7dgvcql6h";
+    sha256 = "0lc5ivgknkflk6k4a4q1r8bm3kq63p4cazfs1rdb02cfhdip52hc";
   };
 
   jarsrc = fetchurl {
     url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar";
-    sha256 = "0g6sgmgl0azawwchi86qxqsknk753ffwiszsxg4idqb713ac6cda";
+    sha256 = "1a8i0940ww7xqhwlaaavsgw8s9rjqdnv46hfsla41ns789bappxf";
   };
 
   patches = ./lein_2.3.0.patch;
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
index e446bf1c1eb3..13a216799a2d 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
@@ -1,93 +1,30 @@
-{ stdenv, versionedDerivation, fetchurl, version ? "xsbt-0.12.3" }:
+{ stdenv, fetchurl, jre }:
 
-let
+stdenv.mkDerivation rec {
+  name = "sbt-${version}";
+  version = "0.13.0";
 
-      description = "A build tool for Scala";
-      longDescription = name: ''
-        ${name} is a simple build tool for Scala projects that aims to do the
-        basics well.
-
-        This package is the sbt launcher which automatically manages
-        and downloads dependencies, including the SBT package and the
-        Scala compiler.
-      '';
-
-      metaSBT = {
-        inherit description;
-        longDescription = longDescription "sbt";
-        homepage = http://code.google.com/p/simple-build-tool/;
-        license = "bsd";
-      };
-
-      metaXSBT = {
-        inherit description;
-        longDescription = longDescription "xsbt";
-        homepage = https://github.com/harrah/xsbt;
-        license = "bsd";
-      };
-
-in
-
-# Depends on a JRE at runtime.
-
-versionedDerivation "simple-build-tool" version {
-  "0.7.3" = let version = "0.7.3"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k";
-    };
-    meta = metaSBT;
-  };
-
-  "0.7.7" = let version = "0.7.7"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      # sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6j";
-      sha256 = "2720b033012a7509f7fbdfddfa69c07b105452a6f95bc410cb7dc34c1594ab3d";
-    };
-    meta = metaSBT;
-  };
-
-  "xsbt-0.11.2" = let version = "0.11.2"; in { # scala 2.9
-    name = "xsbt-${version}";
-
-    # scala needs much more PermGen space
-    javaArgs = "-Xmx1024M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar;
-      sha256 = "14fbzvb1s66wpbqznw65a7nn27qrq1i9pd7wlbydv8ffl49d262n";
-    };
-    meta = metaXSBT;
+  src = fetchurl {
+    url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
+    sha256 = "04s49v5mw4kwz1rmvbf07kq51i2m0lcv60c9i5y524gjj518pk1w";
   };
 
-  "xsbt-0.12.3" = let version = "0.12.3"; in {
-    name = "xsbt-${version}";
-
-    # Recommended java options from sbt Getting started guide
-    javaArgs = "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.3/sbt-launch.jar;
-      sha256 = "11r26abjzmnmpn65ndbq60qg31s3ichkvzpmxyrq941s1n1dbxgh";
-    };
-    meta = metaXSBT;
-  };
-}
-{
+  phases = [ "installPhase" ];
 
   installPhase = ''
-    mkdir -pv "$out/lib/java"
-    cp $src "$out/lib/java/sbt-launch-${version}.jar"
-    mkdir -p "$out/bin"
-    cat > "$out/bin/sbt" <<EOF
-    #! /bin/sh
-    exec java $javaArgs -jar $out/lib/java/sbt-launch-${version}.jar "\$@"
+    mkdir -p $out/bin
+    cat > $out/bin/sbt << EOF
+    #!/bin/sh
+    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
+    ${jre}/bin/java $SBT_OPTS -jar ${src} "\$@"
     EOF
-    chmod u+x "$out/bin/sbt"
+    chmod +x $out/bin/sbt
   '';
 
-  phases = "installPhase";
+  meta = { 
+    homepage = http://www.scala-sbt.org/;
+    license = stdenv.lib.licenses.bsd3;
+    description = "A build tool for Scala, Java and more";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];  
+  };  
 }
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index cc44268f3a3c..fba8729ebbf1 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.55";
-  sha256 = "0rda8g595pr7vlhzyflw9kz6fw1iz76yimbl1zizgrnpnq3h11w3";
+  version = "1.56";
+  sha256 = "0sppg4ab62ql5hdd9cdhff4f5zy74si9h5rn3sqils0hwmxl86f8";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/hdevtools/default.nix b/pkgs/development/tools/haskell/hdevtools/default.nix
new file mode 100644
index 000000000000..da5eb778803b
--- /dev/null
+++ b/pkgs/development/tools/haskell/hdevtools/default.nix
@@ -0,0 +1,16 @@
+{ cabal, cmdargs, ghcPaths, network, syb, time }:
+
+cabal.mkDerivation (self: {
+  pname = "hdevtools";
+  version = "0.1.0.5";
+  sha256 = "1a218m817q35f52fv6mn28sfv136i6fm2mzgdidpm24pc0585gl7";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ cmdargs ghcPaths network syb time ];
+  meta = {
+    homepage = "https://github.com/bitc/hdevtools/";
+    description = "Persistent GHC powered background server for FAST haskell development tools";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 73ab425ea8de..b78785f8fc13 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.53";
-  sha256 = "1gnv9h909qgf80bpb769mr1paf8lzp3xlwmyw4nxdj84fn0y57q0";
+  version = "1.8.55";
+  sha256 = "184y0vh5rwsv13vj49zvgwwpgdf5y7wxfisry9pv2998flwkf4rj";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index e6377a201fe4..c3f242bc434a 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -1,23 +1,23 @@
 { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
 , conduit, dataDefault, filepath, fsnotify, httpConduit
-, httpReverseProxy, httpTypes, mtl, network, networkConduit
-, networkConduitTls, random, regexTdfa, stm, systemFileio
-, systemFilepath, tar, text, time, transformers, unixCompat
-, unixProcessConduit, unorderedContainers, vector, wai
+, httpReverseProxy, httpTypes, liftedBase, mtl, network
+, networkConduit, networkConduitTls, random, regexTdfa, stm
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unixProcessConduit, unorderedContainers, vector, wai
 , waiAppStatic, waiExtra, warp, warpTls, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.0.1.1";
-  sha256 = "1bcp9yxmh5z7cvap4nrj8gxnndwws21w6y352yasf35bf432nxa9";
+  version = "1.0.1.2";
+  sha256 = "1rk0sf6riyb6r1sz0jkvwwj1yyxwjxgafpidp9rqwm8wnqyx6hh8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson async attoparsec blazeBuilder caseInsensitive conduit
     dataDefault filepath fsnotify httpConduit httpReverseProxy
-    httpTypes mtl network networkConduit networkConduitTls random
-    regexTdfa stm systemFileio systemFilepath tar text time
+    httpTypes liftedBase mtl network networkConduit networkConduitTls
+    random regexTdfa stm systemFileio systemFilepath tar text time
     transformers unixCompat unixProcessConduit unorderedContainers
     vector wai waiAppStatic waiExtra warp warpTls yaml zlib
   ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.14.x.nix b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
new file mode 100644
index 000000000000..d6f8117f9b82
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
+
+stdenv.mkDerivation rec {
+  name = "automake-1.14";
+
+  src = fetchurl {
+    url = "mirror://gnu/automake/${name}.tar.xz";
+    sha256 = "0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671";
+  };
+
+  buildInputs = [ perl autoconf ];
+
+  setupHook = ./setup-hook.sh;
+
+  # Disable indented log output from Make, otherwise "make.test" will
+  # fail.
+  preCheck = "unset NIX_INDENT_MAKE";
+  inherit doCheck;
+
+  # The test suite can run in parallel.
+  enableParallelBuilding = true;
+
+  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
+  # "fixed" path in generated files!
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/automake/";
+    description = "GNU standard-compliant makefile generator";
+    license = "GPLv2+";
+
+    longDescription = ''
+      GNU Automake is a tool for automatically generating
+      `Makefile.in' files compliant with the GNU Coding
+      Standards.  Automake requires the use of Autoconf.
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/tools/misc/complexity/default.nix b/pkgs/development/tools/misc/complexity/default.nix
index 076a68b81374..cfdc35f1b346 100644
--- a/pkgs/development/tools/misc/complexity/default.nix
+++ b/pkgs/development/tools/misc/complexity/default.nix
@@ -19,6 +19,13 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preBuild = ''
+    sed -i -e '/gets is a security/d' lib/stdio.in.h
+    sed -i '42 i\
+      #undef false\
+      #undef true' src/complexity.h
+  '';
+
   meta = {
     description = "GNU Complexity, C code complexity measurement tool";
 
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 4dd83f63c7dc..8df9f71c1816 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.6";
+  basename = "gdb-7.6.1";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    md5 = "fda57170e4d11cdde74259ca575412a8";
+    md5 = "fbc4dab4181e6e9937075b43a4ce2732";
   };
 
   # I think python is not a native input, but I leave it
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index b2a400a61891..c9bb661935a4 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     homepage = "http://launchpad.net/intltool/";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     inherit (s) version;
   };
 }
diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix
index df9f81d02e63..5cf8b6649418 100644
--- a/pkgs/development/tools/misc/lttv/default.nix
+++ b/pkgs/development/tools/misc/lttv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk2, popt, babeltrace }:
 
 stdenv.mkDerivation rec {
-  name = "lttv-1.5-beta1";
+  name = "lttv-1.5";
 
   src = fetchurl {
     url = "http://lttng.org/files/packages/${name}.tar.bz2";
-    sha256 = "0cz69q189wndwpvic0l6wvzl1nsfqadbrigaaxgzij72r7n89sfc";
+    sha256 = "1faldxnh9dld5k0vxckwpqw241ya1r2zv286l6rpgqr500zqw7r1";
   };
 
   buildInputs = [ pkgconfig glib gtk2 popt babeltrace ];
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index d905d078d40b..356b004aa4e5 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.1.0";
+    version="2.1.1";
     name="${baseName}-${version}";
-    hash="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c";
-    url="http://luarocks.org/releases/luarocks-2.1.0-rc3.tar.gz";
-    sha256="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c";
+    hash="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr";
+    url="http://luarocks.org/releases/luarocks-2.1.1.tar.gz";
+    sha256="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr";
   };
   buildInputs = [
     lua curl
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index 675f8f7f2af6..c4dfa99becdc 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -8,11 +8,12 @@
 # SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666", SYMLINK+="stlinkv2_%n"
 
 stdenv.mkDerivation {
-  name = "stlink-git20130306";
+  name = "stlink-20130306";
 
   src = fetchgit {
     url = git://github.com/texane/stlink.git;
     rev = "5be889e3feb75fc7f594012c4855b4dc16940050";
+    sha256 = "1xbfr1kz4k6hhl0xpqn1vi83fdynjxx3ymn9gb7b0pb7h6ncjcyr";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig libusb1 ];
diff --git a/pkgs/development/tools/misc/swig/2.x.nix b/pkgs/development/tools/misc/swig/2.x.nix
index f56598e2f0f8..2066ead51a14 100644
--- a/pkgs/development/tools/misc/swig/2.x.nix
+++ b/pkgs/development/tools/misc/swig/2.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "swig-2.0.4";
+  name = "swig-2.0.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/swig/${name}.tar.gz";
-    sha256 = "12pcw4whi36vd41c43v8c62bn7vnq331hmvzsrg8wvyj61vi2fkn";
+    sha256 = "0kj21b6syp62vx68r1j6azv9033kng68pxm1k79pm4skkzr0ny33";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
new file mode 100644
index 000000000000..d49077a5ef6d
--- /dev/null
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, cmake, pkgconfig, python, cheetahTemplate, orc, libusb1, boost }:
+
+# You need these udev rules to not have to run as root (copied from
+# ${uhd}/share/uhd/utils/uhd-usrp.rules):
+#
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
+
+stdenv.mkDerivation rec {
+  name = "uhd-${version}";
+  version = "3.5.4";
+
+  # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
+  # and xxx.yyy.zzz. Hrmpf...
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/EttusResearch/uhd/archive/release_003_005_004.tar.gz";
+    sha256 = "1l11dv72r4ynfpw58aacq0kjylzw85yapv3kzc76lg6qgdb0pqrd";
+  };
+
+  cmakeFlags = "-DLIBUSB_INCLUDE_DIRS=${libusb1}/include/libusb-1.0";
+
+  buildInputs = [ cmake pkgconfig python cheetahTemplate orc libusb1 boost ];
+
+  # Build only the host software
+  preConfigure = "cd host";
+
+  # Firmware images are downloaded (pre-built)
+  uhdImagesName = "uhd-images_003.005.004-release";
+  uhdImagesSrc = fetchurl {
+    url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz";
+    sha256 = "0lgy9076vshlaq7l4n3q1hka3q4xxzdz7mqh7kawg4dziq7j8nl6";
+  };
+
+  postPhases = [ "installFirmware" ];
+
+  installFirmware = ''
+    tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "USRP Hardware Driver (for Software Defined Radio)";
+    longDescription = ''
+      The USRP Hardware Driver (UHD) software is the hardware driver for all
+      USRP (Universal Software Radio Peripheral) devices.
+
+      USRP devices are designed and sold by Ettus Research, LLC and its parent
+      company, National Instruments.
+    '';
+    homepage = http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/parsing/alex/3.1.0.nix b/pkgs/development/tools/parsing/alex/3.1.3.nix
index b6d46bea58e7..8174d851a312 100644
--- a/pkgs/development/tools/parsing/alex/3.1.0.nix
+++ b/pkgs/development/tools/parsing/alex/3.1.3.nix
@@ -1,13 +1,13 @@
-{ cabal, perl, QuickCheck }:
+{ cabal, happy, perl, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "alex";
-  version = "3.1.0";
-  sha256 = "1d2kdn4g3zyc3ijiscbqayzg1apy0iih603dv90pr9w2f36djrkh";
+  version = "3.1.3";
+  sha256 = "14hajxpqb6va5mclp2k682bgw9sbmd372vw41kq5aq815bkschcd";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ QuickCheck ];
-  buildTools = [ perl ];
+  buildTools = [ happy perl ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
diff --git a/pkgs/development/tools/parsing/happy/1.19.0.nix b/pkgs/development/tools/parsing/happy/1.19.2.nix
index 2ff2950591ec..eaf027b591dc 100644
--- a/pkgs/development/tools/parsing/happy/1.19.0.nix
+++ b/pkgs/development/tools/parsing/happy/1.19.2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happy";
-  version = "1.19.0";
-  sha256 = "1phk44crr1zi4sd3slxj1ik5ll799zl48k69z1miws3mxq6w076z";
+  version = "1.19.2";
+  sha256 = "1m74dz83fs7gbcr040nhfx1xw3smjk24g5cp6a0wxvrmlh12yc66";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ mtl ];
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 293ff66f29d0..bdd11b88da5b 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 0fe10a0003ab..f045d786896b 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,12 +3,12 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="git-2013-10-31";
+    version="git-2013-11-25";
     name="${baseName}-${version}";
-    hash="643a9d2f97f238bbd9debb17c010946d507a3b740079d9398939e7fdd70256b9";
+    hash="8c9c518085760a681e3d112ef638473861c1ab2abf9d31043fe365c5d96d3c40";
     url="https://github.com/laurentj/slimerjs";
-    rev="fdeb7364d3e29b47391ed0651176c1aedcb5277f";
-    sha256="643a9d2f97f238bbd9debb17c010946d507a3b740079d9398939e7fdd70256b9";
+    rev="fab60f799eb24a8ba1cad42841d4148181acb72e";
+    sha256="8c9c518085760a681e3d112ef638473861c1ab2abf9d31043fe365c5d96d3c40";
   };
   buildInputs = [
     unzip zip
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 217c81d43176..b7cd7f328933 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -11,26 +11,33 @@ let
     tar xf ${nodejs.src}
     mv *node* $out
   '';
+
+  peerDeps = listToAttrs (concatMap (dep: map (name: {
+    inherit name;
+    value = dep;
+  }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
 in
 stdenv.mkDerivation ({
   unpackPhase = "true";
 
+  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 (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     export HOME=$(pwd)
     runHook postConfigure
   '';
 
   buildPhase = ''
     runHook preBuild
-    npm --registry http://www.example.com --nodedir=${sources} install ${concatStringsSep " " src} ${npmFlags}
+    npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
     runHook postBuild
   '';
 
@@ -51,9 +58,9 @@ stdenv.mkDerivation ({
         done
       fi
     '') args.passthru.names)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       mv node_modules/${name} $out/lib/node_modules
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
     mv node_modules $out/.dependent-node-modules
     if [ -d "$out/lib/node_modules/.bin" ]; then
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index f82fedb72267..47c5178cc791 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -6,7 +6,7 @@ let
     ln -sv /usr/sbin/dtrace $out/bin
   '';
 
-  version = "0.10.21";
+  version = "0.10.22";
 
   # !!! Should we also do shared libuv?
   deps = {
@@ -27,7 +27,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "038l4j0ilrsmc6m2z2qprqs82z7p4940scb8597hcmhp5kr5n4kw";
+    sha1 = "d7c6a39dfa714eae1f8da7a00c9a07efd74a03b3";
   };
 
   configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index 4f276d50105c..f76aab551648 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -1,17 +1,18 @@
 { cabal, binary, ConfigFile, deepseq, enummapset, filepath, gtk
-, hashable, keys, miniutter, mtl, random, stm, text, transformers
-, unorderedContainers, zlib
+, hashable, keys, miniutter, mtl, prettyShow, random, stm, text
+, transformers, unorderedContainers, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "LambdaHack";
-  version = "0.2.8";
-  sha256 = "0dwv6ljigwc46czyivn4ivszfiykvhjx6n4agv7lwx8faan7kax3";
+  version = "0.2.10";
+  sha256 = "1lj960r6gyg8kpc13fs6yq51l0qkpk4yd7ixhh0j4j8xghvx9mw5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     binary ConfigFile deepseq enummapset filepath gtk hashable keys
-    miniutter mtl random stm text transformers unorderedContainers zlib
+    miniutter mtl prettyShow random stm text transformers
+    unorderedContainers zlib
   ];
   meta = {
     homepage = "http://github.com/kosmikus/LambdaHack";
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index d9852971adfc..b3c2dd14718e 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     # Engine is under GPLv2, everything else is under
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix
index d8f39ceeea4a..c7e594f89bda 100644
--- a/pkgs/games/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-therapist/default.nix
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
     description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
     license = "MIT";
-    platforms = stdenv.lib.platforms.none;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
     homepage = https://code.google.com/r/splintermind-attributes/;
   };
 }
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 71183d0ea2ad..f3ddb633e879 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -57,7 +57,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Flight simulator";
     maintainers = with maintainers; [ raskin ];
-    #platforms = platforms.linux; # disabled from hydra because it's so big
+    platforms = platforms.linux;
+    hydraPlatforms = []; # disabled from hydra because it's so big
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index 8a4bfe5f6ecf..72270cc312a2 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="gnuchess";
-    version="6.0.3";
+    version="6.1.1";
     name="${baseName}-${version}";
-    hash="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
-    url="mirror://gnu/chess/gnuchess-6.0.3.tar.gz";
-    sha256="01ff8qd8pk39c6pv24wbcqkx78kvay8rxvgxqq9cqp9gqv39jfkw";
+    hash="1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn";
+    url="http://ftp.gnu.org/gnu/chess/gnuchess-6.1.1.tar.gz";
+    sha256="1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn";
   };
   buildInputs = [
     flex
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index 4516afaef6dc..c2a7ee90a1f6 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation {
     homepage = http://www.naev.org;
     license = "GPLv3+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index b96fd7c3e9f2..f62570dbd089 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -69,7 +69,8 @@ stdenv.mkDerivation {
     homepage = http://oilrush-game.com/;
     license = "unfree";
     #maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 
 }
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index 8bec0f7b1a95..eb5d933e885d 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -66,7 +66,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
+    hydraPlatforms =
       # raskin: tested amd64-linux;
       # not setting platforms because it is 0.5+ GiB of game data
       [];
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index 645312dd54e9..acc724490181 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -3,17 +3,17 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  version = "0.150.u0-1";
+  version = "0.151.u0-1";
   name    = "sdlmame-${version}";
 
   src = if stdenv.system == "x86_64-linux"
     then fetchurl {
       url    = "ftp://ftp.archlinux.org/community/os/x86_64/${name}-x86_64.pkg.tar.xz";
-      sha256 = "0393xnzrzq53szmicn96lvapm66wmlykdxaa1n7smx8a0mcz0kah";
+      sha256 = "1j9vjxhrhsskrlk5wr7al4wk2hh3983kcva42mqal09bmc8qg3m9";
     }
     else fetchurl {
       url    = "ftp://ftp.archlinux.org/community/os/i686/${name}-i686.pkg.tar.xz";
-      sha256 = "0js67w2szd0qs7ycgxb3bbmcdziv1fywyd9ihra2f6bq5rhcs2jp";
+      sha256 = "1i38j9ml66pyxzm0zzf1fv4lb40f6w47cdgaw846q91pzakkkqn7";
     };
 
   buildPhase = ''
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 811d8d432ceb..a61d2f370d04 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -46,6 +46,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "free-noncopyleft";
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index e920b8c633e0..7a78235bdff1 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     homepage = http://speed-dreams.sourceforge.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric raskin];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 109cb239d2be..70cffaa192e2 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,20 +1,21 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
 , openal, libvorbis, glew, freetype, xlibs, SDL, mesa, binutils
+, asciidoc, libxslt, docbook_xsl, curl
 , jdk ? null, python ? null
 , withAI ? true # support for AI Interfaces and Skirmish AIs
 }:
 stdenv.mkDerivation rec {
 
   name = "spring-${version}";
-  version = "94.1";
+  version = "95.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma";
-    sha256 = "19myqwpz4mi4zdlcv8318dps0ymmw7qpawhq1rgk73ycmaiyaaka";
+    sha256 = "0g0jfbbxl1g8nasibw13yjnsgalnfn4s2ii5z4s8k87vla9apg1v";
   };
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
-    xlibs.libX11 xlibs.libXcursor mesa glew ]
+    xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
 
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index b78fd7d77888..ac4869f78380 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -1,16 +1,19 @@
 { stdenv, fetchurl, cmake, wxGTK, openal, pkgconfig, curl, libtorrentRasterbar, libpng, libX11
-, gettext, bash, gawk, boost}:
+, gettext, bash, gawk, boost, libnotify, gtk, doxygen }:
 stdenv.mkDerivation rec {
 
   name = "springlobby-${version}";
-  version = "0.169";
+  version = "0.176";
 
   src = fetchurl {
     url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2";
-    sha256 = "1wr8q2ha3wh718rr5rg7l6v404nf1rgkg4wkja77rfqy7r18zn7g";
+    sha256 = "0a5pnd15rlvbkvnz2s0axy3i7m2jlrk91kjpwflnrcqlf42c2rk9";
   };
 
-  buildInputs = [ cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11 ];
+  buildInputs = [
+    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11
+    libnotify gtk doxygen
+  ];
 
   prePatch = ''
     substituteInPlace tools/regen_config_header.sh --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
new file mode 100644
index 000000000000..c2bc9d37b4f6
--- /dev/null
+++ b/pkgs/games/tintin/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, zlib, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "tintin-2.00.9";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/tintin/${name}.tar.gz";
+    sha256 = "0x8jakxx7hh7b0z6vjcxyrda0afbz2s2yy7mvrbxjffyc2dyxzna";
+  };
+
+  buildInputs = [ zlib pcre ];
+
+  preConfigure = ''
+    cd src
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free MUD client for Mac OS X, Linux and Windows";
+    homepage    = http://tintin.sourceforge.net;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix
index f5b713ae3373..473161771158 100644
--- a/pkgs/games/torcs/default.nix
+++ b/pkgs/games/torcs/default.nix
@@ -3,11 +3,11 @@ libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, libvorbis,
 libpng, zlib, bash }:
 
 stdenv.mkDerivation rec {
-  name = "torcs-1.3.2";
+  name = "torcs-1.3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/torcs/${name}.tar.bz2";
-    sha256 = "0171ixhnd9cs8jkwa5awrxklfgyykcbc9m8270b8cw30lsx7qhp1";
+    sha256 = "170ff98smkkv1sk4nbz9w0alhmmbr32djmgbc08lcfhf0lj2ni38";
   };
 
   patchPhase = ''
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     homepage = http://torcs.sourceforge.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index d9955aec3eb4..2fef444328cd 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     description = "A squad-based tactical strategy game in the tradition of X-Com";
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index 2768d2fad9e1..9ba3a442eb73 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
     homepage = http://unvanquished.net;
     #license = "unknown";
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = stdenv.lib.platforms.linux;
     # This package can take a lot of disk space, so unavailable from channel
-    #platforms = with stdenv.lib.platforms; linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 535e575fdc40..020d60fa3fae 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.urbanterror.net;
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 97bd1ab432d9..af112c37af4f 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     homepage = http://vdrift.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index e20adc8faa73..65c991340728 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -64,7 +64,8 @@ rec {
       raskin
       jcumming
     ];
-    #platforms = a.lib.platforms.linux;
+    platforms = a.lib.platforms.linux;
+    hydraPlatforms = [];
     license = a.lib.licenses.gpl2Plus;
   };
   passthru = {
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 957d7b2c7f45..137429cdc838 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, SDL, libjpeg, zlib, libvorbis, curl }:
 
 stdenv.mkDerivation rec {
-  name = "xonotic-0.5.0";
+  name = "xonotic-0.7.0";
 
   src = fetchurl {
     url = "http://dl.xonotic.org/${name}.zip";
-    sha256 = "03vkbddffnz6ws3gkwc3qvi6icfsyiqq0dqw2vw5hj2kidm25rsq";
+    sha256 = "21a5fb5493c269cd3843789cb8598f952d4196e8bc71804b9bd5808b646542c6";
   };
 
   # Commented out things needed to build cl-release because of errors.
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.xonotic.org;
     license = with stdenv.lib.licenses; gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 79b819c12a7e..ebec9867a615 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -1,9 +1,9 @@
 # this package was called gimp-print in the past
 { fetchurl, stdenv, pkgconfig, composableDerivation, cups
-, libtiff, libpng, openssl, gimp }:
+, libtiff, libpng, makeWrapper, openssl, gimp }:
 
 let
-   version = "5.2.7";
+   version = "5.2.9";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,11 +12,11 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "1lgf7d9vsszv0bzgsd8j3x5smby1lpk07d8x7isv1sz34y98jk0i";
+    sha256 = "185wai9hk0z0144hpxn5mqncy6xikc4bdv49vxqh5lrjdzqf89sb";
   };
 
   # gimp, gui is still not working (TODO)
-  buildInputs = [ openssl pkgconfig ];
+  buildInputs = [ makeWrapper openssl pkgconfig ];
 
   configureFlags = ["--enable-static-genppd"];
   NIX_CFLAGS_COMPILE="-include stdio.h";
@@ -37,6 +37,10 @@ composableDerivation.composableDerivation {} {
 
   installPhase = ''
     eval "make install $installArgs"
+    mkdir -p $out/lib/cups
+    ln -s $out/filter $out/lib/cups/
+    wrapProgram $out/filter/rastertogutenprint.5.2 --prefix LD_LIBRARY_PATH : $out/lib
+    wrapProgram $out/sbin/cups-genppd.5.2 --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
   meta = { 
diff --git a/pkgs/misc/emulators/VisualBoyAdvance/default.nix b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
index 95f7d9433f9b..942bf2c21840 100644
--- a/pkgs/misc/emulators/VisualBoyAdvance/default.nix
+++ b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
@@ -13,11 +13,12 @@ stdenv.mkDerivation {
     sed -i -e "s|char \* p = strrchr|const char * p = strrchr|g" src/Util.cpp
   '';
   buildInputs = [ zlib libpng SDL ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm;
-  
+
   meta = {
     description = "A Game Boy/Game Boy Color/Game Boy Advance Emulator";
     license = "GPLv2+";
     maintainers = [ stdenv.lib.maintainers.sander ];
     homepage = http://vba.ngemu.com;
+    broken = true;
   };
 }
diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix
index 9c1f7fd24ae0..a9e0aacba263 100644
--- a/pkgs/misc/emulators/wine/stable.nix
+++ b/pkgs/misc/emulators/wine/stable.nix
@@ -6,13 +6,13 @@
 assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
-let 
-    version = "1.6";
+let
+    version = "1.6.1";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1";
+      sha256 = "0k1qb8hhaf5mbb3jk0a37jx93mvlxpk5c4dslxhalp2mic42rg6m";
     };
 
     gecko = fetchurl {
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index 02ce076ce0fd..2c6499000348 100644
--- a/pkgs/misc/emulators/wine/unstable.nix
+++ b/pkgs/misc/emulators/wine/unstable.nix
@@ -7,12 +7,12 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 let 
-    version = "1.7.4";
+    version = "1.7.7";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "0sb9zfrvlrjx1icfb94clgac239i9yfhyv48zv9iddgmvdjk8ysi";
+      sha256 = "19xcspll0ljbr2v0y7xy4943pgqalya2zrzndqsl2d7kpyv061hi";
     };
 
     gecko = fetchurl {
diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix
index b33ca25fb107..c88be58abb22 100644
--- a/pkgs/misc/screensavers/slock/default.nix
+++ b/pkgs/misc/screensavers/slock/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, xproto, libX11, libXext }:
 stdenv.mkDerivation rec {
-  name = "slock-1.0";
+  name = "slock-1.1";
   src = fetchurl {
     url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "b4e44ff1660f6f7eb270a0575d6ae1e0fbffcf0cdd96860a1695d57e89ae2df9";
+    sha256 = "1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0";
   };
   buildInputs = [ xproto libX11 libXext	];
   installFlags = "DESTDIR=\${out} PREFIX=";
diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix
index 0449f72c9972..b40ebe84bcb1 100644
--- a/pkgs/misc/solfege/default.nix
+++ b/pkgs/misc/solfege/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "solfege-3.22.0";
+  name = "solfege-3.22.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/solfege/${name}.tar.gz";
-    sha256 = "10klrhdb1n67xd4bndk6z6idyf0pvwz7hcdg9ibalms7ywl3b23x";
+    sha256 = "1r4g93ka7i8jh5glii5nza0zq0wy4sw0gfzpvkcrhj9yr1h0jsp4";
   };
 
   buildInputs = [ pkgconfig python pygtk gettext texinfo
@@ -34,11 +34,11 @@ stdenv.mkDerivation rec {
           --set GDK_PIXBUF_MODULE_FILE "$out/gdk-pixbuf.loaders"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ear training program";
     homepage = http://www.solfege.org/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ bjornfor ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/misc/uboot/guruplug.nix b/pkgs/misc/uboot/guruplug.nix
index b1f4cab7b735..258ba999bf88 100644
--- a/pkgs/misc/uboot/guruplug.nix
+++ b/pkgs/misc/uboot/guruplug.nix
@@ -10,7 +10,7 @@ let
   rev = "f106056095049c2c748c2a2797e5353295240e04";
 in
 stdenv.mkDerivation {
-  name = "uboot-guruplug-0.0pre${rev}";
+  name = "uboot-guruplug-0.0-pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "git://git.denx.de/u-boot-marvell.git";
diff --git a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
index cee03741dce6..3844912f6ba3 100644
--- a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
+++ b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
 
   builder = writeScript "${name}-builder.sh" ''
     /bin/mkdir -p $out
-    /bin/ln -sv /usr/X11/{bin,lib,include,share} $out/
+    /bin/mkdir $out/lib
+    /bin/ln -sv /usr/X11/lib/{*.dylib,X11,xorg} $out/lib
+    /bin/mkdir $out/lib/pkgconfig
+    /bin/ln -sv /usr/X11/lib/pkgconfig/{x*.pc,gl*.pc} $out/lib/pkgconfig
+    /bin/ln -sv /usr/X11/{bin,include,share} $out/
   '';
 }
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index d694a9e5ed24..2a774949530d 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "acpi-${version}";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpiclient/${version}/${name}.tar.gz";
-    sha256 = "0cawznhkzb51yxa599d1xkw05nklmjrrmd79vmjkkzf4002d4qgd";
+    sha256 = "01ahldvf0gc29dmbd5zi4rrnrw2i1ajnf30sx2vyaski3jv099fp";
   };
 
   meta = {
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index 7f3440d8f59e..c1f92476b879 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "acpid-2.0.17";
+  name = "acpid-2.0.20";
 
   src = fetchurl {
-    url = "http://tedfelix.com/linux/${name}.tar.xz";
-    sha256 = "0gksl6z3sb6yyk7bdmldxsrncvprd3rny0i8ggl4m95nvv3x5drn";
+    url = "mirror://sourceforge/acpid2/${name}.tar.xz";
+    sha256 = "0l7pzjcpf1935bn44kzgc16h00clbx73cjm2dlyhzvvb5ksvl7ka";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/alienfx/default.nix b/pkgs/os-specific/linux/alienfx/default.nix
new file mode 100644
index 000000000000..9924779d92ab
--- /dev/null
+++ b/pkgs/os-specific/linux/alienfx/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, libusb1, fetchgit}:
+
+
+let
+  rev = "85ee5eeaca59a1c92659c3f49b148b0447d78f16";
+in
+
+stdenv.mkDerivation {
+  name = "alienfx-1.0.0";
+  src = fetchgit {
+    inherit rev;
+    url = https://github.com/tibz/alienfx.git;
+
+    sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1";
+  };
+
+  patchPhase = ''
+    substituteInPlace Makefile --replace /usr/ $out/
+    substituteInPlace Makefile --replace "install -o root -g root" "install"
+  '';
+ 
+  buildInputs = [ libusb1 ];
+  makeFlags = "build";
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+  '';
+  installTargets = "install";
+  postInstall = ''cp alienfx.1 $out/man/man1'';
+  
+  meta = {
+    description = "Controls AlienFX lighting";
+    homepage = "https://github.com/tibz/alienfx";
+    maintainers = [stdenv.lib.maintainers.tomberek];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 26d32594fba2..239c70d515d5 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.0.26";
+  name = "alsa-lib-1.0.27.2";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "0zbfkwqn7ixa71lsna9llq6i2gic540h8r8r0rjdphrwc1hq37wc";
+    sha256 = "068d8c92122hwca5jzhrjp4a131995adlb1d79zgrm7gwy9x63k9";
   };
 
   configureFlags = "--disable-xmlto";
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index fb17b47b5060..5b822969968c 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, lib, pkgconfig, alsaLib, pulseaudio ? null, jackaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-plugins-1.0.26";
+  name = "alsa-plugins-1.0.27";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"
       "http://alsa.cybermirror.org/plugins/${name}.tar.bz2"
     ];
-    sha256 = "07wz3kl6isabk15ddpzz820pqlgvw6q0m7knnbgv9780s8s52l83";
+    sha256 = "0ddbycq4cn9mc8xin0vh1af0zywz2rc2xyrs6qbayyyxq8vhrg8b";
   };
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index c121b227eee9..3eafe8bbfe5b 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-utils-1.0.26";
+  name = "alsa-utils-1.0.27";
 
   src = fetchurl {
     # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2";
     url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2";
-    sha256 = "1rw1n3w8syqky9i7kwy5xd2rzfdbihxas32vwfxpb177lqx2lpzq";
+    sha256 = "1vssljbdzf0psqhhd7w9m9mzb0sl2kgx9fagkja25sqw6ivwsxkg";
   };
 
   buildInputs = [ alsaLib ncurses libsamplerate ];
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 326de9ed81ae..ab95accd7493 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -68,7 +68,8 @@ stdenv.mkDerivation rec {
     homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx;
     license = "unfree";
     maintainers = [stdenv.lib.maintainers.marcweber];
-    #platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
+    hydraPlatforms = [];
   };
 
   # moved assertions here because the name is evaluated when the NixOS manual is generated
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
new file mode 100644
index 000000000000..a7ff782d69ed
--- /dev/null
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, openldap
+, enablePython ? false, python ? null
+}:
+
+assert enablePython -> python != null;
+
+stdenv.mkDerivation rec {
+  name = "audit-2.3.2";
+
+  src = fetchurl {
+    url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
+    sha256 = "0a8x10wz0xfj0iq1wgjl6hdhxvq58cb3906vc687i21876sy0wl8";
+  };
+
+  buildInputs = [ openldap ]
+            ++ stdenv.lib.optional enablePython python;
+
+  configureFlags = ''
+    ${if enablePython then "--with-python" else "--without-python"}
+  '';
+
+  meta = {
+    description = "Audit Library";
+    homepage = "http://people.redhat.com/sgrubb/audit/";
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/autofs/autofs-v5.nix b/pkgs/os-specific/linux/autofs/autofs-v5.nix
index 731b383e7117..81ead8d33d0e 100644
--- a/pkgs/os-specific/linux/autofs/autofs-v5.nix
+++ b/pkgs/os-specific/linux/autofs/autofs-v5.nix
@@ -4,17 +4,17 @@ let
   baseURL = mirror://kernel/linux/daemons/autofs/v5;
 in
 stdenv.mkDerivation {
-  name = "autofs-5.0.5";
+  name = "autofs-5.0.8";
 
   src = fetchurl {
-    url = "${baseURL}/autofs-5.0.5.tar.bz2";
-    sha256 = "00k0k3jkbr29gn1wnzqjyc9iqq5bwjyip1isc79wf51wph0kxiv8";
+    url = "${baseURL}/autofs-5.0.8.tar.bz2";
+    sha256 = "0zczihrqdamj43401v2pczf7zi94f8qk20gc6l92nxmpak3443if";
   };
 
   patches = import ./patches-v5.nix fetchurl;
 
   preConfigure = ''
-    configureFlags="--with-path=$PATH"
+    configureFlags="--disable-move-mount --with-path=$PATH"
     export MOUNT=/var/run/current-system/sw/bin/mount
     export UMOUNT=/var/run/current-system/sw/bin/umount
     export MODPROBE=/var/run/current-system/sw/sbin/modprobe
diff --git a/pkgs/os-specific/linux/autofs/create-patches-v5.sh b/pkgs/os-specific/linux/autofs/create-patches-v5.sh
index 781c59a324a9..1fe6b503288d 100644
--- a/pkgs/os-specific/linux/autofs/create-patches-v5.sh
+++ b/pkgs/os-specific/linux/autofs/create-patches-v5.sh
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
 # Use this script with the upstream sorted list of patches
-# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patch_order-5.0.5 |
+# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patches-5.0.{x+1}/patch_order-5.0.x | 
 #   grep -v '^#' | sh create-patches-v5.sh
 
-BASEURL=mirror://kernel/linux/daemons/autofs/v5;
+BASEURL=mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9;
 
 echo '# File created automatically' > patches-v5.nix
 echo 'fetchurl :' >> patches-v5.nix
diff --git a/pkgs/os-specific/linux/autofs/patches-v5.nix b/pkgs/os-specific/linux/autofs/patches-v5.nix
index 0598102fb2ac..a577beefbe7f 100644
--- a/pkgs/os-specific/linux/autofs/patches-v5.nix
+++ b/pkgs/os-specific/linux/autofs/patches-v5.nix
@@ -1,32 +1,7 @@
 # File created automatically
 fetchurl :
 [
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-included-map-read-fail-handling.patch; sha256 = "1a8yhy898zp8hn6ihnz8scannjx74am6ys6dkahds4ga3zjg0k27"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-refactor-ldap-sasl-bind.patch; sha256 = "0c4izyvg4mrn0h4g18vk7d10zyb6b1sh40bjrm0xc6ga7n7z89x1"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.4-add-mount-wait-parameter.patch; sha256 = "1a8wd8lyx4bh9v6yw0360vbzjwvr1w838k2g3xrg374z6fmj4n3f"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-special-case-cifs-escapes.patch; sha256 = "0cb4kaipdmqlx11nw1l9c6ccssl01q5zg3f9zaarhv6ha91jag63"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-libxml2-workaround-configure.patch; sha256 = "1fb5ksyqc7706j48hwjarsk83047np360kln6lll8plmrg2539rc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-more-code-analysis-corrections.patch; sha256 = "1lhx6iblmi4b8jx5sd94jlj8pwkhfy9f7dxnx45af0c251rcqxi9"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-backwards-ifndef-INET6.patch; sha256 = "0k2cbr2651w6hf720qm68l66d3jr5y6yp80igr7ym60q68pxkwfk"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-stale-init-for-file-map-instance.patch; sha256 = "1h128fj8bgwg8ym0066dl9qp5yfv8jrjnrhsdsmfx2qdq2shyj42"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ext4-fsck-at-mount.patch; sha256 = "1w92iykwnpvz6sbn98nmc9qa8wwar2qidqln3f14wfic9jrs2x6n"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-use-master_lex_destroy-to-clear-parse-buffer.patch; sha256 = "1rq2xqj3jqibbknnssd3ji0ymdw8jq7fv2a4s15m63rd8q3b2mci"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-make-documentation-for-set-log-priority-clearer.patch; sha256 = "0ly5zkhsx49b98vzrq863ksj9f8024vrzivlhwa45p47kzza9p9b"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-timeout-in-connect_nb.patch; sha256 = "1fhy7rmvk14ikxnavlznx8qya0y5gm73y8gs1v1piwmig0g3y8hf"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-pidof-init-script-usage.patch; sha256 = "1rqpdjn99wqr8j591qsn231chwi3s25jma3raqmpsip3vz75rfy8"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-check-for-path-mount-location-in-generic-module.patch; sha256 = "17lccz000ajclm29v7cv6i2dxs7lgb0p6dg9xdp84h58h6x94n0l"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-fail-mount-on-access-fail.patch; sha256 = "0sssai921nkin77gi6n62qsxp97f49xa7cwb51dwy8216qcn5fkr"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-rpc-large-export-list.patch; sha256 = "1k4574pkmnp55jkqg83f3pyw3vqf0pv8fyhwb6ndrzfmgrmbcqar"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-memory-leak-on-reload.patch; sha256 = "15qc61akl0gvs33anz6vif2cb4g1v47s9n6v9j0sdw4sw45292gv"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-update-kernel-patches-2.6.18-and-2.6.19.patch; sha256 = "0rlb3k2bq5f18jrwa7xnfq3rxngqv9i07xcpyfq8yv3lj6qrb5qc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-connect-at-ldap-lookup-module-init.patch; sha256 = "0dvfvim2riasa3dcf4ifkjg9bssaq8am4asrxfl9gkxqa3lp0drh"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-random-selection-option.patch; sha256 = "0ignn2m4syk491awkrzjj07vyfmlj4fyigk8fd3larn06vpcy0kx"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-disable-timeout.patch; sha256 = "0d66pm2kmc9pz6k0shsd1gx0m8jhf71ik6wa7nzdijwpzzmbdagc"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-strdup-return-value-check.patch; sha256 = "0k0xqs1k12nxiaidf3j2w8iywycpbx14bmxc00ra0nc2i3shd6cz"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-reconnect-get-base-dn.patch; sha256 = "1yn5fcb1xqzycmnbv6l7ghjy34vlacbnr5yz37sfgz7w81qr7xgk"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-sasl-mutex-callbacks.patch; sha256 = "18kkznkg2p5f0gq4hncis37j75pg72h7la9q71xpl0ci875j35r8"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-get-qdn-fail.patch; sha256 = "0sd6k7fcwvql1p3vhhfjiw4rbrqyr36fvjv37dyap7p6sahn84n9"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ampersand-escape-in-auto-smb.patch; sha256 = "1imsxa4rdbkdy8lx7sibm6g91f05lidhfzwf2k4fbkiz9232872r"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute.patch; sha256 = "1r3azgm8y5i42p9hmp4mn88wz0ks6fyrjb80nj3npv6x3qy8cryv"; })
-(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute-fix.patch; sha256 = "026gbbffadl4ly5n5z73mzf2ga14m9ya09agbxrpsf24f4h65cw4"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-undefined-authtype_requires_creds-err-if-ldap-en.patch; sha256 = "11v1a32rx57ylp8scswpk41jl9n4kfx55nvdlzhvfs4rhws18rpx"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-master-map-type-check.patch; sha256 = "1nkq0y6j7dc6214af3q9bxvy7pv9kak0q9chijxcj6zkhfzwrjy3"; })
+(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-task-manager-not-getting-signaled.patch; sha256 = "17h06wk4x0rqiky6pm9dglbc5ycxxrd3438a9snnlysl4zzgrqhx"; })
 ]
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 6bc0759c1a2b..3f5d85e8f6ff 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   pythonPath = with pythonPackages;
-    [ pythonDBus pygobject3 recursivePthLoader ];
+    [ pythonDBus pygobject pygobject3 recursivePthLoader ];
 
   buildInputs =
     [ pkgconfig dbus.libs glib libusb alsaLib python pythonPackages.wrapPython
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index a24e0fd2307b..fd1e83100ed5 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -37,16 +37,13 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.20.2";
+  name = "busybox-1.21.1";
 
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "10k8kgrprll9hxfm9gc3jl7kkq79g6l2pygn5snqwqg5v80zy4zb";
+    sha256 = "00qk938q90jv14mxmadm8pgs3jymkknc6xicw4512mn85s8y0nyd";
   };
 
-  # Remove this patch after the next busybox update.
-  patches = [ ./include-missing-sys-resource-header.patch ];
-
   configurePhase = ''
     make defconfig
     ${configParser}
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 9125c84bd7a1..a718b3656c44 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation rec {
 
   name = "checkpolicy-${version}";
-  version = "2.1.11";
+  version = "2.2";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/checkpolicy-${version}.tar.gz";
-    sha256 = "1wahs32l4jjlg0s3lyihdhvwmsy7yyvq5pk96q9lsiilc5vvrb06";
+    sha256 = "1y5dx4s5k404fgpm7hlhgw8a9b9ksn3q2d3fj6f9rdac9n7nkxlz";
   };
 
   buildInputs = [ libsepol libselinux bison flex ];
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index 0f8801ef58eb..bef8de495ad3 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cifs-utils-5.6";
+  name = "cifs-utils-6.2";
 
   src = fetchurl {
     url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "0f619nw1163bcmfc83mmqj31qdkl68wfm81vynx3d8q0m0k1ll7i";
+    sha256 = "0cydya7l7xwxk2j1g1659kbvb4jzql11ivb6cldwwfg19qvnwrrl";
   };
 
-  patches = [ ./find-systemd-ask-password-via-path.patch ];
-
   makeFlags = "root_sbindir=$(out)/sbin";
 
   meta = {
diff --git a/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch b/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
deleted file mode 100644
index 428cb75edadf..000000000000
--- a/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ubr cifs-utils-5.9-orig/mount.cifs.c cifs-utils-5.9/mount.cifs.c
---- cifs-utils-5.9-orig/mount.cifs.c	2013-03-05 10:53:19.375464790 +0100
-+++ cifs-utils-5.9/mount.cifs.c	2013-03-05 11:41:40.704946110 +0100
-@@ -1634,7 +1634,7 @@
- }
- 
- /*
-- * If systemd is running and /bin/systemd-ask-password --
-+ * If systemd is running and systemd-ask-password --
-  * is available, then use that else fallback on getpass(..)
-  *
-  * Returns: @input or NULL on error
-@@ -1657,7 +1657,7 @@
- 		FILE *ask_pass_fp = NULL;
- 
- 		cmd = ret = NULL;
--		if (asprintf(&cmd, "/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
-+		if (asprintf(&cmd, "/run/current-system/sw/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
- 			ask_pass_fp = popen (cmd, "re");
- 			free (cmd);
- 		}
-Only in cifs-utils-5.9/: mount.cifs.c.orig
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
index 537cc386402b..f8be37edfe2e 100644
--- a/pkgs/os-specific/linux/consoletools/default.nix
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, SDL }:
+{ stdenv, fetchurl, SDL }:
 
 stdenv.mkDerivation rec {
   name = "linuxconsoletools-${version}";
-  version = "1.4.3";
+  version = "1.4.6";
 
-  src = fetchgit {
-    url = "git://linuxconsole.git.sourceforge.net/gitroot/linuxconsole/linuxconsole";
-    rev = "dac2cae0e5795ddc27b76a92767dd9e07a10621e";
-    sha256 = "350b008e614923dbd548fcaaf2842b39433acdcf595e2ce8aaf1599f076d331d";
+  src = fetchurl {
+    url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2";
+    sha256 = "0035yhjbjdis5wqmbdz67xq61065x7vrx5mb7kb1rhrx3ag43wcf";
   };
 
   buildInputs = [ SDL ];
diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix
index 85907ff0212a..c94e22adb381 100644
--- a/pkgs/os-specific/linux/cpufrequtils/default.nix
+++ b/pkgs/os-specific/linux/cpufrequtils/default.nix
@@ -2,12 +2,12 @@
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cpufrequtils-008";
 
   src = fetchurl {
-    url = http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz;
-    md5 = "52d3e09e47ffef634833f7fab168eccf";
+    url = "http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/${name}.tar.gz";
+    sha256 = "127i38d4w1hv2dzdy756gmbhq25q3k34nqb2s0xlhsfhhdqs0lq0";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index e80256f7299f..7a818530ca2d 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, kernelDev, onlyHeaders ? false }:
 
 stdenv.mkDerivation rec {
-  pname = "cryptodev-linux-1.5";
+  pname = "cryptodev-linux-1.6";
   name = "${pname}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz";
-    sha256 = "13hybl5p0ck0vgi2gxmiwa2810gcfk78kdy17ai8nczj8il15mn0";
+    sha256 = "0bryzdb4xz3fp2q00a0mlqkj629md825lnlh4gjwmy51irf45wbm";
   };
 
   buildPhase = if !onlyHeaders then ''
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 0eb4be302841..93f62ab7e0a9 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.5.1";
+  name = "cryptsetup-1.6.2";
 
   src = fetchurl {
     url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0dib3nw6ifd7d7hr9k4iyaha3hz0pkzairqa38l3fndkr9w3zlhn";
+    sha256 = "16hh7v8bsqy0i1wlaj03kwqjv3liffkvg06lk75lng9hk00kywhm";
   };
 
   configureFlags = [ "--enable-cryptsetup-reencrypt" ]
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index e6b5035bd8ed..40564f9f95a7 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dmidecode-2.11";
+  name = "dmidecode-2.12";
 
   src = fetchurl {
     url = "mirror://savannah/dmidecode/${name}.tar.bz2";
-    sha256 = "0l9v8985piykc98hmbg1cq5r4xwvp0jjl4li3avr3ddkg4s699bd";
+    sha256 = "122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi";
   };
 
   makeFlags = "prefix=$(out)";
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 7129b685eb90..068e49d01905 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "drbd-8.4.0";
+  name = "drbd-8.4.4";
 
   src = fetchurl {
     url = "http://oss.linbit.com/drbd/8.4/${name}.tar.gz";
-    sha256 = "096njwxjpwvnl259gxq6cr6n0r6ba0h5aryvgk05hqi95jx927vg";
+    sha256 = "0hm1cnd7vsccyc22sg85f9aj48nijl2f1kgbvl5crv414ihv5giq";
   };
 
   patches = [ ./pass-force.patch ];
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index bd2507ec1bc1..183d2d86d4c6 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "fuse-2.9.2";
+  name = "fuse-2.9.3";
   
   builder = ./builder.sh;
   
   src = fetchurl {
     url = "mirror://sourceforge/fuse/${name}.tar.gz";
-    sha256 = "1z6fg593hy1j7mynhckx43gqkkg2nwpmwwv860337nl77zxji9w1";
+    sha256 = "071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb";
   };
   
   configureFlags = "--disable-kernel-module";
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index b627d664aef1..bc83738acc8e 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.39";
+  name = "hdparm-9.43";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "1siw9c2hrsck47jr9wpip9n677g31qd34y8whkq9dai68npm1mbj";
+    sha256 = "0amm2s67vzfgs0jv59jgj9pqkr6j9glj1chsj292263i94kr5gib";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/hibernate/default.nix b/pkgs/os-specific/linux/hibernate/default.nix
index 91dc90681032..d0e77a3bb700 100644
--- a/pkgs/os-specific/linux/hibernate/default.nix
+++ b/pkgs/os-specific/linux/hibernate/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gawk }:
 
-let version = "1.98.1";
+let version = "2.0";
 in
   stdenv.mkDerivation rec {
     name = "hibernate-${version}";
     src = fetchurl {
-      url = "http://www.tuxonice.net/downloads/all/hibernate-script-${version}.tar.gz";
-      sha256 = "1xpc2i16jczc3nhvxlkn6fb044srqrh528gnp92cwy4hxf2nzi1z";
+      url = "http://tuxonice.nigelcunningham.com.au/files/hibernate-script-${version}.tar.gz";
+      sha256 = "0ib5bac3spbcwmhf8f9apjbll8x7fgqj4k1s5q3srijh793rfifh";
     };
 
     patches = [ ./install.patch ./gen-manpages.patch ./hibernate.patch ];
diff --git a/pkgs/os-specific/linux/hwdata/builder.sh b/pkgs/os-specific/linux/hwdata/builder.sh
deleted file mode 100644
index 50d114773240..000000000000
--- a/pkgs/os-specific/linux/hwdata/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-export DESTDIR=$out
-
-genericBuild
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 4c0a46f460cb..e701c91019df 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -1,10 +1,21 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "hwdata-0.172";
-  builder = ./builder.sh;
+  name = "hwdata-0.249";
+
   src = fetchurl {
-    url = ftp://ftp.nluug.nl/pub/os/Linux/distr/debian/pool/main/h/hwdata/hwdata_0.172.orig.tar.gz;
-    md5 = "1c6b7f4dfe489f881702176c5f8e5a2e";
+    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.249-1.tar.bz2";
+    sha256 = "1ak3h3psg3wk9yk0dqnzdzik3jadzja3ah22vjfmf71p3b5xc8ai";
+  };
+
+  preConfigure = "patchShebangs ./configure";
+
+  configureFlags = "--datadir=$(prefix)/data";
+
+  meta = {
+    homepage = "https://fedorahosted.org/hwdata/";
+    description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards";
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 4ea4152e30d4..9e8faa6a02e3 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, flex, bison, db4, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-3.8.0";
+  name = "iproute2-3.12.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0kqy30wz2krbg4y7750hjq5218hgy2vj9pm5qzkn1bqskxs4b4ap";
+    sha256 = "04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4";
   };
 
-  patches = [ ./vpnc.patch ./no-werror.patch ];
+  patch = [ "vpnc.patch" ];
 
   preConfigure =
     ''
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
       sed -e '/ARPDDIR/d' -i Makefile
     '';
 
-  postConfigure = "cat Config";
-
   makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin"
     + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
     + " MANDIR=$(out)/share/man";
diff --git a/pkgs/os-specific/linux/iproute/no-werror.patch b/pkgs/os-specific/linux/iproute/no-werror.patch
deleted file mode 100644
index 593b56b8de09..000000000000
--- a/pkgs/os-specific/linux/iproute/no-werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ubr iproute2-3.8.0-orig/Makefile iproute2-3.8.0/Makefile
---- iproute2-3.8.0-orig/Makefile	2013-04-06 00:03:21.072827860 +0200
-+++ iproute2-3.8.0/Makefile	2013-04-06 00:03:25.353837862 +0200
-@@ -30,7 +30,7 @@
- HOSTCC = gcc
- DEFINES += -D_GNU_SOURCE
- CCOPTS = -O2
--WFLAGS := -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes
-+WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes
- WFLAGS += -Wmissing-declarations -Wold-style-definition
- 
- CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES)
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 78d8ee52fb18..0e022e0c4a11 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,24 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.16.2";
+  name = "iptables-1.4.21";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    md5 = "57220bb26866a713073e5614f88071fc";
+    sha256 = "1q6kg7sf0pgpq0qhab6sywl23cngxxfzc9zdzscsba8x09l4q02j";
   };
 
-  # Install header files required by miniupnpd.
-  postInstall =
-    ''
-      cp include/iptables.h $out/include
-      cp include/libiptc/libiptc.h include/libiptc/ipt_kernel_headers.h $out/include/libiptc
-      mkdir $out/include/iptables
-      cp include/iptables/internal.h $out/include/iptables
-      mkdir $out/include/net
-      cp -prd include/net/netfilter $out/include/net/netfilter
-      mkdir $out/include/linux
-    '';
+  configureFlags = ''
+    --enable-devel
+    --enable-shared
+  '';
 
   meta = {
     description = "A program to configure the Linux IP packet filtering ruleset";
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ac8d4824c62d..2609e1880b42 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.10";
+  name = "iw-3.11";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz";
-    sha256 = "1sagsrl2s0d3ar3q2yc5qxk2d47zgn551akwcs9f4a5prw9f4vj5";
+    sha256 = "1zrh0pjcy0kg6n8wlr34cg3bmi3nj28rhqn5pad23a1170r2f0z9";
   };
 
   buildInputs = [ libnl pkgconfig ];
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 1ade24736279..3e1fc920a59b 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -40,9 +40,6 @@
 , ...
 }:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
-  || stdenv.isArm || stdenv.system == "mips64el-linux";
-
 assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null;
 
 let
diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch
new file mode 100644
index 000000000000..be242779548f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/grsec-path.patch
@@ -0,0 +1,15 @@
+diff --git a/kernel/kmod.c b/kernel/kmod.c
+index 3227c2c..f32c944 100644
+--- a/kernel/kmod.c
++++ b/kernel/kmod.c
+@@ -246,8 +246,8 @@ static int ____call_usermodehelper(void *data)
+ 	   out the path to be used prior to this point and are now operating
+ 	   on that copy
+ 	*/
+-	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
+-	     strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7)) || strstr(sub_info->path, "..")) {
++	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
++	     strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) {
+ 		printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path);
+ 		retval = -EPERM;
+ 		goto fail;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
deleted file mode 100644
index 30b70035dfac..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.0.99";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1p31gq9kzwfks980y6rb2mjyagj8lrh6y156a550v7mk0bd4fzdi";
-  };
-
-  features.iwlwifi = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 65660619857b..84d3f64cf2c0 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.15";
+  version = "3.10.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "07wjh58sylbbw9hwxd5xvbz3dxd05iar8ahzk90lki38m5157ffk";
+    sha256 = "0nkiy2hxwam91707vccprmap28wiwxar2v2ishj1bb2xzkbnxwpd";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix
index 6531895d8a7b..5167a4263101 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.11.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.11.6";
+  version = "3.11.8";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs";
+    sha256 = "0g2c7zzgsrwg6y6j8rn3sn7nx464857i7w0575b1lz24493cgdna";
   };
 
   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 f0929af1d292..4b1709b310c0 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12-rc3";
+  version = "3.12.2";
 
   src = fetchurl {
-    url = "https://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-${version}.tar.xz";
-    sha256 = "1rayb0f4n81yp9ghcws0v36dpqyl9ks3naf37p2qy7jvrwagmj28";
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "19kjhvg65z6l21srghjmlfyrwr0pswbkb02nd095v45lkyi3kwyk";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 47393b0ae744..e7405c522a62 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.67";
+  version = "3.4.71";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d";
+    sha256 = "0l9bv40mwk45ccmb2pfy574h6zrclrz5vhvmnn61q3z16j269dpp";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
deleted file mode 100644
index 51bcf35b3fe8..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.9.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.9.11";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0d5j7kg1ifzwipicbi4g26plzbzn1rlvgj1hs4zip6sxj8ifbffl";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
index fdf2f139c331..6d28c376078d 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
@@ -15,5 +15,5 @@ in import ./generic.nix (args // rec {
 
   features.iwlwifi = true;
 
-  extraMeta.platforms = [];
+  extraMeta.hydraPlatforms = [];
 })
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 29eb170287ad..f097f2562d02 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,8 +1,8 @@
 { stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile }:
 
-with stdenv.lib;
-
 let
+  inherit (stdenv.lib)
+    hasAttr getAttr optionalAttrs optional optionalString maintainers platforms;
 
   # Function to parse the config file into a nix expression
   readConfig = configFile:
@@ -169,6 +169,6 @@ stdenv.mkDerivation {
     maintainers = [
       maintainers.shlevy
     ];
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 613f40c6fc96..128c42533c63 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -3,7 +3,7 @@
 let
 
   makeTuxonicePatch = { version, kernelVersion, sha256,
-    url ? "http://tuxonice.net/files/tuxonice-${version}-for-${kernelVersion}.patch.bz2" }:
+    url ? "http://tuxonice.nigelcunningham.com.au/downloads/all/tuxonice-for-linux-${kernelVersion}-${version}.patch.bz2" }:
     { name = "tuxonice-${kernelVersion}";
       patch = stdenv.mkDerivation {
         name = "tuxonice-${version}-for-${kernelVersion}.patch";
@@ -68,20 +68,6 @@ rec {
       features.secPermPatch = true;
     };
 
-  aufs3_0 = rec {
-    name = "aufs3.0";
-    version = "3.0.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "0627c706d69778f5c74be982f28c746153b8cdf7";
-      sha256 = "7008ff64f5adc2b3a30fcbb090bcbfaac61b778af38493b6144fc7d768a6514d";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
   aufs3_2 = rec {
     name = "aufs3.2";
     version = "3.2.20121210";
@@ -131,14 +117,37 @@ rec {
       patch = ./mips-ext3-n32.patch;
     };
 
-  grsecurity_2_9_1_3_2_52 =
-    { name = "grsecurity-2.9.1-3.2.52";
+  tuxonice_3_10 = makeTuxonicePatch {
+    version = "2013-11-07";
+    kernelVersion = "3.10.18";
+    sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j";
+  };
+
+
+  grsecurity_3_0_3_2_52 =
+    { name = "grsecurity-3.0-3.2.52";
       patch = fetchurl {
-        url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.52-201310271550.patch;
-        sha256 = "08y4y323y2lfvdj67gmg3ca8gaf3snhr3pyrmgvj877avaz0475m";
+        url = https://grsecurity.net/stable/grsecurity-3.0-3.2.52-201311261307.patch;
+        sha256 = "1zmzgjpbq90q2w3yl3dgdc79qan7qkh5w6g3y3nvzr6ww6jl8hqw";
       };
-      # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.52
+      features.grsecurity = true;
+      # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.52
       features.apparmor = true;
     };
 
+  grsecurity_3_0_3_12_1 =
+    { name = "grsecurity-3.0-3.12.1";
+      patch = fetchurl {
+        url = https://grsecurity.net/test/grsecurity-3.0-3.12.1-201311261309.patch;
+        sha256 = "129q740m2iivc4i9a465lvzcph9gxlivxzg2p9dsi7c136p42mdz";
+      };
+      features.grsecurity = true;
+      # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.12.1
+      features.apparmor = true;
+    };
+
+  grsec_path =
+    { name = "grsec-path";
+      patch = ./grsec-path.patch;
+    };
 }
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 43c580c2528f..8673981ecd50 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -1,18 +1,22 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, gnumake, file }:
 
 stdenv.mkDerivation rec {
-  name = "keyutils-1.2";
+  name = "keyutils-1.5.8";
   
   src = fetchurl {
-    url = http://people.redhat.com/dhowells/keyutils/keyutils-1.2.tar.bz2;
-    sha256 = "0gcv47crbaw6crgn02j1w75mknhnwgkhmfcmwq2qi9iwiwprnv9h";
+    url = "http://people.redhat.com/dhowells/keyutils/${name}.tar.bz2";
+    sha256 = "17419fr7mph8wlhxpqb1bdrghz0db15bmjdgxg1anfgbf9ra6zbc";
   };
 
+  buildInputs = [ file ];
+
   patchPhase = ''
-    sed -i -e "s, /etc, $out/etc," \
+    sed -i -e "s,/usr/bin/make,${gnumake}/bin/make," \
+        -e "s, /etc, $out/etc," \
         -e "s, /bin, $out/bin," \
         -e "s, /sbin, $out/sbin," \
         -e "s, /lib, $out/lib," \
+        -e "s, /lib64, $out/lib64," \
         -e "s,/usr,$out," \
         Makefile
   '';
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 96d756bc7d2a..acea2e4435cc 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "kmod-12";
+  name = "kmod-15";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "c6189dd8c5a1e8d9224e8506bd188c0cd5dfa119fd6b7e5869b3640cbe8bf92f";
+    sha256 = "17nasn7kpbmbcgyfn9lh50k00bg6qmccxrhzd2m4d6wjw6khxvz8";
   };
 
   # Disable xz/zlib support to prevent needing them in the initrd.
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
new file mode 100644
index 000000000000..df98b5260c6b
--- /dev/null
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }:
+
+assert mountPath != "";
+
+let
+  name = "ldm-0.4.2";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  # There is a stable release, but we'll use the lvm branch, which
+  # contains important fixes for LVM setups.
+  src = fetchgit {
+    url = "https://github.com/LemonBoy/ldm.git";
+    rev = "26633ce07b";
+    sha256 = "bb733d3b9b3bd5843b9cf1507a04a063c5aa45b398480411709fc727ae10b8b1";
+  };
+
+  buildInputs = [ udev utillinux ];
+
+  preBuild = ''
+    substituteInPlace ldm.c \
+      --replace "/mnt/" "${mountPath}"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v ldm $out/bin
+  '';
+
+  meta = {
+    description = "A lightweight device mounter, with libudev as only dependency";
+    license = "MIT";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/os-specific/linux/libatasmart/default.nix b/pkgs/os-specific/linux/libatasmart/default.nix
index 86dffde4b557..7fe0a2be10f5 100644
--- a/pkgs/os-specific/linux/libatasmart/default.nix
+++ b/pkgs/os-specific/linux/libatasmart/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libatasmart-0.17";
+  name = "libatasmart-0.19";
 
   src = fetchurl {
-    url = "http://0pointer.de/public/${name}.tar.gz";
-    sha256 = "1zazxnqsirlv9gkzij6z31b21gv2nv7gkpja0wpxwb7kfh9a2qid";
+    url = "http://0pointer.de/public/${name}.tar.xz";
+    sha256 = "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31";
   };
 
   buildInputs = [ pkgconfig udev ];
diff --git a/pkgs/os-specific/linux/libnl/3.2.19.nix b/pkgs/os-specific/linux/libnl/3.2.19.nix
new file mode 100644
index 000000000000..ea508c088e76
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/3.2.19.nix
@@ -0,0 +1,20 @@
+
+{stdenv, fetchurl, bison, flex}:
+
+stdenv.mkDerivation rec {
+  name = "libnl-3.2.19";
+
+  src = fetchurl {
+    url = "${meta.homepage}files/${name}.tar.gz";
+    sha256 = "12q97cw680hg4rylyd8j3d7azwwia4ndsv3kybd1ajp8hjni39ip";
+  };
+
+  buildInputs = [ bison flex ];
+
+  meta = {
+    homepage = "http://www.infradead.org/~tgr/libnl/";
+    description = "Linux NetLink interface library";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index 6fe31c631788..093a00ed9a5c 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, bison, flex}:
 
 stdenv.mkDerivation rec {
-  name = "libnl-3.2.13";
+  name = "libnl-3.2.23";
 
   src = fetchurl {
     url = "${meta.homepage}files/${name}.tar.gz";
-    sha256 = "1ydw42lsd572qwrfgws97n76hyvjdpanwrxm03lysnhfxkna1ssd";
+    sha256 = "1czj2bpb799bih6ighqwbvv9pvbpcw7vmccv9cwavfwcmalwvhlc";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 01935e766324..2dd5bdfb24ce 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -8,7 +8,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
-  version = "2.1.12";
+  version = "2.2.1";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
@@ -16,30 +16,22 @@ stdenv.mkDerivation rec {
     sha256 = "17navgvljgq35bljzcdwjdj3khajc27s15binr51xkp0h29qgbcd";
   };
 
-  patch_src = fetchurl {
-    url = "http://dev.gentoo.org/~swift/patches/libselinux/patchbundle-${name}-r2.tar.gz";
-    sha256 = "08zaas8iwyf4w9ll1ylyv4gril1nfarckd5h1l53563sxzyf7dqh";
-  };
-
-  patches = [ ./fPIC.patch ]; # libsemanage seems to need -fPIC everywhere
-
   buildInputs = [ pkgconfig libsepol pcre ]
              ++ optionals enablePython [ swig python ];
 
-  prePatch = ''
-    tar xvf ${patch_src}
-    for p in gentoo-patches/*.patch; do
-      patch -p1 < "$p"
-    done
-  '';
-
   postPatch = optionalString enablePython ''
     sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
   '';
 
-  installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" "LIBSEPOLDIR=${libsepol}" ];
+  installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" ];
   installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
 
+  # TODO: Figure out why the build incorrectly links libselinux.so
+  postInstall = ''
+    rm $out/lib/libselinux.so
+    ln -s libselinux.so.1 $out/lib/libselinux.so
+  '';
+
   meta = {
     inherit (libsepol.meta) homepage platforms maintainers;
   };
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index 28908189cf32..afd83f730806 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, libsepol, libselinux, ustr, bzip2, bison, flex }:
+{ stdenv, fetchurl, libsepol, libselinux, ustr, bzip2, bison, flex, audit }:
 stdenv.mkDerivation rec {
 
   name = "libsemanage-${version}";
-  version = "2.1.9";
+  version = "2.2";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsemanage-${version}.tar.gz";
-    sha256 = "1k1my3n1pj30c5887spykcdk1brgxfpxmrz6frxjyhaijxzx20bg";
+    sha256 = "0xdx0dwcsyw4kv9l6xwdkfg6v7fc9b5y176rkg6n6q0w1zx0pxhi";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out)";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   NIX_CFLAGS_LINK = "-lsepol";
 
-  buildInputs = [ libsepol libselinux ustr bzip2 bison flex ];
+  buildInputs = [ libsepol libselinux ustr bzip2 bison flex audit ];
 
   meta = with stdenv.lib; {
     inherit (libsepol.meta) homepage platforms maintainers;
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index d41d1cbe7522..793137aa21a4 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -2,17 +2,23 @@
 
 stdenv.mkDerivation rec {
   name = "libsepol-${version}";
-  version = "2.1.8";
-  se_release = "20120924";
+  version = "2.2";
+  se_release = "20131030";
   se_url = "${meta.homepage}/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
-    sha256 = "1w38q3lmha5m9aps9w844i51yw4b8q1vhpng2kdywn2n8cpdvvk3";
+    sha256 = "03zw6clp00cmi49x8iq8svhrp91jrcw0093zpnyhan190rqb593p";
   };
 
   preBuild = '' makeFlags="$makeFlags PREFIX=$out DESTDIR=$out" '';
 
+  # TODO: Figure out why the build incorrectly links libsepol.so
+  postInstall = ''
+    rm $out/lib/libsepol.so
+    ln -s libsepol.so.1 $out/lib/libsepol.so
+  '';
+
   passthru = { inherit se_release se_url meta; };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 53127e4458ce..bd748dadf616 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
 
 let
-  v = "2.02.100";
+  v = "2.02.104";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz";
-    md5 = "9629cf5728544d7e637cafde1f73d777";
+    sha256 = "1xa7hvp8bsx96nncgksxrqxaqcgipfmmpr8aysayb8aisyjvas0d";
   };
 
   configureFlags =
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index b60b6134fdde..5c36bb097812 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -10,7 +10,7 @@
 let
 
   rev = "7fa99818367a6d17014b36d6f918ad848cbe7ce2";
-  version = "1.0pre-${rev}"; 
+  version = "1.0pre-${stdenv.lib.strings.substring 0 7 rev}"; 
   sha256 = "15eea3acd76190c7922c71028b31963221a2eefd8afa713879e191a26bc22ae7";
 
 in stdenv.mkDerivation {
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 1653c018ce14..48e1c1784900 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -1,16 +1,13 @@
 { stdenv, fetchurl, groff }:
 
 stdenv.mkDerivation rec {
-  name = "mdadm-3.1.2";
+  name = "mdadm-3.3";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2";
-    sha256 = "0s2d2a01j8cizxqvbgd0sn5bpa1j46q8976078b3jq1q7i1ir0zz";
+    sha256 = "0igdqflihiq1dp5qlypzw0xfl44f4n3bckl7r2x2wfgkplcfa1ww";
   };
 
-  # Enable incremental activation of swraid arrays from udev.
-  patches = [ ./udev.patch ];
-
   nativeBuildInputs = [ groff ];
 
   preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile";
@@ -19,7 +16,7 @@ stdenv.mkDerivation rec {
   # /dev/.mdadm/map as a fallback).
   preBuild =
     ''
-      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man VAR_RUN=/var/run/mdadm ALT_RUN=/dev/.mdadm)
+      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man RUN_DIR=/dev/.mdadm)
       if [[ -n "$crossConfig" ]]; then
         makeFlagsArray+=(CROSS_COMPILE=$crossConfig-)
       fi
diff --git a/pkgs/os-specific/linux/mdadm/udev.patch b/pkgs/os-specific/linux/mdadm/udev.patch
deleted file mode 100644
index 5eb35f0c584c..000000000000
--- a/pkgs/os-specific/linux/mdadm/udev.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --exclude '*~' -rc mdadm-3.1.2-orig/udev-md-raid.rules mdadm-3.1.2/udev-md-raid.rules
-*** mdadm-3.1.2-orig/udev-md-raid.rules	2010-02-22 21:14:58.000000000 +0100
---- mdadm-3.1.2/udev-md-raid.rules	2010-05-16 20:45:22.000000000 +0200
-***************
-*** 5,11 ****
-  ACTION=="change", GOTO="md_no_incr"
-  
-  # import data from a raid member and activate it
-! #ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-  # import data from a raid set
-  LABEL="md_no_incr"
-  KERNEL!="md*", GOTO="md_end"
---- 5,11 ----
-  ACTION=="change", GOTO="md_no_incr"
-  
-  # import data from a raid member and activate it
-! ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-  # import data from a raid set
-  LABEL="md_no_incr"
-  KERNEL!="md*", GOTO="md_end"
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 35595a7b8f4f..02eb65123d80 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -10,7 +10,7 @@ with stdenv.lib;
 
 let
 
-  versionNumber = "319.60";
+  versionNumber = "331.20";
 
 in
 
@@ -19,21 +19,16 @@ stdenv.mkDerivation {
 
   builder = ./builder.sh;
 
-  patches =
-    [ ./version-test.patch ]
-    ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.11") ./nvidia-drivers-linux-3.11-incremental.patch
-    ;
-
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0kjidkwd2b5aik74663mxk3ffq4a3fmaybq2aq1lcbfhvvh49j6j";
+        sha256 = "0icpmfsppnsvk7vj0fshi3ry4s1wix435s2c8wwak47765fv1mks";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0fhrxcfsw2jaycnz9gr04c9w585wydx8kpm6rjjbw19wkf8hlq3z";
+        sha256 = "02503dis3ngraqv7174a4pay2x08hp697n9q74rpjjclf5k74ax1";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
@@ -58,5 +53,7 @@ stdenv.mkDerivation {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "X.org driver and kernel module for NVIDIA graphics cards";
     license = stdenv.lib.licenses.unfreeRedistributable;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
deleted file mode 100644
index bb6fad932e3c..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001
-From: Lukas Elsner <open@mindrunner.de>
-Date: Wed, 17 Jul 2013 01:16:04 +0200
-Subject: [PATCH] replace num_physpages with totalram_pages
-
----
- kernel/nv-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
-index 4e5ed89..46c51ec 100644
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info)
- #endif
- 
- #if !defined(NV_VMWARE)
--#define NV_NUM_PHYSPAGES                num_physpages
-+#define NV_NUM_PHYSPAGES                totalram_pages
- #define NV_GET_CURRENT_PROCESS()        current->tgid
- #define NV_IN_ATOMIC()                  in_atomic()
- #define NV_LOCAL_BH_DISABLE()           local_bh_disable()
--- 
-1.8.3.2
-
diff --git a/pkgs/os-specific/linux/nvidia-x11/version-test.patch b/pkgs/os-specific/linux/nvidia-x11/version-test.patch
deleted file mode 100644
index 9b6908ee5c0a..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/version-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh NVIDIA-patched/kernel/conftest.sh
---- NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh	2013-01-14 18:11:17.000000000 -0430
-+++ NVIDIA-patched/kernel/conftest.sh	2013-02-05 14:44:50.757999124 -0430
-@@ -1699,11 +1699,13 @@
-                 # kernel older than 2.6.6, that's all we require to
-                 # build the module.
-                 #
-+                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
-                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--                if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
--                        -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
-+                if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" \
-+                     -a "$VERSION" -ge 3 -o "$VERSION" -eq 2 -a "$PATCHLEVEL" -ge 7 \
-+                     -o "$PATCHLEVEL" -eq 6 -a "$SUBLEVEL" -ge 6 ]; then 
-                     SELECTED_MAKEFILE=Makefile.kbuild
-                     RET=0
-                 fi
diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix
index e49525a42bfc..5c7e704390b5 100644
--- a/pkgs/os-specific/linux/policycoreutils/default.nix
+++ b/pkgs/os-specific/linux/policycoreutils/default.nix
@@ -1,23 +1,24 @@
 { stdenv, fetchurl, intltool, pcre, libcap_ng, libcgroup
-, libsepol, libselinux, libsemanage
+, libsepol, libselinux, libsemanage, setools
 , python, sepolgen }:
 stdenv.mkDerivation rec {
 
   name = "policycoreutils-${version}";
-  version = "2.1.13";
+  version = "2.2.4";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
-    sha256 = "1145nbpwndmhma08vvj1j75bjd8xhjal0vjpazlrw78iyc30y11l";
+    sha256 = "08zpd2a2j45j1qkmq9sz084r2xr0fky1cnld45sn8w5xgdw8k81n";
   };
 
   patchPhase = ''
     substituteInPlace po/Makefile --replace /usr/bin/install install
+    find . -type f -exec sed -i 's,/usr/bin/python,${python}/bin/python,' {} \;
   '';
 
   buildInputs = [ intltool pcre libcap_ng libcgroup
-    libsepol libselinux  libsemanage
+    libsepol libselinux libsemanage setools
     python sepolgen # ToDo? these are optional
   ];
 
@@ -25,6 +26,11 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib" && cp -s "${libsepol}/lib/libsepol.a" "$out/lib"
   '';
 
+  # Creation of the system-config-selinux directory is broken
+  preInstall = ''
+    mkdir -p $out/share/system-config-selinux
+  '';
+
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   NIX_LDFLAGS = "-lsepol -lpcre";
 
diff --git a/pkgs/os-specific/linux/sepolgen/default.nix b/pkgs/os-specific/linux/sepolgen/default.nix
index 7139ec98c285..812b100699f7 100644
--- a/pkgs/os-specific/linux/sepolgen/default.nix
+++ b/pkgs/os-specific/linux/sepolgen/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "sepolgen-${version}";
-  version = "1.1.8";
+  version = "1.2.1";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/sepolgen-${version}.tar.gz";
-    sha256 = "1sssc9d4wz7l23yczlzplsmdr891sqr9w34ccn1bfwlnc4q63xdm";
+    sha256 = "1c41hz4a64mjvbfhgc7c7plydahsc161z0qn46qz2g3bvimj9323";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out) PYTHONLIBDIR=lib/${python.libPrefix}/site-packages";
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
new file mode 100644
index 000000000000..c95d27005efb
--- /dev/null
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, bison, flex
+, python, swig2, tcl, libsepol, libselinux, libxml2, sqlite, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "setools-3.3.8";
+
+  src = fetchurl {
+    url = "http://oss.tresys.com/projects/setools/chrome/site/dists/${name}/${name}.tar.bz2";
+    sha256 = "16g987ijaxabc30zyjzia4nafq49rm038y1pm4vca7i3kb67wf24";
+  };
+
+  # SWIG-TCL is broken in 3.3.8
+  configureFlags = ''
+    --with-tcl=${tcl}/lib
+    --with-sepol-devel=${libsepol}
+    --with-selinux-devel=${libselinux}
+    --disable-gui
+    --disable-swig-tcl
+  '';
+
+  buildInputs = [ autoreconfHook pkgconfig bison flex python swig2 ];
+
+  nativeBuildInputs = [ tcl libsepol libselinux libxml2 sqlite bzip2 ];
+
+  meta = {
+    description = "SELinux Tools";
+    homepage = "http://oss.tresys.com/projects/setools/";
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index d5dc292ac339..cba4a510ff06 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -6,11 +6,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.9.19";
+  name = "upower-0.9.23";
 
   src = fetchurl {
     url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "053yahks5c7nwdxwx8q6nqp3mxbqldmc844mzyvc3ws9635zmisl";
+    sha256 = "06wqhab2mn0j4biiwh7mn4kxbxnfnzjkxvhpgvnlpaz9m2q54cj3";
   };
 
   buildInputs =
@@ -19,14 +19,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  configureFlags =
-    [ "--with-backend=linux" "--localstatedir=/var" ]
-    ++ stdenv.lib.optional useSystemd
-    [ "--enable-systemd"
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
-    ];
-
   preConfigure =
     ''
       substituteInPlace src/linux/up-backend.c \
@@ -36,6 +28,17 @@ stdenv.mkDerivation rec {
         --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send
     '';
 
+  configureFlags =
+    [ "--with-backend=linux" "--localstatedir=/var"
+      "--enable-deprecated" # needed for Xfce (Nov 2013)
+    ]
+    ++ stdenv.lib.optional useSystemd
+    [ "--enable-systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-udevrulesdir=$(out)/lib/udev/rules.d"
+    ];
+
   NIX_CFLAGS_LINK = "-lgcc_s";
 
   installFlags = "historydir=$(TMPDIR)/foo";
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index d42424e6fc86..3f676d37dd87 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }:
-
+let
+  ver = "2.24";
+in
 stdenv.mkDerivation rec {
-  name = "util-linux-2.22.2";
+  name = "util-linux-${ver}";
 
   src = fetchurl {
-    url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.22/${name}.tar.bz2";
-    sha256 = "0vf3ifb45gr4cd27pmmxk8y5b3r0920mv16fv0vfwz5705xa2qvl";
+    url = "http://www.kernel.org/pub/linux/utils/util-linux/v${ver}/${name}.tar.bz2";
+    sha256 = "1nfnymj03rdcxjb677a9qq1zirppr8csh32cb85qm23x5xndi6v3";
   };
 
   crossAttrs = {
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 698a7ab4ec88..4c6045e1a6cb 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     homepage = http://dev.gentoo.org/~spock/projects/uvesafb/;
     license = "BSD";
     platforms = [ "i686-linux" "x86_64-linux" ];
+    broken = true;
   };
 }
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 29591bf0335c..59a3c51c4d6e 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Qt-based GUI for wpa_supplicant";
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/beanstalkd/default.nix b/pkgs/servers/beanstalkd/default.nix
new file mode 100644
index 000000000000..717ea6306cff
--- /dev/null
+++ b/pkgs/servers/beanstalkd/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  version = "1.9";
+  name = "beanstalkd-${version}";
+
+  installPhase=''make install "PREFIX=$out"'';
+
+  src = fetchurl {
+    url = "https://github.com/kr/beanstalkd/archive/v${version}.tar.gz";
+    sha256 = "158e6d6090c0afac7ee17b9f22713506b3e870dc04a738517282e2e262afb9eb";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://kr.github.io/beanstalkd/;
+    description = "Beanstalk is a simple, fast work queue.";
+    license = licenses.mit;
+    maintainers = [ maintainers.zimbatm ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index d711d8a75ca5..ca4980f5a6c4 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, libtool, gettext, zlib, readline, gsasl
-, guile, python, pcre }:
+, guile, python, pcre, libffi }:
 
 stdenv.mkDerivation rec {
   name = "dico-2.2";
@@ -10,12 +10,22 @@ stdenv.mkDerivation rec {
   };
 
   # XXX: Add support for GNU SASL.
-  buildInputs = [ libtool gettext zlib readline gsasl guile python pcre ];
+  buildInputs =
+    [ libtool gettext zlib readline gsasl guile python pcre libffi ];
 
-  doCheck = true;
+  # dicod fails to load modules, so the tests fail
+  doCheck = false;
 
-  meta = {
+  preBuild = ''
+    sed -i -e '/gets is a security/d' gnu/stdio.in.h
+  '';
+
+  meta = with stdenv.lib; {
     description = "GNU Dico, a flexible dictionary server and client implementing RFC 2229";
+    homepage    = http://www.gnu.org/software/dico/;
+    license     = "GPLv3+";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
 
     longDescription = ''
       GNU Dico is a flexible modular implementation of DICT server
@@ -36,9 +46,5 @@ stdenv.mkDerivation rec {
       The package also includes a console client program for querying
       remote dictionary servers.
     '';
-
-    homepage = http://www.gnu.org/software/dico/;
-
-    license = "GPLv3+";
   };
 }
diff --git a/pkgs/servers/evolution-data-server/default.nix b/pkgs/servers/evolution-data-server/default.nix
index 364bb55a5ee9..3a905a82db8b 100644
--- a/pkgs/servers/evolution-data-server/default.nix
+++ b/pkgs/servers/evolution-data-server/default.nix
@@ -46,6 +46,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix
index 39b78958b031..3b9b32898e2f 100644
--- a/pkgs/servers/ftp/vsftpd/default.nix
+++ b/pkgs/servers/ftp/vsftpd/default.nix
@@ -1,23 +1,29 @@
 { stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "vsftpd-3.0.2";
-  
+
   src = fetchurl {
     url = "https://security.appspot.com/downloads/${name}.tar.gz";
     sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy";
   };
 
+  preConfigure = stdenv.lib.optionalString sslEnable ''
+    echo "Will enable SSL"
+    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
+  '';
+
   # The gcc-wrappers use -idirafter for glibc, and vsftpd also, and
   # their dummyinc come before those of glibc, then the build works bad.
   prePatch = ''
     sed -i -e 's/-idirafter.*//' Makefile
   '';
-  
-  preBuild = let
-      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto " else "";
+
+  preBuild =
+    let
+      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto" else "";
     in ''
-      makeFlagsArray=( "LIBS=${sslLibs}-lpam -lcap -fstack-protector" )
+      makeFlagsArray=( "LIBS=${sslLibs} -lpam -lcap -fstack-protector" )
     '';
 
   # It won't link without this flag, used in CFLAGS
@@ -35,11 +41,4 @@ stdenv.mkDerivation (rec {
     mkdir -pv $out/etc/xinetd.d
     install -v -m 644 xinetd.d/vsftpd $out/etc/xinetd.d/vsftpd
   '';
-} // (if sslEnable then {
-  preConfigure = ''
-    echo "Will enable SSL"
-    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
-  '';
-
-} else { })
-)
+}
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 25051167ca51..4536cb94de71 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -4,11 +4,11 @@
 , libxslt, xmlto, gpsdUser ? "gpsd" }:
 
 stdenv.mkDerivation rec {
-  name = "gpsd-2.95";
+  name = "gpsd-3.10";
 
   src = fetchurl {
     url = "http://download.berlios.de/gpsd/${name}.tar.gz";
-    sha256 = "1bjhyjg561kwp6zc2wg58njdvpnsj5yaa2slz8g3ga1176jl68w3";
+    sha256 = "10sqhg4x7hb4vnpq5dnhg62vb5nb3dmqqnbhwjrj5kx7n63jw4h4";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index e9b1dba22e15..c91d6bbf761a 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ simons lovek323 ];
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index bbf84a852b8f..9e687e9c843a 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.4";
+  version = "2.4.6";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0p35jy6mkb1q48bia719qxs5bwxv0wadyhxi61rsr93nrbgbvalj";
+    sha1 = "16d8ec72535ded65d035122b0d944b0e64eaa2a2";
   };
 
   buildInputs = [perl] ++
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with maintainers; [ lovek323 simons ];
   };
 }
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index 6ca5caba9440..f42ae81a700d 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -105,8 +105,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      []; # Builder is just unpacking/mixing what is needed
+    hydraPlatforms = []; # Builder is just unpacking/mixing what is needed
     license = "free"; # mix of packages under different licenses
     homepage = "http://openjena.org/";
   };
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 61070ef22b6e..0da9f05901db 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -4,12 +4,12 @@
 
 assert enableMagnet -> lua5 != null;
 
-stdenv.mkDerivation {
-  name = "lighttpd-1.4.32";
+stdenv.mkDerivation rec {
+  name = "lighttpd-1.4.33";
 
   src = fetchurl {
-    url = http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.32.tar.xz;
-    sha256 = "1hgd9bi4mrak732h57na89lqg58b1kkchnddij9gawffd40ghs0k";
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
+    sha256 = "0331671snhhf48qb43mfb6l85v2rc3ryd3qvz56s8z454gfax1i8";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
     homepage = http://www.lighttpd.net/;
     license = "BSD";
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 28390aa38da0..86b22ab5a18c 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,6 +1,21 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }:
+{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
+, rtmp ? false
+, fullWebDAV ? false
+, syslog ? false}:
 
 let
+  version = "1.4.4";
+  mainSrc = fetchurl {
+    url = "http://nginx.org/download/nginx-${version}.tar.gz";
+    sha256 = "1f82845mpgmhvm151fhn2cnqjggw9w7cvsqbva9rb320wmc9m63w";
+  };
+
+  rtmp-ext = fetchgit {
+    url = git://github.com/arut/nginx-rtmp-module.git;
+    rev = "1cfb7aeb582789f3b15a03da5b662d1811e2a3f1";
+    sha256 = "03ikfd2l8mzsjwx896l07rdrw5jn7jjfdiyl572yb9jfrnk48fwi";
+  };
+
   dav-ext = fetchgit {
     url = git://github.com/arut/nginx-dav-ext-module.git;
     rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d";
@@ -15,14 +30,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "nginx-${meta.version}";
-
-  src = fetchurl {
-    url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "116yfy0k65mwxdkld0w7c3gly77jdqlvga5hpbsw79i3r62kh4mf";
-  };
+  name = "nginx-${version}";
+  src = mainSrc;
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
+  buildInputs = [ openssl zlib pcre libxml2 libxslt
+    ] ++ stdenv.lib.optional fullWebDAV expat;
 
   patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else [];
 
@@ -35,7 +47,8 @@ stdenv.mkDerivation rec {
     "--with-http_secure_link_module"
     # Install destination problems
     # "--with-http_perl_module"
-  ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"
+  ] ++ stdenv.lib.optional rtmp "--add-module=${rtmp-ext}"
+    ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"
     ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}";
 
   preConfigure = ''
@@ -50,6 +63,6 @@ stdenv.mkDerivation rec {
     description = "A reverse proxy and lightweight webserver";
     maintainers = [ stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.all;
-    version = "1.4.3";
+    inherit version;
   };
 }
diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/default.upstream
index f6a12eedda42..c20139017436 100644
--- a/pkgs/servers/http/nginx/default.upstream
+++ b/pkgs/servers/http/nginx/default.upstream
@@ -4,5 +4,5 @@ version_link '.*-([0-9]+[.][0-9]*[02468]([.][0-9]+)*)[.]tar[.][a-z0-9]*$'
 do_overwrite() {
   ensure_hash
   set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH" 2
+  set_var_value sha256 "$CURRENT_HASH"
 }
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index 79393a5d7cf9..d8304ba4dbee 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "6.0.32"; in
+let version = "6.0.37"; in
 
 stdenv.mkDerivation rec {
   name = "apache-tomcat-${version}";
 
   src = fetchurl {
     url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
-    sha256 = "505e649d1ffcf746e66be8295c8244a2949349dedf678e9f2a659c4736968c5e";
+    sha256 = "000v63amhbyp8nkw3a4pff1vm4nxri5n9j7rknhnqaxzab3sp49y";
   };
 
   installPhase =
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 7828cf843982..933df2d0e360 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "1.95";
+  version = "1.98";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "01jlp6v8l95n9k5rbp4kvklnh95q7yv9lp2a6ahyixb1cn1sxvz4";
+    sha256 = "0c88da7gxha7an3c82j5a3r1y0j7cjq66zqfrzjihg8pwp618zfl";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://http://yaws.hyber.org;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu the-kenny ];
   };
 
 }
diff --git a/pkgs/servers/monitoring/nagios/plugins/official/default.nix b/pkgs/servers/monitoring/nagios/plugins/official/default.nix
index 29eb7bbb7a08..29b1a1db5af0 100644
--- a/pkgs/servers/monitoring/nagios/plugins/official/default.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/official/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "nagios-plugins-1.4.10";
 
   src = fetchurl {
-    url = mirror://sourceforge/nagiosplug/nagios-plugins-1.4.10.tar.gz;
+    url = https://www.nagios-plugins.org/download/nagios-plugins-1.4.10.tar.gz;
     sha256 = "0vm7sjiygxbfc5vbsi1g0dakpvynfzi86fhqx4yxd61brn0g8ghr";
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 1386e1609eb9..f4fde2dadefd 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -81,7 +81,7 @@ in
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index b106921cdf69..22c10a6e972f 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -62,7 +62,7 @@ in
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 238176aadff9..3b0069b8118a 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -27,10 +27,10 @@ let
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.17.4";
+  name = "mpd-0.18.5";
   src = fetchurl {
-    url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
-    sha256 = "06diyprg65xx0c0bgxdwlgrc5bhwy6cf39rabwnv9ikhimh94ir3";
+    url    = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
+    sha256 = "1jhkpbwjmzicnkjl8nsfjdgsvqvkcdjm497rl081sy8mq1jzr80c";
   };
 
   buildInputs = [ pkgconfig glib ]
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 11dff3244208..6956271e992c 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }:
 
-let version = "2.4.5"; in stdenv.mkDerivation rec {
+let version = "2.4.8"; in stdenv.mkDerivation rec {
   name = "mongodb-${version}";
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "01c7lb3jdr51gy7459vg5rg002xxg0mj79vlhy54n50kr31cnxmm";
+    sha256 = "1p6gnharypglfp39halp72fig96fqjhakyy7m76a1prxwpjkqw7x";
   };
 
   nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ];
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 247628c30a62..462ecadd346d 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -40,8 +40,7 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
-    ];
+    maintainers = stdenv.lib.maintainers.z77z;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/polipo/default.nix b/pkgs/servers/polipo/default.nix
index 80865478746f..3e49715b94d1 100644
--- a/pkgs/servers/polipo/default.nix
+++ b/pkgs/servers/polipo/default.nix
@@ -2,11 +2,11 @@
 stdenv.mkDerivation rec {
 
   name = "polipo-${version}";
-  version = "1.0.4";
+  version = "1.0.4.1";
 
   src = fetchurl {
     url = "http://freehaven.net/~chrisd/polipo/${name}.tar.gz";
-    sha256 = "0dh4kjj6vfb75nxv7q3y2kvxsq8cwrd8svsrypa810jln8x8lign";
+    sha256 = "1ykwkyvmdw6fsaj2hc40971pkwf60hvi9c43whijim00qvgbyvwd";
   };
 
   buildInputs = [ texinfo ];
diff --git a/pkgs/servers/radius/default.nix b/pkgs/servers/radius/default.nix
index 5533469a1da1..dcd577bb6cb7 100644
--- a/pkgs/servers/radius/default.nix
+++ b/pkgs/servers/radius/default.nix
@@ -29,5 +29,7 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
+
+    broken = true;
   };
 }
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 568daf36773f..5ef4ac5140ee 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -18,11 +18,11 @@
 assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "samba-3.6.18";
+  name = "samba-3.6.20";
 
   src = fetchurl {
     url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "14lrb7724952wyc1sah4nsngd6cv8x8y96cm7f3awzjnfyxajwbd";
+    sha256 = "03rs02743slfbfws9rl053z5m520rbd31z9qr76r1j06bjkdmdaz";
   };
 
   buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index 46b7e7ff3c57..eb6a2714eb2c 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "world" ];
 
+  patches = [ ./disable-resolve_symlinks.patch ];
+
   installTargets = [ "install-world" ];
 
   LC_ALL = "C";
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
new file mode 100644
index 000000000000..3e6fd5e838a2
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
@@ -0,0 +1,14 @@
+diff --git a/src/port/exec.c b/src/port/exec.c
+index c79e8ba..42c4091 100644
+--- a/src/port/exec.c
++++ b/src/port/exec.c
+@@ -216,6 +216,9 @@ find_my_exec(const char *argv0, char *retpath)
+ static int
+ resolve_symlinks(char *path)
+ {
++    // On NixOS we *want* stuff relative to symlinks.
++    return 0;
++
+ #ifdef HAVE_READLINK
+ 	struct stat buf;
+ 	char		orig_wd[MAXPGPATH],
diff --git a/pkgs/servers/sql/virtuoso/6.x.nix b/pkgs/servers/sql/virtuoso/6.x.nix
index 9453b8d2cdb2..83ad717c0d3c 100644
--- a/pkgs/servers/sql/virtuoso/6.x.nix
+++ b/pkgs/servers/sql/virtuoso/6.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxml2, openssl, readline, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "virtuoso-opensource-6.1.6";
+  name = "virtuoso-opensource-6.1.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
-    sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6";
+    sha256 = "0zxaf6i93jnh9lmgxxlb3jddp9ianil0szazfb6mrnqh13liwb68";
   };
 
   buildInputs = [ libxml2 openssl readline gawk ];
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index 22aba3e156ff..a94c05d5627e 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -22,10 +22,10 @@ rec {
   };
 
   squid31 = squid30.merge {
-    name = "squid-3.1.15";
+    name = "squid-3.1.23";
     src = args.fetchurl {
-      url = http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.15.tar.bz2;
-      sha256 = "1300f44dd4783697bacc262a7a9b32dbc9f550367fe82b70262864fdff715a35";
+      url = http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.23.tar.bz2;
+      sha256 = "13g4y0gg48xnlzrvpymb08gh25xi50y383faapkxws7i7v94305s";
     };
   };
 
diff --git a/pkgs/servers/varnish/2.1.nix b/pkgs/servers/varnish/2.1.nix
new file mode 100644
index 000000000000..ef1b177054f6
--- /dev/null
+++ b/pkgs/servers/varnish/2.1.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.5";
+  name = "varnish-${version}";
+
+  src = fetchurl {
+    url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
+    sha256 = "10zgwn482gfmfb7n6xwi7p841bs3j58jnk55wg83b85d2jz4k01d";
+  };
+
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
+
+  meta = {
+    description = "Web application accelerator also known as a caching HTTP reverse proxy";
+    homepage = "https://www.varnish-cache.org";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 8d0f3b306f26..8ff26a388088 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.3";
+  version = "3.0.5";
   name = "varnish-${version}";
 
   src = fetchurl {
     url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "1cla2igwfwcm07srvk0z9cqdxh74sga0c1rsmh4b4n1gjn6x2drd";
+    sha256 = "1dz2gazqczfzahh2n0aw71i5g9cpn5d98p9gj6ilqlkiqypxcbrh";
   };
 
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline ];
 
   meta = {
     description = "Web application accelerator also known as a caching HTTP reverse proxy";
diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix
index 720ccd10158d..bc1ebf4eb43e 100644
--- a/pkgs/servers/x11/xorg/unichrome/default.nix
+++ b/pkgs/servers/x11/xorg/unichrome/default.nix
@@ -4,7 +4,7 @@ xextproto, xf86driproto, xorgserver, xproto, libXvMC, glproto, mesa, automake,
 autoconf, libtool, libXext, utilmacros, pixman}:
 
 stdenv.mkDerivation {
-  name = "xf86-video-unichrome-git";
+  name = "xf86-video-unichrome";
   src = fetchgit {
     url = "git://people.freedesktop.org/~libv/xf86-video-unichrome";
     md5 = "6e5e0f8ee204af2385a02e502d1ca8f1";
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
     license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 788fe0d6ccb2..f15705d4a113 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, expat, erlang, zlib, openssl, pam, lib}:
 
 stdenv.mkDerivation rec {
-  version = "2.1.10";
-  name = "ejabberd-2.1.10";
+  version = "2.1.13";
+  name = "ejabberd-${version}";
   src = fetchurl {
-    url = http://www.process-one.net/downloads/ejabberd/2.1.10/ejabberd-2.1.10.tar.gz;
-    sha256 = "1gijv6d90w9fq0as2l0mp0fn65jihgd86nxry98pv6liks4fbhlx";
+    url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
+    sha256 = "0vf8mfrx7vr3c5h3nfp3qcgwf2kmzq20rjv1h9sk3nimwir1q3d8";
   };
   buildInputs = [ expat erlang zlib openssl pam ];
   patchPhase = ''
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
   '';
   preConfigure = ''
     cd src
-  '';  
+  '';
   configureFlags = ["--enable-pam"];
-  
+
   meta = {
     description = "Open-source XMPP application server written in Erlang";
     license = "GPLv2";
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 7beca2109ea6..27f2b032476e 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf, ncurses, which, groff, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "fish-2.0.0";
+  name = "fish-2.1.0";
 
   src = fetchurl {
-    url = http://fishshell.com/files/2.0.0/fish-2.0.0.tar.gz;
-    sha1 = "2d28553e2ff975f8e5fed6b266f7a940493b6636";
+    url = http://fishshell.com/files/2.1.0/fish-2.1.0.tar.gz;
+    sha1 = "b1764cba540055cb8e2a96a7ea4c844b04a32522";
   };
 
   nativeBuildInputs = [ autoconf ];
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     homepage = http://fishshell.com/;
     license = licenses.gpl2;
     platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 638602920118..4a36327810b0 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -18,6 +18,10 @@ let
 
   allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
 
+  allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+
+  unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
+
   stdenvGenerator = setupScript: rec {
 
     # The stdenv that we are producing.
@@ -49,8 +53,20 @@ let
         # Add a utility function to produce derivations that use this
         # stdenv and its shell.
         mkDerivation = attrs:
+          let
+            pos =
+              if attrs.meta.description or null != null then
+                unsafeGetAttrPos "description" attrs.meta
+              else
+                unsafeGetAttrPos "name" attrs;
+            pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»";
+          in
           if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
-            throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
+            throw "package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate"
+          else if !allowBroken && attrs.meta.broken or false then
+            throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken"
+          else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
+            throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’"
           else
             lib.addPassthru (derivation (
               (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
@@ -83,8 +99,11 @@ let
               # but it's not part of the actual derivation, i.e., it's not
               # passed to the builder and is not a dependency.  But since we
               # include it in the result, it *is* available to nix-env for
-              # queries.
-              meta = attrs.meta or {};
+              # queries.  We also a meta.position attribute here to
+              # identify the source location of the package.
+              meta = attrs.meta or {} // (if pos != null then {
+                position = pos.file + ":" + (toString pos.line);
+              } else {});
               passthru = attrs.passthru or {};
             } //
             # Pass through extra attributes that are not inputs, but
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 23b0aaa55e8e..8acb11833da5 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     substituteInPlace x11vnc/unixpw.c \
         --replace '"/bin/su"' '"/var/setuid-wrappers/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
-        
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
+
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
   '';
 
   meta = {
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 1fda870d5fbb..44a421e2ba3d 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,17 +1,17 @@
 x@{builderDefsPackage
   , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
-  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefox36Pkgs
+  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs
   , kbproto, libX11, libXext, xextproto, pygobject, libgcrypt
   , ...}:
 builderDefsPackage
 (a :  
 let 
   helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["perlPackages" "firefox36Pkgs"];
+    ["perlPackages" "firefoxPkgs"];
 
   buildInputs = (map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [perlPackages.TextCSV firefox36Pkgs.xulrunner ];
+    ++ [perlPackages.TextCSV firefoxPkgs.xulrunner ];
   sourceInfo = rec {
     baseName="gtk-vnc";
     majorVersion="0.4";
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index e683df5a7fe1..54b089bd08e9 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -3,14 +3,16 @@
 
 assert par2Support -> par2cmdline != null;
 
+let rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58"; in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "bup-0.25-rc1-107-g96c6fa2";
+  name = "bup-0.25-rc1-107-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "https://github.com/bup/bup.git";
-    rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58";
+    inherit rev;
     sha256 = "0d9hgyh1g5qcpdvnqv3a5zy67x79yx9qx557rxrnxyzqckp9v75n";
   };
 
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 6d1f863fdeaa..81be62b5159a 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -69,6 +69,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.bsd3;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
new file mode 100644
index 000000000000..31b1471fb7fc
--- /dev/null
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }:
+let
+  p = if stdenv.is64bit then {
+      arch = "x86_64";
+      gcclib = "${stdenv.gcc.gcc}/lib64";
+      sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim";
+    }
+    else {
+      arch = "i386";
+      gcclib = "${stdenv.gcc.gcc}/lib";
+      sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f";
+    };
+in 
+stdenv.mkDerivation rec {
+
+  name = "yandex-disk-0.1.2.481";
+
+  src = fetchurl {
+    url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
+    sha256 = p.sha256;
+  };
+
+  builder = writeText "builder.sh" ''
+    . $stdenv/setup
+    mkdir -pv $out/bin
+    mkdir -pv $out/share
+    mkdir -pv $out/etc
+
+    mkdir -pv unpacked
+    cd unpacked
+    ${rpm}/bin/rpm2cpio $src | ${cpio}/bin/cpio -imd
+
+    cp -r -t $out/bin usr/bin/*
+    cp -r -t $out/share usr/share/*
+    cp -r -t $out/etc etc/*
+
+    sed -i 's@have@${which}/bin/which >/dev/null 2>&1@' \
+      $out/etc/bash_completion.d/yandex-disk-completion.bash
+
+    ${patchelf}/bin/patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath "${zlib}/lib:${p.gcclib}" \
+      $out/bin/yandex-disk
+  '';
+
+  meta = {
+    homepage = http://help.yandex.com/disk/cli-clients.xml;
+    description = "Yandex.Disk is a free cloud file storage service";
+    maintainers = with stdenv.lib.maintainers; [smironov];
+    platforms = ["i686-linux" "x86_64-linux"];
+    license = stdenv.lib.licenses.unfree;
+  };
+}
+
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 959241d30abf..5df814530a11 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, libjpeg, lcms, gettext }:
+{stdenv, fetchurl, libjpeg, lcms, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.04";
+  name = "dcraw-9.19";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "1i9w35pldyzp5xjjcy20rps7p9wkxs6vj4wz43vhfyda93nij4y0";
+    sha256 = "0x2qjavfp97vadw29d384sb887wgpfki4sl00p5lximf0a7fa0dv";
   };
 
-  buildInputs = [ libjpeg lcms gettext ];
+  buildInputs = [ libjpeg lcms gettext jasper ];
 
   patchPhase = ''
     sed -i -e s@/usr/local@$out@ install
@@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     mkdir -p $out/bin
-    set +e
     sh install
-    set -e
   '';
 
   meta = {
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index c1aebd3dfe1a..0ef70a197d6f 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
       interfaces for other technical domains.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
   };
 }
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index 60301b9b164e..7b5f16c502d1 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.50";
+  name = "pngcrush-1.7.69";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "1xabqjgvwsyazs0hw7bzzm256zbd7v33alwzp0lbawm521m3m651";
+    sha256 = "0j9nis6513hxd6klcv5559rwnfg7kawp2vqd4qgc1ax6wyvga4mw";
   };
 
   configurePhase = ''
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "A PNG optimizer";
     license = "free";
     platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index d02b38b41279..23c5ec11aaad 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -46,8 +46,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "free-noncopyleft";
   };
   passthru = {
diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix
index f23bd8993cff..3d9287a9b8c2 100644
--- a/pkgs/tools/misc/bogofilter/default.nix
+++ b/pkgs/tools/misc/bogofilter/default.nix
@@ -1,10 +1,10 @@
 {fetchurl, stdenv, flex, bdb}:
 
 stdenv.mkDerivation rec {
-  name = "bogofilter-1.1.6";
+  name = "bogofilter-1.1.7";
   src = fetchurl {
     url = "mirror://sourceforge/bogofilter/${name}.tar.bz2";
-    sha256 = "11pbhw6cc2yjdgl7nq771mrcv0z19al8jvassxnvbw4pvr5kzn9j";
+    sha256 = "0ahi3pxv9v6yjjpfyr0x7fch4c4jdikshrcx86q0j8s2rhv94snm";
   };
 
   # FIXME: We would need `pax' as a "propagated build input" (for use
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
new file mode 100644
index 000000000000..5588fe3d647f
--- /dev/null
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, go }:
+
+let
+  version = "2.1.0";
+in
+stdenv.mkDerivation {
+  name = "direnv-${version}";
+  src = fetchurl {
+    url = "http://github.com/zimbatm/direnv/archive/v${version}.tar.gz";
+    name = "direnv-${version}.tar.gz";
+    sha256 = "4dad14e53aa5a20fd11cdbb907c19a05f16464172af302981adb410bd691cefe";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = "make";
+  installPhase = "make install DESTDIR=$out";
+
+  meta = {
+    description = "a shell extension that manages your environment";
+    longDescription = ''
+      Once hooked into your shell direnv is looking for an .envrc file in your
+      current directory before every prompt.
+
+      If found it will load the exported environment variables from that bash
+      script into your current environment, and unload them if the .envrc is
+      not reachable from the current path anymore.
+
+      In short, this little tool allows you to have project-specific
+      environment variables.
+    '';
+    homepage = http://direnv.net;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.zimbatm ];
+  };
+}
diff --git a/pkgs/tools/misc/g500-control/default.nix b/pkgs/tools/misc/g500-control/default.nix
index adccde71c46d..9d42c7d68d53 100644
--- a/pkgs/tools/misc/g500-control/default.nix
+++ b/pkgs/tools/misc/g500-control/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, coreutils}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "g500-control-0.0.1";
 
   src = fetchurl {
@@ -8,10 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1xlg9lpxnk3228k81y1i6jjh4df1p4jh64g54w969g6a6v6dazvb";
   };
 
-  buildInputs = [ coreutils ];
-  
   unpackPhase = ''
-    mkdir -pv g500-control
+    mkdir -p g500-control
     tar -C g500-control/ -xf $src
   '';
 
@@ -21,15 +19,16 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -pv $out/bin/
+    mkdir -p $out/bin/
     cp g500-control $out/bin/
   '';
-  
+
   meta = {
     homepage = http://code.google.com/p/g500-control/;
     description = "Configure Logitech G500's internal profile under Linux";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
 
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 9e8b1f9e3224..00d2f759be4f 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     parted gtk glib intltool gettext libuuid pkgconfig gtkmm libxml2
   ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     description = "Graphical disk partitioning tool";
     homepage = http://gparted.sourceforge.net;
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 881c65ef74b6..2c2a547f2fdc 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, coreutils, openssh, gnupg
+, procps, gnugrep, gawk, findutils, gnused }:
 
 stdenv.mkDerivation {
   name = "keychain-2.7.1";
@@ -8,13 +9,23 @@ stdenv.mkDerivation {
     sha256 = "14ai6wjwnj09xnl81ar2dlr5kwb8y1k5ck6nc549shpng0zzw1qi";
   };
 
-  phases = "unpackPhase buildPhase";
+  phases = [ "unpackPhase" "buildPhase" ];
 
-  buildPhase =
-    ''
-      mkdir -p $out/bin
-      cp keychain $out/bin
-    '';
+  buildInputs = [ makeWrapper ];
+
+  buildPhase = ''
+    mkdir -p $out/bin
+    cp keychain $out/bin
+    wrapProgram $out/bin/keychain \
+      --prefix PATH ":" "${coreutils}/bin" \
+      --prefix PATH ":" "${openssh}/bin" \
+      --prefix PATH ":" "${gnupg}/bin" \
+      --prefix PATH ":" "${gnugrep}/bin" \
+      --prefix PATH ":" "${gnused}/bin" \
+      --prefix PATH ":" "${findutils}/bin" \
+      --prefix PATH ":" "${gawk}/bin" \
+      --prefix PATH ":" "${procps}/bin"
+  '';
 
   meta = { 
     description = "Keychain management tool";
diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix
new file mode 100644
index 000000000000..28d9b4863d4b
--- /dev/null
+++ b/pkgs/tools/misc/ldapvi/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, openldap, openssl, popt, glib, ncurses, readline, pkgconfig, cyrus_sasl, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "ldapvi-${version}";
+  version = "0lz1sb5r0y9ypy8d7hm0l2wfa8l69f8ll0i5c78c0apz40nyjqkg";
+
+  # use latest git, it includes some important patches since 2007 release
+  src = fetchgit {
+    url = "http://www.lichteblau.com/git/ldapvi.git";
+    sha256 = "3ef3103030ecb04d7fe80180e3fd490377cf81fb2af96782323fddabc3225030";
+  };
+
+  buildInputs = [ openldap openssl popt glib ncurses readline pkgconfig cyrus_sasl autoconf automake ];
+
+  setSourceRoot = ''
+    sourceRoot=git-export/ldapvi
+  '';
+ 
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "ldapvi is an interactive LDAP client for Unix terminals. Using it, you can update LDAP entries with a text editor";
+    homepage = http://www.lichteblau.com/ldapvi/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index 971c42aac71c..e517dba7c550 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -3,36 +3,43 @@
 let
   go-websocket = fetchgit {
     url = "git://github.com/garyburd/go-websocket";
-    rev = "refs/heads/master";
-    sha256 = "1e4fcff29c961cd7433ba1b655412d466edfeb1f0829b41f578764857bc801fe";
+    rev = "4bad98c955";
+    sha256 = "1zh1r1xqar47awgv8a883zmxyvj65m0mbdm17d1xf74nkkrcykqy";
   };
   go-metrics = fetchgit {
     url = "https://github.com/inconshreveable/go-metrics";
+    rev = "60ba4ca70c";
     sha256 = "3dc8c229ce5123d86269c0c48401a9cdd2cde7558d85374c9dbc4bbd531e86d5";
   };
   termbox-go = fetchgit {
     url = "https://github.com/nsf/termbox-go";
-    sha256 = "6b23e8eabb1c7a99dc8c5a7dd5ecb2c2ae736c7f54e485548d08ac337b3a0400";
+    rev = "cea198fce7";
+    sha256 = "bde4190ae83d5c5870b8e11e16387cf03f2d44a8369f94674d4b9d0960c40693";
   };
   go-bindata = fetchgit {
     url = "https://github.com/inconshreveable/go-bindata";
+    rev = "99016b3cc0";
     sha256 = "518a5b61cfbe58f8bc55bd6139adcd69997b6ba474536a70b538879aaf118578";
   };
   go-update = fetchgit {
     url = "https://github.com/inconshreveable/go-update";
+    rev = "3f04666667";
     sha256 = "34647689a50b9d12e85a280d9034cc1772079163481c4778ee4b3e6c4b41e2f4";
   };
   goyaml = fetchbzr {
     url = "https://launchpad.net/goyaml";
     sha256 = "03is37cgw62cha316xrs5h7q97im46ry5qldkfvbhimjq3ww0swj";
-    revision = "branch:lp:goyaml";
+    # Branch: "branch:lp:goyaml"
+    revision = 47;
   };
   log4go = fetchhg {
     url = "https://code.google.com/p/log4go/";
+    tag = "c3294304d93f";
     sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
   };
   osext = fetchhg {
     url = "https://bitbucket.org/kardianos/osext";
+    tag = "364fb57";
     sha256 = "1w9x2zj716agfd5x5497ajb9nz3ljar74768vjidsyly143vzjws";
   };
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index c2c0a5aa534f..7dd04d251202 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pam }:
+{ stdenv, fetchurl, ncurses, pam ? null }:
 
 stdenv.mkDerivation rec {
   name = "screen-4.0.3";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
-  buildInputs = [ ncurses pam ];
+  buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/smc/default.nix b/pkgs/tools/misc/smc/default.nix
new file mode 100644
index 000000000000..a12a40e8ed71
--- /dev/null
+++ b/pkgs/tools/misc/smc/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  name = "smc-6.3.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/smc/smc/6_3_0/smc_6_3_0.tgz";
+    sha256 = "0arzi8kc4vycp1ccf0v87p08cdpylwhx4za2pzvp08vkfwi8zc7z";
+  };
+
+  # Prebuilt Java package.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/smc"
+    mkdir -p "$out/share/smc/lib"
+    mkdir -p "$out/share/icons"
+    mkdir -p "$out/lib/java"
+
+    cp bin/Smc.jar "$out/lib/java/"
+    cp -r examples/ docs/ tools/ README.txt LICENSE.txt "$out/share/smc/"
+    cp -r lib/* "$out/share/smc/lib/"
+    cp misc/smc.ico "$out/share/icons/"
+
+    cat > "$out/bin/smc" << EOF
+    #!${stdenv.shell}
+    ${jre}/bin/java -jar "$out/lib/java/Smc.jar" "\$@"
+    EOF
+    chmod a+x "$out/bin/smc"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generate state machine code from text input (state diagram)";
+    longDescription = ''
+      SMC (State Machine Compiler) takes a text input file describing states,
+      events and actions of a state machine and generates source code that
+      implements the state machine.
+
+      SMC supports many target languages:
+      C, C++, DotNet, Groovy, java, Java, JavaScript, Lua, ObjC, Perl, Php,
+      Python, Ruby, Scala, Tcl.
+
+      SMC can also generate GraphViz state diagrams from the input file.
+    '';
+    homepage = http://smc.sourceforge.net/;
+    license = licenses.mpl11;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/ttmkfdir/default.nix b/pkgs/tools/misc/ttmkfdir/default.nix
index 12adb5318a89..3583b5b8f302 100644
--- a/pkgs/tools/misc/ttmkfdir/default.nix
+++ b/pkgs/tools/misc/ttmkfdir/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "ttf-mkfontdir-3.0.9-6";
 
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/t/ttmkfdir/ttmkfdir_3.0.9.orig.tar.gz;
+    url = http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9.orig.tar.gz;
     sha256 = "0n6bmmndmp4c1myisvv7cby559gzgvwsw4rfw065a3f92m87jxiq";
   };
     
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   # who knows more about C/C++ ..
   patches =
     [ (fetchurl {
-        url = http://ftp.de.debian.org/debian/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz;
+        url = http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz;
         sha256 = "141kxaf2by8nf87hqyszaxi0n7nnmswr1nh2i5r5bsvxxmaj9633";
       })
     
diff --git a/pkgs/tools/misc/w3c-css-validator/default.nix b/pkgs/tools/misc/w3c-css-validator/default.nix
index 5cfe87376388..f08fe87202f0 100644
--- a/pkgs/tools/misc/w3c-css-validator/default.nix
+++ b/pkgs/tools/misc/w3c-css-validator/default.nix
@@ -72,5 +72,6 @@ stdenv.mkDerivation {
     license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/misc/xmltv/default.nix b/pkgs/tools/misc/xmltv/default.nix
index 4b8ba43f597d..9d3939406066 100644
--- a/pkgs/tools/misc/xmltv/default.nix
+++ b/pkgs/tools/misc/xmltv/default.nix
@@ -12,4 +12,5 @@ import ../../../development/perl-modules/generic perl {
     perlPackages.DateManip perlPackages.HTMLTree perlPackages.HTMLParser
     perlPackages.HTMLTagset perlPackages.URI perlPackages.LWP
   ];
+  meta.broken = true;
 }
diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix
new file mode 100644
index 000000000000..d2e53d677e24
--- /dev/null
+++ b/pkgs/tools/networking/badvpn/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, cmake, openssl, nss, pkgconfig, nspr, bash}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="badvpn";
+    version="1.999.128";
+    name="${baseName}-${version}";
+    hash="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn";
+    url="http://badvpn.googlecode.com/files/badvpn-1.999.128.tar.bz2";
+    sha256="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn";
+  };
+  buildInputs = [
+    cmake openssl nss pkgconfig nspr
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  preConfigure = ''
+    find . -name '*.sh' -exec sed -e 's@#!/bin/sh@${stdenv.shell}@' -i '{}' ';'
+    find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
+  '';
+
+  meta = {
+    inherit (s) version;
+    description = ''A set of network-related (mostly VPN-related) tools'';
+    license = stdenv.lib.licenses.bsd3 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/badvpn/default.upstream b/pkgs/tools/networking/badvpn/default.upstream
new file mode 100644
index 000000000000..1c746698fefe
--- /dev/null
+++ b/pkgs/tools/networking/badvpn/default.upstream
@@ -0,0 +1,3 @@
+url http://gc.codehum.com/p/badvpn/downloads/list
+version_link '[.]tar[.][a-z0-9]+$'
+process 'gc.codehum.com//' ''
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index d15559961f6b..41eb1a8f77af 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -3,15 +3,17 @@
 assert stdenv.isLinux -> libcap != null;
 
 stdenv.mkDerivation rec {
-  name = "chrony-1.27";
+  name = "chrony-1.29";
   
   src = fetchurl {
     url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
-    sha256 = "17dfhcm5mrkg8ids0ajwscryr7fm7664kz10ygsa1ac047p3aj6l";
+    sha256 = "16ykdb8pnqcr30pdsaa6rabvsin2n858fmkzd81anqq6p9rg11f6";
   };
   
   buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap;
 
+  configureFlags = [ "--sysconfdir=\$(out)/etc" "--chronyvardir=\$(out)/var/lib/chrony" ];
+
   meta = with stdenv.lib; {
     description = "Sets your computer's clock from time servers on the Net";
     homepage = "http://chrony.tuxfamily.org/";
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index a76e351efc49..ffe22a93d0d4 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -4,7 +4,7 @@ let
   rev = "f7b02ac0cc";
 in
 stdenv.mkDerivation {
-  name = "cjdns-git-20130620-${rev}";
+  name = "cjdns-git-20130620-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "https://github.com/cjdelisle/cjdns.git";
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 9902c1f1238c..86f27d7460c1 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -13,11 +13,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.31.0";
+  name = "curl-7.33.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "021ygqk4gn24iqm0i0xvzldfgqdg18fmvwqia7i5vzzcxj712fx7";
+    sha256 = "1cyiali7jq613qz5zb28myhywrdi35dngniwvknmh9lyjk6y9z8a";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 22539657b1f1..0d50b1b2c0f3 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -8,7 +8,7 @@ buildPerlPackage {
     sha256 = "f22ac7b0ec78e310d7b88a1cf636e5c00360b2ed9c087f231b3522ef3e6295f2";
   };
 
-  buildInputs = [ perlPackages.IOSocketSSL ];
+  buildInputs = [ perlPackages.IOSocketSSL perlPackages.DigestSHA1 ];
 
   patches = [ ./ddclient-foreground.patch ];
 
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 20964213d539..7217d9871864 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.63";
+  name = "dnsmasq-2.67";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
-    sha256 = "043p8qjd1zx8bklcli9qnk3vzfz7j2kvl82abvipcg56qsyf71px";
+    sha256 = "0jkbn5j3jc96mw7w3nf9zfkl9l3183r4ls4ryi6mnd94c5xlrv4j";
   };
 
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 1d51c4864a18..933267eff23d 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -2,11 +2,11 @@
 sftpPath ? "/var/run/current-system/sw/libexec/sftp-server" }:
 
 stdenv.mkDerivation rec {
-  name = "dropbear-2013.58";
+  name = "dropbear-2013.60";
 
   src = fetchurl {
     url = "http://matt.ucc.asn.au/dropbear/releases/${name}.tar.bz2";
-    sha256 = "0m9fhabs78v35fhqmji5gkm66ahkyqbbdzmlmr9m7q8l3ndihrnq";
+    sha256 = "1fw1hrcavfqjmsn34dhkrzh8w06yfqvfss2rkvvnxnad7d2m432c";
   };
 
   dontDisableStatic = enableStatic;
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix
index 66f600f76784..2ee8a90cb4af 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "iperf-2.0.4";
+stdenv.mkDerivation rec {
+  name = "iperf-2.0.5";
 
   src = fetchurl {
-    url = mirror://sourceforge/iperf/iperf-2.0.4.tar.gz;
-    sha256 = "0i3r75prbyxs56rngjbrag8rg480ki3daaa924krrafng30z2liv";
+    url = "mirror://sourceforge/iperf/${name}.tar.gz";
+    sha256 = "0nr6c81x55ihs7ly2dwq19v9i1n6wiyad1gacw3aikii0kzlwsv3";
   };
 
-  meta = {
-    homepage = ""; 
-    description = "tool to measure IP bandwidth using UDP or TCP";
+  meta = with stdenv.lib; {
+    homepage = "http://sourceforge.net/projects/iperf/"; 
+    description = "Tool to measure IP bandwidth using UDP or TCP";
+    platforms = platforms.linux;
     license = "as-is";
   };
 }
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index 653bec897474..99793c139cbd 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 let
-  name = "nbd-3.4";
+  name = "nbd-3.5";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.bz2";
-    sha256 = "1krj185fagnqsqpcfig7zkqa3cqgyyn956241ix224wssvynsajm";
+    sha256 = "0frnbmdcm1b0nmmpvpwjb9h1yabdpwwd2l95056mhl2zaafh8gqx";
   };
 
   buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders;
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index a196c309197e..4f72c0e294f2 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];
 
+  preFixup = ''
+    rm $out/share/glib-2.0/schemas/gschemas.compiled'';
+
   postInstall = ''
     mkdir -p $out/etc/NetworkManager/VPN
     ln -s ${networkmanager_openvpn}/etc/NetworkManager/VPN/nm-openvpn-service.name $out/etc/NetworkManager/VPN/nm-openvpn-service.name
diff --git a/pkgs/tools/networking/ntop/default.nix b/pkgs/tools/networking/ntop/default.nix
index 48f2c9f08938..d5fa2deb68dc 100644
--- a/pkgs/tools/networking/ntop/default.nix
+++ b/pkgs/tools/networking/ntop/default.nix
@@ -19,11 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Traffic analysis with NetFlow and sFlow support";
-
     license = "GLPv3+";
-
     homepage = http://www.ntop.org/products/ntop/;
-
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index fa1d2fb805a7..02e1f742201f 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,14 +1,13 @@
 { pkgs, fetchurl, buildPythonPackage, sqlite3 }:
 
 buildPythonPackage rec {
-  version = "6.5.5-rc2";
+  version = "6.5.5";
   name = "offlineimap-${version}";
   namePrefix = "";
 
   src = fetchurl {
-    url = "https://github.com/OfflineIMAP/offlineimap/tarball/v${version}";
-    name = "${name}.tar.bz";
-    sha256 = "03w3irh8pxwvivi139xm5iaj2f8vmriak1ispq9d9f84z1098pd3";
+    url = "https://github.com/OfflineIMAP/offlineimap/archive/v${version}.tar.gz";
+    sha256 = "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 35586031ef55..7d2ae9c5bb4b 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ];
+  patches = [ ./locale_archive.patch ./gcmrekey.patch ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ] ++
     (if withKerberos then [ kerberos ] else [])
diff --git a/pkgs/tools/networking/openssh/gcmrekey.patch b/pkgs/tools/networking/openssh/gcmrekey.patch
new file mode 100644
index 000000000000..ddb694af1ddb
--- /dev/null
+++ b/pkgs/tools/networking/openssh/gcmrekey.patch
@@ -0,0 +1,18 @@
+http://www.openssh.com/txt/gcmrekey.adv
+
+Index: monitor_wrap.c
+===================================================================
+RCS file: /cvs/src/usr.bin/ssh/monitor_wrap.c,v
+retrieving revision 1.76
+diff -u -p -u -r1.76 monitor_wrap.c
+--- a/monitor_wrap.c	17 May 2013 00:13:13 -0000	1.76
++++ b/monitor_wrap.c	6 Nov 2013 16:31:26 -0000
+@@ -469,7 +469,7 @@ mm_newkeys_from_blob(u_char *blob, int b
+ 	buffer_init(&b);
+ 	buffer_append(&b, blob, blen);
+ 
+-	newkey = xmalloc(sizeof(*newkey));
++	newkey = xcalloc(1, sizeof(*newkey));
+ 	enc = &newkey->enc;
+ 	mac = &newkey->mac;
+ 	comp = &newkey->comp;
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index 8af67aed1d40..c6a57c238a48 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -1,19 +1,20 @@
-{stdenv, fetchurl, autoconf, automake, zlib, pcre, w3m}:
+{ stdenv, fetchurl, autoreconfHook, zlib, pcre, w3m, man }:
 
 stdenv.mkDerivation {
-  name = "privoxy-3.0.12";
+  name = "privoxy-3.0.21";
 
   src = fetchurl {
-    url = mirror://sourceforge/ijbswa/Sources/3.0.12%20%28stable%29/privoxy-3.0.12-stable-src.tar.gz;
-    sha256 = "16ngim1p4pb4zk8h7js4zjw280fxqxamasfngixikp2ivmzxl469";
+    url = mirror://sourceforge/ijbswa/Sources/3.0.21%20%28stable%29/privoxy-3.0.21-stable-src.tar.gz;
+    sha256 = "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy";
   };
 
-  buildInputs = [automake autoconf zlib pcre w3m];
+  buildInputs = [ autoreconfHook zlib pcre w3m man ];
 
-  patches = [./disable-user-error.patch];
-
-  preConfigure = ''
-    autoheader
-    autoconf
-  '';
+  meta = with stdenv.lib; {
+    homepage = http://www.privoxy.org/;
+    description = "Non-caching web proxy with advanced filtering capabilities";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.phreedom ];
+  };
 }
diff --git a/pkgs/tools/networking/privoxy/disable-user-error.patch b/pkgs/tools/networking/privoxy/disable-user-error.patch
deleted file mode 100644
index c2576409c6d0..000000000000
--- a/pkgs/tools/networking/privoxy/disable-user-error.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -rc privoxy-3.0.12-stable/configure.in privoxy-3.0.12-stable-new/configure.in
-*** privoxy-3.0.12-stable/configure.in	2009-03-21 11:45:06.000000000 +0100
---- privoxy-3.0.12-stable-new/configure.in	2009-10-05 15:39:53.683884809 +0200
-***************
-*** 652,659 ****
-  AC_PROG_AWK
-  
-  AC_CHECK_PROG(GDB,gdb,yes,no)
-! AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
-! AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
-  AC_SUBST(ID)
-  AC_SUBST(BGROUPS)
-  
---- 652,659 ----
-  AC_PROG_AWK
-  
-  AC_CHECK_PROG(GDB,gdb,yes,no)
-! AC_PATH_PROG(BGROUPS,groups,no,$PATH)
-! AC_PATH_PROG(ID,id,no,$PATH)
-  AC_SUBST(ID)
-  AC_SUBST(BGROUPS)
-  
-***************
-*** 715,721 ****
-                      if test $? -eq 0 ; then
-                        USER=$with_user;
-                      else
-!                       AC_MSG_ERROR(There is no user '$with_user' on this system)
-                      fi
-                    fi
-                    else
---- 715,721 ----
-                      if test $? -eq 0 ; then
-                        USER=$with_user;
-                      else
-!                       AC_MSG_WARN(There is no user '$with_user' on this system)
-                      fi
-                    fi
-                    else
-***************
-*** 747,758 ****
-                      # FIXME: this fails if valid group, but not first group
-                      # listed.
-                        if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
-!                         AC_MSG_ERROR(The given value '$withval' does not match group entry)
-                        else
-                          GROUP=$with_group;
-                        fi
-                      else
-!                       AC_MSG_ERROR(There is no group entry for user '$USER')
-                      fi
-                    fi
-                  else
---- 747,758 ----
-                      # FIXME: this fails if valid group, but not first group
-                      # listed.
-                        if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
-!                         AC_MSG_WARN(The given value '$withval' does not match group entry)
-                        else
-                          GROUP=$with_group;
-                        fi
-                      else
-!                       AC_MSG_WARN(There is no group entry for user '$USER')
-                      fi
-                    fi
-                  else
diff --git a/pkgs/tools/networking/socat/2.0.0-b3.nix b/pkgs/tools/networking/socat/2.0.0-b3.nix
deleted file mode 100644
index 6567e5dfcc40..000000000000
--- a/pkgs/tools/networking/socat/2.0.0-b3.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args; 
-let 
-  version = "2.0.0-b3"; 
-  patches = [];
-in
-rec {
-  src = /* Here a fetchurl expression goes */
-        fetchurl {
-            url = http://www.dest-unreach.org/socat/download/socat-2.0.0-b3.tar.bz2;
-            sha256 = "0p4v8m898dzcardsw02xdda3y3b1rky7v956rm27x43783w5qmsx";
-        };
-
-  buildInputs = [openssl];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-      
-  name = "socat-" + version;
-  meta = {
-    description = "Socat - a different replacement for netcat";
-    longDesc = "
-        Socat, one more analogue of netcat, but not mimicking it.
-	'netcat++' (extended design, new implementation)
-";
-        homepage = "http://www.dest-unreach.org/socat/";
-	srcs = patches;
-  };
-}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
new file mode 100644
index 000000000000..621803134426
--- /dev/null
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "socat-2.0.0-b6";
+
+  src = fetchurl {
+    url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
+    sha256 = "03n70v7ygsl4ji7rwvyv8f70d3q32jnas26j29amkf3fm4agnhvz";
+  };
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    description = "A utility for bidirectional data transfer between two independent data channels";
+    homepage = http://www.dest-unreach.org/socat/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = stdenv.lib.maintainers.eelco;
+  };
+}
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 727bbe086059..45de7015d7ab 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "socat-1.7.2.1";
+  name = "socat-1.7.2.2";
 
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "0xw2qmmixv7jwsrgx2vy54bq695d6my3pm3z4dcpmf9vqvb2xsps";
+    sha256 = "0g4miazc9w3gxbk5vvw228jp3qxn775jspkgqv5hjf2d3bqpl5ls";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 3e3b74dfe902..5ae85adbec7e 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin ./iri-test.patch;
+
   preConfigure = stdenv.lib.optionalString doCheck
     '' for i in "doc/texi2pod.pl" "tests/run-px" "util/rmold.pl"
        do
diff --git a/pkgs/tools/networking/wget/iri-test.patch b/pkgs/tools/networking/wget/iri-test.patch
new file mode 100644
index 000000000000..c1f798ce3726
--- /dev/null
+++ b/pkgs/tools/networking/wget/iri-test.patch
@@ -0,0 +1,12 @@
+diff -r --unified a/wget-1.14/tests/run-px b/wget-1.14/tests/run-px
+--- a/tests/run-px	2012-06-16 11:58:11.000000000 +0100
++++ b/tests/run-px	2013-11-02 14:06:14.000000000 +0000
+@@ -48,7 +48,7 @@
+     'Test-idn-robots-utf8.px',
+     'Test-iri.px',
+     'Test-iri-percent.px',
+-    'Test-iri-disabled.px',
++    #'Test-iri-disabled.px',
+     'Test-iri-forced-remote.px',
+     'Test-iri-list.px',
+     'Test-k.px',
diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix b/pkgs/tools/package-management/cabal-install/1.18.0.2.nix
index 9b56f60546ce..3c1c6ddd133d 100644
--- a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix
+++ b/pkgs/tools/package-management/cabal-install/1.18.0.2.nix
@@ -20,6 +20,9 @@ cabal.mkDerivation (self: {
     mkdir $out/etc
     mv bash-completion $out/etc/bash_completion.d
   '';
+  patchPhase = ''
+    sed -i -e 's|array .*,|array,|' cabal-install.cabal
+  '';
   meta = {
     homepage = "http://www.haskell.org/cabal/";
     description = "The command-line interface for Cabal and Hackage";
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 62a644e195aa..5c9120cf33ed 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, libintlOrEmpty, libiconvOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef";
+  name = "disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5576475/download/4/disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef.tar.gz;
-    sha256 = "18sxs4c3a1sr2sldd6p7rmxg6541v1hsl987vzc7ij8mwkcnm1r0";
+    url = http://hydra.nixos.org/build/6763179/download/4/disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea.tar.gz;
+    sha256 = "0zmsaz1kvc7dl1igh6z74jxy3w5p2zbfm9jsczdjdh3947fkni4p";
   };
   
-  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty ];
+  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
 
   dontStrip = true;
   
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 80ac91b54899..4c811dd3f71f 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, disnix, socat, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz";
+  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5578534/download/3/disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz;
-    sha256 = "0a9ah16rhq6kgknylq9dsv6mk8pp4vbahqls9hcg99ys9bn18d8z";
+    url = http://hydra.nixos.org/build/6769017/download/3/disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99.tar.gz;
+    sha256 = "0jw05qjn0fbf4xb2g8a8i0padmsw17ayr4acw7z784bljrm1z055";
   };
   
   buildInputs = [ socat pkgconfig disnix ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index de3690e3e203..2a5852863f96 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null
+, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null
 , enableApacheWebApplication ? false
 , enableAxis2WebService ? false
 , enableEjabberdDump ? false
@@ -7,6 +7,7 @@
 , enablePostgreSQLDatabase ? false
 , enableSubversionRepository ? false
 , enableTomcatWebApplication ? false
+, enableMongoDatabase ? false
 , catalinaBaseDir ? "/var/tomcat"
 }:
 
@@ -14,12 +15,13 @@ assert enableMySQLDatabase -> mysql != null;
 assert enablePostgreSQLDatabase -> postgresql != null;
 assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
+assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz";
+  name = "dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5613342/download/1/dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz;
-    sha256 = "0ll09vh94ygqkncq4ddb62s4c84n3pr5qy0gi1ywy0j30qk6zvsq";
+    url = http://hydra.nixos.org/build/6763096/download/1/dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484.tar.gz;
+    sha256 = "0k7qpqa9inzxjdryd7zfzxid8k1icsxxw995chzw4wrlgxns16xy";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -32,13 +34,15 @@ stdenv.mkDerivation {
      ${if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql"}
      ${if enableSubversionRepository then "--with-subversion" else "--without-subversion"}
      ${if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat"}
+     ${if enableMongoDatabase then "--with-mongodb" else "--without-mongodb"}
    '';
   
   buildInputs = []
     ++ stdenv.lib.optional enableEjabberdDump ejabberd
     ++ stdenv.lib.optional enableMySQLDatabase mysql
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
-    ++ stdenv.lib.optional enableSubversionRepository subversion;
+    ++ stdenv.lib.optional enableSubversionRepository subversion
+    ++ stdenv.lib.optional enableMongoDatabase mongodb;
 
   meta = {
     description = "Automated deployment of mutable components and services for Disnix";
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index 0e607092412b..ad1cb6bec906 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }:
 stdenv.mkDerivation rec {
-  name = "ccid-1.4.9";
+  name = "ccid-1.4.13";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/3866/${name}.tar.bz2";
-    sha256 = "1dj0cw4js4ab678l94rf9p8a8gppkf1hm66qhmq5ajra6r5nv3m9";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/pcsc-lite-ccid/ccid-1.4.13.tar.bz2/89c167a873df1f8bc0dc907ce209e5ff/ccid-1.4.13.tar.bz2";
+    sha256 = "1w0mxb5qzps9x2fcggv958mwgwmvfxxj4nspxs67fa7qg7r6yxar";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index ec00137b36f7..858320004b84 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, bzip2, libiconv }:
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.97.5";
+  version = "0.97.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
-    sha256 = "039wm64wl2sx7k019g5ll5dkdlsq64fnd0ng0s00pjn8bqd5wv6v";
+    sha256 = "04pwm8a84silnvgimn2wi2wgwdzwpskybx72mp10ni1dd7yvswnq";
   };
 
   buildInputs = [ zlib bzip2 libiconv ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 1a443fc18b61..6196cc53bb28 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -48,6 +48,6 @@ pythonPackages.buildPythonPackage {
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ eelco lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/security/opensc/0.11.7.nix b/pkgs/tools/security/opensc/0.11.7.nix
deleted file mode 100644
index e18858363013..000000000000
--- a/pkgs/tools/security/opensc/0.11.7.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite,
-  libassuan1, pkgconfig, libXt, pinentry}:
-
-stdenv.mkDerivation rec {
-  name = "opensc-0.11.7";
-
-  src = fetchurl {
-    url = "http://www.opensc-project.org/files/opensc/${name}.tar.gz";
-    sha256 = "0781qi0bsm01wdhkb1vd3ra9wkwgyjcm2w87jb2r53msply2gavd";
-  };
-
-  configureFlags = [ "--enable-pcsc" "--enable-nsplugin"
-    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
-    "--with-pinentry=${pinentry}/bin/pinentry" ];
-
-  buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
-    libXt ] ++
-    stdenv.lib.optional (! stdenv.isLinux) libiconv;
-
-  meta = {
-    description = "Set of libraries and utilities to access smart cards";
-    homepage = http://www.opensc-project.org/opensc/;
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
new file mode 100644
index 000000000000..42303fc356aa
--- /dev/null
+++ b/pkgs/tools/security/opensc/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, libtool, readline, zlib, openssl, libiconvOrNull, pcsclite
+, libassuan1, pkgconfig, libXt, docbook_xsl, libxslt, docbook_xml_dtd_412
+}:
+
+stdenv.mkDerivation rec {
+  name = "opensc-0.13.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opensc/${name}.tar.gz";
+    sha256 = "054v11yc2lqlfqs556liw18klhkx9zyjylqcwirk4axiafp4dpmb";
+  };
+
+  buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
+    libXt libxslt libiconvOrNull docbook_xml_dtd_412
+  ];
+
+  configureFlags = [
+    "--enable-doc"
+    "--enable-man"
+    "--enable-openssl"
+    "--enable-pcsc"
+    "--enable-readline"
+    "--enable-sm"
+    "--enable-zlib"
+    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
+    "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
+  ];
+
+  meta = {
+    description = "Set of libraries and utilities to access smart cards";
+    homepage = "https://github.com/OpenSC/OpenSC/wiki";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix
index fe71806301dd..0333e931858c 100644
--- a/pkgs/tools/security/prey/default.nix
+++ b/pkgs/tools/security/prey/default.nix
@@ -10,6 +10,7 @@ let
   modulesSrc = fetchgit {
     url = "git://github.com/prey/prey-bash-client-modules.git";
     rev = "aba260ef110834cb2e92923a31f50c15970639ee";
+    sha256 = "9cb1ad813d052a0a3e3bbdd329a8711ae3272e340379489511f7dd578d911e30";
   };
 in stdenv.mkDerivation rec {
   name = "prey-bash-client-${version}";
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index e361746c57b9..568b39be87d5 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, coreutils, pam, groff }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.6p7";
+  name = "sudo-1.8.8";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0djh2b14d1b1knah46v971x940rz63hvnskz16fzami3nbnqj41h";
+    sha256 = "1j9gk6pfqry44gvp41p7ajfnpl58jw8shbxmvq381ywpj8g1r4cz";
   };
 
   postConfigure = ''
diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix
index 6f34d61908e1..4d216bee0b60 100644
--- a/pkgs/tools/security/vidalia/default.nix
+++ b/pkgs/tools/security/vidalia/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, cmake, qt4 }:
+{ stdenv, fetchurl, cmake, qt4, doxygen }:
 stdenv.mkDerivation rec {
 
   name = "vidalia-${version}";
-  version = "0.2.21";
+  version = "0.3.1";
 
   src = fetchurl {
     url = "https://www.torproject.org/dist/vidalia/${name}.tar.gz";
-    sha256 = "1rqvvhdqgk6jqrd15invvc4r7p4nckd3b93hhr5dzpc1fxz8w064";
+    sha256 = "1mw3wnlh18rj20qjv7jxjk3a8mf75p5wzv358qfs3sm3lqgd68qm";
   };
 
-  buildInputs = [ cmake qt4 ];
+  buildInputs = [ cmake qt4 doxygen ];
 
   meta = with stdenv.lib; {
     homepage = https://www.torproject.org/projects/vidalia.html.en;
diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix
index 111408d1339c..e72497cf7c4e 100644
--- a/pkgs/tools/system/fdisk/default.nix
+++ b/pkgs/tools/system/fdisk/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/fdisk/;
 
-    maintainers = [ ];
-    #platforms = stdenv.lib.platforms.linux; # was failing for long without anyone complaining
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index 930cb7b7bff0..ccda9be9f03f 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
 
   name = "lshw-${version}";
-  version = "02.15b";
+  version = "02.17b";
 
   src = fetchurl {
-    url = http://ezix.org/software/files/lshw-B.02.15.tar.gz;
-    sha256 = "19im6yj1pmsbrwkvdmgshllhiw7jh6nzhr6dc777q1n99g3cw0gv";
+    url = http://ezix.org/software/files/lshw-B.02.17.tar.gz;
+    sha256 = "1728b96gyjmrp31knzips9azn6wkfdp5k5dnbil7h7hgz99w177b";
   };
 
   buildInputs = [] ++ stdenv.lib.optional withGUI [ gtk pkgconfig sqlite ];
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 93486d3decf2..25201ba97abc 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -8,16 +8,16 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "pciutils-3.2.0";
+  name = "pciutils-3.2.1"; # with database from 2013-11-10
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq";
+    sha256 = "1pnwwc4sq0q7zz3mw2rsrc9j5rxwpdvxirqjmxcd0brf0hcjpm8j";
   };
 
   buildInputs = [ pkgconfig zlib kmod which ];
 
-  preBuild = "bunzip2 < ${pciids} > pci.ids";
+  #preBuild = "bunzip2 < ${pciids} > pci.ids";
 
   makeFlags = "SHARED=yes PREFIX=\${out}";
 
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 3b5c06483845..c4e955056f4f 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, eventlog, pkgconfig, libestr, libee, json_c, libuuid, zlib, gnutls}:
 
 stdenv.mkDerivation {
-  name = "rsyslog-7.2.6";
+  name = "rsyslog-7.2.7";
 
   src = fetchurl {
-    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.2.6.tar.gz;
-    sha256 = "19a5c60816ebce6c86468eb8c5fe1c4cc1febf23c9167ce59d2327fe5e047ed9";
+    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.2.7.tar.gz;
+    sha256 = "0vgrbbklsvnwcy0m0kbxcj5lhpn2k9bsv0lh0vnyn6hc2hx56cs8";
   };
 
   buildInputs = [pkgconfig libestr libee json_c libuuid zlib gnutls];
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index a392ed0bcfd3..6d1c6ad5e1ff 100644
--- a/pkgs/tools/system/ts/default.nix
+++ b/pkgs/tools/system/ts/default.nix
@@ -1,8 +1,9 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl,
+sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
 
-  name = "ts-0.7.3";
+  name = "ts-0.7.4";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -10,9 +11,13 @@ stdenv.mkDerivation {
     makeFlags = "CC=${stdenv.cross.config}-gcc";
   };
 
+  patchPhase = ''
+    sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1
+  '';
+
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.3.tar.gz;
-    sha256 = "1ajgk6y9y9bng5ssdqxwpzw44pmib30vn5284rgga6vr04ppakdy";
+    url = "http://viric.name/~viric/soft/ts/${name}.tar.gz";
+    sha256 = "042r9a09300v4fdrw4r60g5xi25v5m6g12kvvr6pcsm9qnfqyqqs";
   };
 
   meta = {
diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix
index 769cf389426c..071b93683294 100644
--- a/pkgs/tools/text/ascii/default.nix
+++ b/pkgs/tools/text/ascii/default.nix
@@ -2,24 +2,26 @@
 
 stdenv.mkDerivation rec {
   name = "ascii-${version}";
-  version = "3.12";
+  version = "3.14";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/ascii/${name}.tar.gz";
-    sha256 = "17jhmmdbhzzaai0lr5aslg0nmqchq1ygdxwd8pgl7qn2jnxhc6ci";
+    sha256 = "1ldwi4cs2d36r1fv3j13cfa8h2pc4yayq5qii91758qqwfzky3kz";
   };
 
   prePatch = ''
-    sed -i -e 's|$(DESTDIR)/usr|$(out)|g' Makefile
+    sed -i -e "s|^PREFIX = .*|PREFIX = $out|" Makefile
   '';
 
   preInstall = ''
     mkdir -vp "$out/bin" "$out/share/man/man1"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Interactive ASCII name and synonym chart";
     homepage = "http://www.catb.org/~esr/ascii/";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/text/ebook-tools/default.nix b/pkgs/tools/text/ebook-tools/default.nix
index abb766928d74..2fafec02d816 100644
--- a/pkgs/tools/text/ebook-tools/default.nix
+++ b/pkgs/tools/text/ebook-tools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, libxml2, libzip }:
 
 stdenv.mkDerivation rec {
-  name = "ebook-tools-0.2.1";
+  name = "ebook-tools-0.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/ebook-tools/${name}.tar.gz";
-    sha256 = "0wgwdsd3jwwfg36jyr5j0wayqjli3ia80lxzk10byd4cmkywnhy2";
+    sha256 = "1bi7wsz3p5slb43kj7lgb3r6lb91lvb6ldi556k4y50ix6b5khyb";
   };
 
   buildInputs = [ cmake pkgconfig libxml2 libzip ];
diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix
index b4573118a49f..0f54644eba56 100644
--- a/pkgs/tools/text/uni2ascii/default.nix
+++ b/pkgs/tools/text/uni2ascii/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "uni2ascii-4.15";
+  name = "uni2ascii-4.18";
   src = fetchurl {
     url = "http://billposer.org/Software/Downloads/${name}.tar.gz";
-    sha256 = "0vlwsqrzmdsb2mx0hbhmw1dvzy56jk8779hphnj6yxijryva6g2v";
+    sha256 = "03lklnzr6ngs4wqiqa7rifd246f441gfvardbsaa5l6fn9pbn94y";
   };
 
   meta = {
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index 63de9c306939..70b9bf69e290 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "GNU wdiff, comparing files on a word by word basis";
     license = "GPLv3+";
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
index 4f120601c8e7..2484aac8b0d1 100644
--- a/pkgs/tools/text/xml/basex/default.nix
+++ b/pkgs/tools/text/xml/basex/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
-  name = "basex-7.7";
+  name = "basex-7.7.2";
 
   src = fetchurl {
-    url = "http://files.basex.org/releases/7.7/BaseX77.zip";
-    sha256 = "1wnndq8lcnfx29bc3j2sgswk6dxgv2nln2chmwbf7h4a05fcavdj";
+    url = "http://files.basex.org/releases/7.7.2/BaseX772.zip";
+    sha256 = "1rh91rzgca1waq8jnd3ard1r04qlalc2qqrawmrahwxgf3f16f4a";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index aeeaf04e7bad..723741b2c836 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -128,11 +128,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "asciidoc-8.6.8";
+  name = "asciidoc-8.6.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/asciidoc/${name}.tar.gz";
-    sha256 = "ffb67f59dccaf6f15db72fcd04fdf21a2f9b703d31f94fcd0c49a424a9fcfbc4";
+    sha256 = "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq";
   };
 
   buildInputs = [ python unzip ];
@@ -257,7 +257,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.methods.co.nz/asciidoc/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
index 4d161c3e0536..066796ed39c9 100644
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
@@ -30,6 +30,6 @@ rec {
     maintainers = [ args.lib.maintainers.raskin ];
 
     # Actually, arch-independent.. 
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 57f7424dc2da..2b9c6d066372 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -6,13 +6,13 @@ rec {
   };
 
   texmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20130918.orig.tar.xz;
-    sha256 = "0h7x49zsd2gs8fr28f4h04dv5m8p2mpgqxk2vvl5xlf4wwxxbm2p";
+    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20131112.orig.tar.xz;
+    sha256 = "1zak95xh35bnzr3hjrjaxg0yisyw8g3xcym0ywsspc4dxpn1qgk1";
   };
 
   langTexmfSrc = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131010.orig.tar.xz;
-    sha256 = "17wfd2qmyafv74ac3ssy9aga12g09l2q0r1p19fb4vvs0wrkwzbz";
+    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131112.orig.tar.xz;
+    sha256 = "003rj7pv38lgmggya2nbzcyfdx5d4wa7h1h4xh7iivsxja7z4m1d";
   };
 
   setupHook = ./setup-hook.sh;
@@ -133,4 +133,3 @@ rec {
     platforms   = platforms.unix;
   };
 }
-
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index 6613578e2c67..ab8046fcc967 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -2,8 +2,8 @@ args: with args;
 rec {
   name = "texlive-extra-2013";
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131010.orig.tar.xz;
-    sha256 = "1wciyjwp0swny22amwcnr6vvdwjy423856q7c3l1sd5b31xfbc18";
+    url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131112.orig.tar.xz;
+    sha256 = "0qpiig9sz8wx3dhy1jha7rkxrhvpf2cmfx424h68s3ql05nnw65i";
   };
 
   buildInputs = [texLive xz];
@@ -19,6 +19,6 @@ rec {
     maintainers = [ args.lib.maintainers.raskin ];
 
     # Actually, arch-independent.. 
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
index 0ce1afbb41b3..f4db43f21f2b 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
@@ -21,6 +21,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
index 4cb93794edfe..f7d8f1254c55 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
@@ -24,6 +24,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index c72192317b77..c5ebb9d971b3 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -43,8 +43,5 @@ stdenv.mkDerivation rec {
 
     license = "GPLv2+";
     homepage = https://fedorahosted.org/xmlto/;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 16a0d173691c..90456046e6e4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -517,6 +517,8 @@ let
 
   babeld = callPackage ../tools/networking/babeld { };
 
+  badvpn = callPackage ../tools/networking/badvpn {};
+
   banner = callPackage ../games/banner {};
 
   barcode = callPackage ../tools/graphics/barcode {};
@@ -531,6 +533,8 @@ let
 
   bmon = callPackage ../tools/misc/bmon { };
 
+  bochs = callPackage ../applications/virtualization/bochs { };
+
   boomerang = callPackage ../development/tools/boomerang {
     stdenv = overrideGCC stdenv gcc47;
   };
@@ -551,6 +555,8 @@ let
 
   ditaa = callPackage ../tools/graphics/ditaa { };
 
+  direnv = callPackage ../tools/misc/direnv { };
+
   dlx = callPackage ../misc/emulators/dlx { };
 
   eggdrop = callPackage ../tools/networking/eggdrop { };
@@ -584,6 +590,8 @@ let
 
   bacula = callPackage ../tools/backup/bacula { };
 
+  beanstalkd = callPackage ../servers/beanstalkd { };
+
   bgs = callPackage ../tools/X11/bgs { };
 
   bibtextools = callPackage ../tools/typesetting/bibtex-tools {
@@ -1016,6 +1024,8 @@ let
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
+  grafx2 = callPackage ../applications/graphics/grafx2 {};
+
   graphviz = callPackage ../tools/graphics/graphviz { };
 
   /* Readded by Michael Raskin. There are programs in the wild
@@ -1044,6 +1054,8 @@ let
 
   gt5 = callPackage ../tools/system/gt5 { };
 
+  gtest = callPackage ../development/libraries/gtest {};
+
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
@@ -1202,11 +1214,13 @@ let
   nodejs = callPackage ../development/web/nodejs {};
 
   nodePackages = recurseIntoAttrs (import ./node-packages.nix {
-    inherit pkgs stdenv nodejs fetchurl;
+    inherit pkgs stdenv nodejs fetchurl fetchgit;
     neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
     self = pkgs.nodePackages;
   });
 
+  ldapvi = callPackage ../tools/misc/ldapvi { };
+
   ldns = callPackage ../development/libraries/ldns { };
 
   lftp = callPackage ../tools/networking/lftp { };
@@ -1408,6 +1422,8 @@ let
 
   newsbeuter = callPackage ../applications/networking/feedreaders/newsbeuter { };
 
+  newsbeuter-dev = callPackage ../applications/networking/feedreaders/newsbeuter/dev.nix { };
+
   ngrok = callPackage ../tools/misc/ngrok { };
 
   mpack = callPackage ../tools/networking/mpack { };
@@ -1475,9 +1491,7 @@ let
 
   openresolv = callPackage ../tools/networking/openresolv { };
 
-  opensc_0_11_7 = callPackage ../tools/security/opensc/0.11.7.nix { };
-
-  opensc = opensc_0_11_7;
+  opensc = callPackage ../tools/security/opensc { };
 
   opensc_dnie_wrapper = callPackage ../tools/security/opensc-dnie-wrapper { };
 
@@ -1804,15 +1818,13 @@ let
 
   socat = callPackage ../tools/networking/socat { };
 
+  socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { });
+
   sourceHighlight = callPackage ../tools/text/source-highlight {
     # Boost 1.54 causes the "test_regexranges" test to fail
     boost = boost153;
   };
 
-  socat2pre = lowPrio (builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
-    inherit fetchurl stdenv openssl;
-  });
-
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
   sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -1857,9 +1869,7 @@ let
 
   sitecopy = callPackage ../tools/networking/sitecopy { };
 
-  privoxy = callPackage ../tools/networking/privoxy {
-    autoconf = autoconf213;
-  };
+  privoxy = callPackage ../tools/networking/privoxy { };
 
   tarsnap = callPackage ../tools/backup/tarsnap { };
 
@@ -2043,6 +2053,8 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
+  varnish2 = callPackage ../servers/varnish/2.1.nix { };
+
   venus = callPackage ../tools/misc/venus {
     python = python27;
   };
@@ -2220,18 +2232,40 @@ let
 
   chicken = callPackage ../development/compilers/chicken { };
 
+  chicken-dev = chicken.override {
+    devSnapshot = true;
+  };
+
   ccl = builderDefsPackage ../development/compilers/ccl {};
 
   clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix {
     stdenv = if stdenv.isDarwin
       then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
+      else stdenvAdapters.overrideGCC stdenv gcc47;
   };
 
   clang = wrapClang clangUnwrapped;
 
+  libcxxLLVM = callPackage ../development/compilers/llvm { stdenv = libcxxStdenv; };
+  clangSelf = clangWrapSelf (callPackage ../development/compilers/llvm/clang.nix {
+     stdenv = libcxxStdenv;
+     llvm = libcxxLLVM;
+  });
+
+  clangWrapSelf = build: (import ../build-support/clang-wrapper) {
+      clang = build;
+      stdenv = clangStdenv;
+      libc = glibc;
+      binutils = binutils;
+      shell = bash;
+      inherit libcxx coreutils zlib;
+      nativeTools = false;
+      nativeLibc = false;
+  };
+
   #Use this instead of stdenv to build with clang
   clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
+  libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf clangUnwrapped);
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -2293,7 +2327,7 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc44_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc44_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.4) {
       inherit stdenv fetchurl gmp mpfr /* ppl cloogppl */ noSysDirs
           gettext which;
@@ -2345,7 +2379,7 @@ let
 
   gcc48 = gcc48_real;
 
-  gcc45_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc45_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.5) {
       inherit fetchurl stdenv gmp mpfr mpc libelf zlib
         ppl cloogppl gettext which noSysDirs;
@@ -2358,7 +2392,7 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc46_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc46_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.6) {
       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
         cloog ppl gettext which noSysDirs;
@@ -2370,7 +2404,7 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc47_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc47_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.7) {
       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
         cloog ppl gettext which noSysDirs;
@@ -2391,7 +2425,7 @@ let
                    if isMingw then windows.mingw_headers1 else null;
     in
       wrapGCCCross {
-      gcc = forceNativeDrv (lib.addMetaAttrs { platforms = []; } (
+      gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } (
         gcc_realCross.override {
           crossStageStatic = true;
           langCC = false;
@@ -2649,19 +2683,6 @@ let
     enableMultilib = false;
   });
 
-  # Not officially supported version for ghdl
-  ghdl_gcc44 = lowPrio (wrapGCC (import ../development/compilers/gcc/4.4 {
-    inherit stdenv fetchurl gmp mpfr noSysDirs gnat gettext which
-      ppl cloogppl;
-    texinfo = texinfo4;
-    name = "ghdl";
-    langVhdl = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-    enableMultilib = false;
-  }));
-
   gcl = builderDefsPackage ../development/compilers/gcl {
     inherit mpfr m4 binutils fetchcvs emacs zlib which
       texinfo;
@@ -2702,20 +2723,20 @@ let
   # Current Haskell Platform: 2013.2.0.0
   haskellPlatform = haskellPackages.haskellPlatform;
 
-  haskellPackages_ghc6104             =                   haskell.packages_ghc6104;
-  haskellPackages_ghc6121             =                   haskell.packages_ghc6121;
-  haskellPackages_ghc6122             =                   haskell.packages_ghc6122;
-  haskellPackages_ghc6123             =                   haskell.packages_ghc6123;
-  haskellPackages_ghc701              =                   haskell.packages_ghc701;
-  haskellPackages_ghc702              =                   haskell.packages_ghc702;
-  haskellPackages_ghc703              =                   haskell.packages_ghc703;
-  haskellPackages_ghc704              =                   haskell.packages_ghc704;
-  haskellPackages_ghc721              =                   haskell.packages_ghc721;
-  haskellPackages_ghc722              =                   haskell.packages_ghc722;
-  haskellPackages_ghc741              =                   haskell.packages_ghc741;
-  haskellPackages_ghc742              =                   haskell.packages_ghc742;
-  haskellPackages_ghc761              =                   haskell.packages_ghc761;
-  haskellPackages_ghc762              =                   haskell.packages_ghc762;
+  haskellPackages_ghc6104 = haskell.packages_ghc6104;
+  haskellPackages_ghc6121 = haskell.packages_ghc6121;
+  haskellPackages_ghc6122 = haskell.packages_ghc6122;
+  haskellPackages_ghc6123 = haskell.packages_ghc6123;
+  haskellPackages_ghc701  = haskell.packages_ghc701;
+  haskellPackages_ghc702  = haskell.packages_ghc702;
+  haskellPackages_ghc703  = haskell.packages_ghc703;
+  haskellPackages_ghc704  = haskell.packages_ghc704;
+  haskellPackages_ghc721  = haskell.packages_ghc721;
+  haskellPackages_ghc722  = haskell.packages_ghc722;
+  haskellPackages_ghc741  = haskell.packages_ghc741;
+  haskellPackages_ghc742  = haskell.packages_ghc742;
+  haskellPackages_ghc761  = haskell.packages_ghc761;
+  haskellPackages_ghc762  = haskell.packages_ghc762;
   # For the default version, we build profiling versions of the libraries, too.
   # The following three lines achieve that: the first two make Hydra build explicit
   # profiling and non-profiling versions; the final respects the user-configured
@@ -2724,7 +2745,7 @@ let
   haskellPackages_ghc763_profiling    = recurseIntoAttrs (haskell.packages_ghc763.profiling);
   haskellPackages_ghc763              = recurseIntoAttrs (haskell.packages_ghc763.highPrio);
   # Reasonably current HEAD snapshot.
-  haskellPackages_ghcHEAD             =                   haskell.packages_ghcHEAD;
+  haskellPackages_ghcHEAD = haskell.packages_ghcHEAD;
 
   haxe = callPackage ../development/compilers/haxe { };
 
@@ -3010,7 +3031,9 @@ let
     inherit makeWrapper clisp;
   };
 
-  scala = callPackage ../development/compilers/scala { };
+  scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
+  scala_2_10 = callPackage ../development/compilers/scala { };
+  scala = scala_2_10;
 
   sdcc = callPackage ../development/compilers/sdcc {
     boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53
@@ -3135,8 +3158,7 @@ let
 
   erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { };
   erlangR15B03 = callPackage ../development/interpreters/erlang/R15B03.nix { };
-  erlangR16B01 = callPackage ../development/interpreters/erlang/R16B01.nix { };
-  erlang = erlangR16B01;
+  erlang = callPackage ../development/interpreters/erlang/default.nix { };
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3162,7 +3184,8 @@ let
 
   kona = callPackage ../development/interpreters/kona {};
 
-  love = callPackage ../development/interpreters/love {};
+  love = callPackage ../development/interpreters/love {lua=lua5;};
+  love_luajit = callPackage ../development/interpreters/love {lua=luajit;};
 
   lua4 = callPackage ../development/interpreters/lua-4 { };
   lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { };
@@ -3174,6 +3197,8 @@ let
      lua = lua5;
   };
 
+  luajit = callPackage ../development/interpreters/luajit {};
+
   lush2 = callPackage ../development/interpreters/lush {};
 
   maude = callPackage ../development/interpreters/maude { };
@@ -3235,16 +3260,18 @@ let
     libX11 = xlibs.libX11;
   };
 
-  pypy = callPackage ../development/interpreters/pypy/2.1 { };
+  pypy = callPackage ../development/interpreters/pypy/2.2 { };
 
   pythonFull = python27Full;
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python26.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python26;
     inherit (python26Packages) recursivePthLoader;
   };
   python27Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python27.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python27;
     inherit (python27Packages) recursivePthLoader;
   };
@@ -3295,6 +3322,8 @@ let
 
   scsh = callPackage ../development/interpreters/scsh { };
 
+  scheme48 = callPackage ../development/interpreters/scheme48 { };
+
   spidermonkey = callPackage ../development/interpreters/spidermonkey { };
   spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { };
   spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { };
@@ -3405,6 +3434,8 @@ let
 
   automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { };
 
+  automake114x = callPackage ../development/tools/misc/automake/automake-1.14.x.nix { };
+
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
@@ -3730,6 +3761,8 @@ let
     buildc2xml = false;
   };
 
+  smc = callPackage ../tools/misc/smc { };
+
   sparse = callPackage ../development/tools/analysis/sparse { };
 
   speedtest_cli = callPackage ../tools/networking/speedtest-cli { };
@@ -3761,6 +3794,8 @@ let
 
   texi2html = callPackage ../development/tools/misc/texi2html { };
 
+  uhd = callPackage ../development/tools/misc/uhd { };
+
   uisp = callPackage ../development/tools/misc/uisp { };
 
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
@@ -3869,7 +3904,8 @@ let
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
   boost153 = callPackage ../development/libraries/boost/1.53.nix { };
   boost154 = callPackage ../development/libraries/boost/1.54.nix { };
-  boost = boost154;
+  boost155 = callPackage ../development/libraries/boost/1.55.nix { };
+  boost = boost155;
 
   boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { };
 
@@ -4066,6 +4102,10 @@ let
     singlePrecision = false;
   };
 
+  fftwFloat = callPackage ../development/libraries/fftw {
+    float = true;
+  };
+
   fftwSinglePrec = callPackage ../development/libraries/fftw {
     singlePrecision = true;
   };
@@ -4445,8 +4485,6 @@ let
 
   gts = callPackage ../development/libraries/gts { };
 
-  gurobi = callPackage ../development/libraries/gurobi {};
-
   gvfs = callPackage ../development/libraries/gvfs { };
 
   gwenhywfar = callPackage ../development/libraries/gwenhywfar { };
@@ -4539,7 +4577,9 @@ let
 
   json_glib = callPackage ../development/libraries/json-glib { };
 
-  json_c = callPackage ../development/libraries/json-c { };
+  json-c-0-9 = callPackage ../development/libraries/json-c { };
+  json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { };
+  json_c = json-c-0-9;
 
   jsoncpp = callPackage ../development/libraries/jsoncpp { };
 
@@ -4569,6 +4609,10 @@ let
     libpng = libpng12;
   };
 
+  lgi = callPackage ../development/libraries/lgi {
+    lua = lua5_1;
+  };
+
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
   libaacs = callPackage ../development/libraries/libaacs { };
@@ -5022,7 +5066,7 @@ let
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
 
-  libunibreak = callPackage ../development/libraries/libunibreak/default.nix { };
+  libunibreak = callPackage ../development/libraries/libunibreak { };
 
   libunique = callPackage ../development/libraries/libunique/default.nix { };
 
@@ -5224,6 +5268,8 @@ let
 
   mythes = callPackage ../development/libraries/mythes { };
 
+  nanomsg = callPackage ../development/libraries/nanomsg { };
+
   ncurses_5_4 = makeOverridable (import ../development/libraries/ncurses/5_4.nix) {
     inherit fetchurl;
     unicode = system != "i686-cygwin";
@@ -5265,7 +5311,9 @@ let
     includeTools = true;
   };
 
-  ntrack = callPackage ../development/libraries/ntrack { };
+  ntrack = callPackage ../development/libraries/ntrack {
+    libnl = libnl_3_2_19;
+  };
 
   ode = builderDefsPackage (import ../development/libraries/ode) { };
 
@@ -5313,9 +5361,7 @@ let
 
   openlierox = callPackage ../games/openlierox { };
 
-  libopensc_dnie = callPackage ../development/libraries/libopensc-dnie {
-    opensc = opensc_0_11_7;
-  };
+  libopensc_dnie = callPackage ../development/libraries/libopensc-dnie { };
 
   opencolorio = callPackage ../development/libraries/opencolorio { };
 
@@ -5371,7 +5417,9 @@ let
 
   podofo = callPackage ../development/libraries/podofo { };
 
-  polkit = callPackage ../development/libraries/polkit { };
+  polkit = callPackage ../development/libraries/polkit {
+    spidermonkey = spidermonkey_185;
+  };
 
   polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { };
 
@@ -5449,6 +5497,35 @@ let
     docs = true;
     demos = true;
     examples = true;
+    developerBuild = true;
+  };
+
+  qt4SDK = qtcreator.override {
+    sdkBuild = true;
+    qtLib = qt48Full;
+  };
+
+  qt5 = callPackage ../development/libraries/qt-5 {
+    mesa = mesa_noglu;
+    cups = if stdenv.isLinux then cups else null;
+    # GNOME dependencies are not used unless gtkStyle == true
+    inherit (gnome) libgnomeui GConf gnome_vfs;
+  };
+
+  qt5Full = qt5.override {
+    buildDocs = true;
+    buildExamples = true;
+    buildTests = true;
+    developerBuild = true;
+  };
+
+  qt5SDK = qtcreator.override {
+    sdkBuild = true;
+    qtLib = qt5Full;
+  };
+
+  qtcreator = callPackage ../development/qtcreator {
+    qtLib = qt48.override { developerBuild = true; };
   };
 
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
@@ -5714,7 +5791,7 @@ let
 
   vtk = callPackage ../development/libraries/vtk { };
 
-  vtkWithQt4 = vtk.override { useQt4 = true; };
+  vtkWithQt4 = vtk.override { qtLib = qt4; };
 
   vxl = callPackage ../development/libraries/vxl {
     libpng = libpng12;
@@ -5782,6 +5859,8 @@ let
 
   xbase = callPackage ../development/libraries/xbase { };
 
+  xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
+
   xineLib = callPackage ../development/libraries/xine-lib { };
 
   xautolock = callPackage ../misc/screensavers/xautolock { };
@@ -6375,6 +6454,8 @@ let
 
   acpitool = callPackage ../os-specific/linux/acpitool { };
 
+  alienfx = callPackage ../os-specific/linux/alienfx { };
+
   alsaLib = callPackage ../os-specific/linux/alsa-lib { };
 
   alsaPlugins = callPackage ../os-specific/linux/alsa-plugins {
@@ -6396,6 +6477,8 @@ let
 
   atop = callPackage ../os-specific/linux/atop { };
 
+  audit = callPackage ../os-specific/linux/audit { };
+
   b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { };
 
   b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { };
@@ -6528,6 +6611,8 @@ let
 
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
+  ldm = callPackage ../os-specific/linux/ldm { };
+
   libaio = callPackage ../os-specific/linux/libaio { };
 
   libatasmart = callPackage ../os-specific/linux/libatasmart { };
@@ -6535,6 +6620,7 @@ let
   libcgroup = callPackage ../os-specific/linux/libcgroup { };
 
   libnl = callPackage ../os-specific/linux/libnl { };
+  libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { };
 
   linuxHeaders = linuxHeaders37;
 
@@ -6566,14 +6652,6 @@ let
 
   kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
 
-  linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_0
-      ];
-  };
-
   linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
     kernelPatches =
@@ -6582,12 +6660,7 @@ let
       ];
   };
 
-  # Note: grsec is not enabled automatically, you need to specify which kernel
-  # config options you need (e.g. by overriding extraConfig). See list of options here:
-  # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options
-  linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: {
-    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_52 ];
-  })) (args: {
+  grsecurityOverrider = args: {
     # Install gcc plugins. These are needed for compiling dependant packages.
     postInstall = ''
       ${args.postInstall or ""}
@@ -6602,7 +6675,18 @@ let
       sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile
       sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile
     '';
-  }));
+  };
+
+  # Note: grsec is not enabled automatically, you need to specify which kernel
+  # config options you need (e.g. by overriding extraConfig). See list of options here:
+  # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options
+  linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: {
+    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_52 kernelPatches.grsec_path ];
+  })) (args: grsecurityOverrider args));
+
+  linux_3_12_grsecurity = lowPrio (lib.overrideDerivation (linux_3_12.override (args: {
+    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_12_1 kernelPatches.grsec_path ];
+  })) (args: grsecurityOverrider args));
 
   linux_3_2_apparmor = lowPrio (linux_3_2.override {
     kernelPatches = [ kernelPatches.apparmor_3_2 ];
@@ -6641,18 +6725,6 @@ let
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
   };
 
-  linux_3_9 = makeOverridable (import ../os-specific/linux/kernel/linux-3.9.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-      ] ++ lib.optionals (platform.kernelArch == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
-  };
-
   linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
     kernelPatches =
@@ -6665,6 +6737,15 @@ let
       ];
   };
 
+  linux_3_10_tuxonice = linux_3_10.override (attrs: {
+    kernelPatches = attrs.kernelPatches ++ [
+      kernelPatches.tuxonice_3_10
+    ];
+    extraConfig = ''
+      TOI_CORE y
+    '';
+  });
+
   linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) {
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
     kernelPatches =
@@ -6799,24 +6880,24 @@ let
   };
 
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
   linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor;
   linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity;
   linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen;
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
   linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor;
-  linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
-  linuxPackages_3_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9);
+  linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
+  linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice;
   linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11);
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
+  linuxPackages_3_12_grsecurity = linuxPackagesFor pkgs.linux_3_12_grsecurity linuxPackages_3_12_grsecurity;
   # Update this when adding a new version!
-  linuxPackages_latest = pkgs.linuxPackages_3_11;
+  linuxPackages_latest = pkgs.linuxPackages_3_12;
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
-  linuxPackages = linuxPackages_3_4; # should be latest longterm, see #501
+  linuxPackages = linuxPackages_3_10;
 
   # A function to build a manually-configured kernel
   linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix {
@@ -6963,6 +7044,8 @@ let
 
   sepolgen = callPackage ../os-specific/linux/sepolgen { };
 
+  setools = callPackage ../os-specific/linux/setools { };
+
   shadow = callPackage ../os-specific/linux/shadow { };
 
   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
@@ -7040,9 +7123,7 @@ let
 
   untie = callPackage ../os-specific/linux/untie { };
 
-  upower = callPackage ../os-specific/linux/upower {
-    libusb1 = callPackage ../development/libraries/libusb1/1_0_9.nix {};
-  };
+  upower = callPackage ../os-specific/linux/upower { };
 
   upstart = callPackage ../os-specific/linux/upstart { };
 
@@ -7326,7 +7407,7 @@ let
 
   abook = callPackage ../applications/misc/abook { };
 
-  adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
+  adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { };
 
   aewan = callPackage ../applications/editors/aewan { };
 
@@ -7353,6 +7434,8 @@ let
 
   audacity = callPackage ../applications/audio/audacity { };
 
+  milkytracker = callPackage ../applications/audio/milkytracker { };
+
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
   };
@@ -7367,10 +7450,15 @@ let
 
   avxsynth = callPackage ../applications/video/avxsynth { };
 
-  awesome = callPackage ../applications/window-managers/awesome {
+  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;
 
   baresip = callPackage ../applications/networking/instant-messengers/baresip {};
 
@@ -7682,6 +7770,8 @@ let
 
     notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
 
+    offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
+
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
     # we want it to have higher precedence.
     org = hiPrio (callPackage ../applications/editors/emacs-modes/org { texinfo = texinfo5; });
@@ -7761,6 +7851,11 @@ let
 
   geany = callPackage ../applications/editors/geany { };
 
+  gnuradio = callPackage ../applications/misc/gnuradio {
+    inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl;
+    fftw = fftwFloat;
+  };
+
   goldendict = callPackage ../applications/misc/goldendict { };
 
   google-musicmanager = callPackage ../applications/audio/google-musicmanager { };
@@ -7863,6 +7958,8 @@ let
     gtksharp = gtksharp1;
   };
 
+  fuze = callPackage ../applications/networking/instant-messengers/fuze {};
+
   get_iplayer = callPackage ../applications/misc/get_iplayer {};
 
   gimp_2_6 = callPackage ../applications/graphics/gimp {
@@ -7876,7 +7973,7 @@ let
     lcms = lcms2;
   };
 
-  gimp = gimp_2_6;
+  gimp = gimp_2_8;
 
   gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins {
     inherit pkgs gimp;
@@ -8378,11 +8475,12 @@ let
       cursesSupport = true;
     };
 
-    inherit gettext highline iconv locale lockfile mime_types rmail_sup text
-      trollop unicode xapian_ruby which;
+    inherit gettext highline iconv locale lockfile rmail_sup
+      text trollop unicode xapian_ruby which;
 
     chronic      = chronic_0_9_1;
     gpgme        = ruby_gpgme;
+    mime_types   = mime_types_1_25;
     ncursesw_sup = ruby_ncursesw_sup;
     rake         = rake_10_1_0;
   };
@@ -8471,6 +8569,8 @@ let
 
   paraview = callPackage ../applications/graphics/paraview { };
 
+  pencil = callPackage ../applications/graphics/pencil { };
+
   petrifoo = callPackage ../applications/audio/petrifoo {
     inherit (gnome) libgnomecanvas;
   };
@@ -8534,6 +8634,8 @@ let
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
+  qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
+
   qemu = callPackage ../applications/virtualization/qemu { };
 
   qemuImage = callPackage ../applications/virtualization/qemu/linux-img { };
@@ -8544,8 +8646,6 @@ let
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
-  qtcreator = callPackage ../development/qtcreator { };
-
   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
 
   qtractor = callPackage ../applications/audio/qtractor { };
@@ -8554,6 +8654,12 @@ let
     inherit (pythonPackages) mutagen;
   };
 
+  quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet {
+    inherit (pythonPackages) mutagen;
+    withGstPlugins = true;
+    gst_plugins_bad = null;
+  };
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     inherit (xorg) libXpm libXft;
     fltk = fltk13;
@@ -8658,6 +8764,10 @@ let
     libpng = libpng12;
   };
 
+  smartdeblur = callPackage ../applications/graphics/smartdeblur {
+    fftw = fftw.override {pthreads = true;};
+  };
+
   sndBase = lowPrio (builderDefsPackage (import ../applications/audio/snd) {
     inherit fetchurl stdenv stringsWithDeps lib fftw;
     inherit pkgconfig gmp gettext;
@@ -8876,6 +8986,19 @@ let
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
 
+  qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix {
+    inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext
+      composableDerivation lib config python perl tcl ruby qt4;
+    inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
+      libICE;
+
+    inherit (pkgs) stdenvAdapters gccApple;
+
+    features = "huge"; # one of  tiny, small, normal, big or huge
+    lua = pkgs.lua5;
+    flags = [ "python" "X11" ]; # only flag "X11" by now
+  });
+
   virtviewer = callPackage ../applications/virtualization/virt-viewer {};
   virtmanager = callPackage ../applications/virtualization/virt-manager {
     inherit (gnome) gnome_python;
@@ -8900,7 +9023,9 @@ let
 
   vorbisTools = callPackage ../applications/audio/vorbis-tools { };
 
-  vue = callPackage ../applications/misc/vue {};
+  vue = callPackage ../applications/misc/vue {
+    jre = oraclejre;
+  };
 
   vwm = callPackage ../applications/window-managers/vwm { };
 
@@ -9100,7 +9225,9 @@ let
 
   zathura = zathuraCollection.zathuraWrapper;
 
-  girara = callPackage ../applications/misc/girara { };
+  girara = callPackage ../applications/misc/girara {
+    gtk = gtk3;
+  };
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
@@ -9348,6 +9475,8 @@ let
 
   tennix = callPackage ../games/tennix { };
 
+  tintin = callPackage ../games/tintin { };
+
   tpm = callPackage ../games/thePenguinMachine { };
 
   tremulous = callPackage ../games/tremulous { };
@@ -10066,12 +10195,14 @@ let
 
   saneBackends = callPackage ../applications/graphics/sane/backends.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
     libusb = libusb1;
   };
 
   saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
   };
 
@@ -10209,6 +10340,8 @@ let
 
   yafc = callPackage ../applications/networking/yafc { };
 
+  yandex-disk = callPackage ../tools/filesystems/yandex-disk { };
+
   myEnvFun = import ../misc/my-env {
     inherit substituteAll pkgs;
     inherit (stdenv) mkDerivation;
@@ -10232,9 +10365,9 @@ let
        LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib
        export LD_LIBRARY_PATH
     '';
-   };
+  };
 
-   patoline = PatolineEnv ocamlPackages_4_00_1;
+  patoline = PatolineEnv ocamlPackages_4_00_1;
 
   znc = callPackage ../applications/networking/znc { };
 
@@ -10254,4 +10387,9 @@ let
 
   mg = callPackage ../applications/editors/mg { };
 
+
+  # Attributes for backward compatibility.
+  adobeReader = adobe-reader;
+
+
 }; in pkgs
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index d2cfbf38f986..3589be3c6822 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -60,6 +60,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc703Prefs =
@@ -71,6 +72,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc702Prefs = ghc701Prefs;
@@ -84,6 +86,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc6123Prefs = ghc6122Prefs;
@@ -153,6 +156,7 @@
     , extraPrefs ? (x : {})
     , profExplicit ? false, profDefault ? false
     , modifyPrio ? lowPrio
+    , extraArgs ? {}
     } :
       import ./haskell-packages.nix {
         inherit pkgs newScope modifyPrio;
@@ -161,7 +165,7 @@
         enableLibraryProfiling =
           if profExplicit then profDefault
                           else config.cabal.libraryProfiling or profDefault;
-        ghc = callPackage ghcPath { ghc = ghcBinary; };
+        ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs);
       });
 
   defaultVersionPrioFun =
@@ -328,6 +332,10 @@
     packages { ghcPath = ../development/compilers/ghc/head.nix;
                ghcBinary = ghc742Binary;
                prefFun = ghcHEADPrefs;
+               extraArgs = {
+                 happy = pkgs.haskellPackages.happy_1_19_2;
+                 alex = pkgs.haskellPackages.alex_3_1_3;
+               };
              };
 
 }
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index be07da47393d..747ce660b511 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -60,8 +60,8 @@
 
 { pkgs, newScope, ghc, prefFun, modifyPrio ? (x : x)
 , enableLibraryProfiling ? false
-, enableSharedLibraries ? false
-, enableSharedExecutables ? false
+, enableSharedLibraries ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version
+, enableSharedExecutables ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version
 , enableCheckPhase ? pkgs.stdenv.lib.versionOlder "7.4" ghc.version
 }:
 
@@ -102,10 +102,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   # argument to this function.
 
   ghcWithPackages = pkgs : callPackage ../development/compilers/ghc/with-packages.nix {
-    ghc = ghc; # refers to ghcPlain
+    ghc = ghc;                  # refers to ghcPlain
     packages = pkgs self;
+    ignoreCollisions = false;
   };
 
+  ghcWithPackagesOld = pkgs : (self.ghcWithPackages pkgs).override { ignoreCollisions = true; };
+
   # This is the Cabal builder, the function we use to build most Haskell
   # packages. It isn't the Cabal library, which is spelled "Cabal".
 
@@ -142,20 +145,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     async        = self.async_2_0_1_4;
     attoparsec   = self.attoparsec_0_10_4_0;
     caseInsensitive = self.caseInsensitive_1_1_0_1;
-    cgi          = self.cgi_3001_1_7_5;
+    cgi          = self.cgi_3001_1_8_4;
     fgl          = self.fgl_5_4_2_4;
-    GLUT         = self.GLUT_2_5_0_1;
+    GLUT         = self.GLUT_2_5_0_2;
     GLURaw       = self.GLURaw_1_4_0_0;
     haskellSrc   = self.haskellSrc_1_0_1_5;
     hashable     = self.hashable_1_2_1_0;
     html         = self.html_1_0_1_2;
-    HTTP         = self.HTTP_4000_2_8;
+    HTTP         = self.HTTP_4000_2_9;
     HUnit        = self.HUnit_1_2_5_2;
     mtl          = self.mtl_2_1_2;
-    network      = self.network_2_4_2_0;
+    network      = self.network_2_4_2_1;
     OpenGL       = self.OpenGL_2_9_1_0;
     OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
-    parallel     = self.parallel_3_2_0_3;
+    parallel     = self.parallel_3_2_0_4;
     parsec       = self.parsec_3_1_3;
     QuickCheck   = self.QuickCheck_2_6;
     random       = self.random_1_0_1_1;
@@ -166,15 +169,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     stm          = self.stm_2_4_2;
     syb          = self.syb_0_4_1;
     text         = self.text_0_11_3_1;
-    transformers = null;                        # this has become a core package in GHC 7.7
+    transformers = self.transformers_0_3_0_0;   # this has become a core package in GHC 7.7
     unorderedContainers = self.unorderedContainers_0_2_3_3;
     vector       = self.vector_0_10_9_1;
     xhtml        = self.xhtml_3000_2_1;
     zlib         = self.zlib_0_5_4_1;
     cabalInstall = self.cabalInstall_1_18_0_2;
-    alex         = self.alex_3_1_0;
+    alex         = self.alex_3_1_3;
     haddock      = self.haddock_2_13_2;
-    happy        = self.happy_1_19_0;
+    happy        = self.happy_1_19_2;
     primitive    = self.primitive_0_5_1_0;      # semi-official, but specified
   };
 
@@ -264,33 +267,33 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   haskellPlatformArgs_2012_2_0_0 = self : {
     inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_7_4;         # 7.4.1 ok
-    fgl          = self.fgl_5_4_2_4;            # 7.4.1 ok
-    GLUT         = self.GLUT_2_1_2_1;           # 7.4.1 ok
-    haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.4.1 ok
-    html         = self.html_1_0_1_2;           # 7.4.1 ok
-    HTTP         = self.HTTP_4000_2_3;          # 7.4.1 ok
-    HUnit        = self.HUnit_1_2_4_2;          # 7.4.1 ok
-    mtl          = self.mtl_2_1_1;              # 7.4.1 ok
-    network      = self.network_2_3_0_13;       # 7.4.1 ok
-    OpenGL       = self.OpenGL_2_2_3_1;         # 7.4.1 ok
-    parallel     = self.parallel_3_2_0_2;       # 7.4.1 ok
-    parsec       = self.parsec_3_1_2;           # 7.4.1 ok
-    QuickCheck   = self.QuickCheck_2_4_2;       # 7.4.1 ok
-    random       = self.random_1_0_1_1;         # 7.4.1 ok
-    regexBase    = self.regexBase_0_93_2;       # 7.4.1 ok
-    regexCompat  = self.regexCompat_0_95_1;     # 7.4.1 ok
-    regexPosix   = self.regexPosix_0_95_1;      # 7.4.1 ok
-    stm          = self.stm_2_3;                # 7.4.1 ok
-    syb          = self.syb_0_3_6_1;            # 7.4.1 ok
-    text         = self.text_0_11_2_0;          # 7.4.1 ok
-    transformers = self.transformers_0_3_0_0;   # 7.4.1 ok
-    xhtml        = self.xhtml_3000_2_1;         # 7.4.1 ok
-    zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
-    cabalInstall = self.cabalInstall_0_14_0;    # 7.4.1 ok
-    alex         = self.alex_3_0_1;             # 7.4.1 ok
-    haddock      = self.haddock_2_10_0;         # 7.4.1 ok
-    happy        = self.happy_1_18_9;           # 7.4.1 ok
+    cgi          = self.cgi_3001_1_7_4;
+    fgl          = self.fgl_5_4_2_4;
+    GLUT         = self.GLUT_2_1_2_1;
+    haskellSrc   = self.haskellSrc_1_0_1_5;
+    html         = self.html_1_0_1_2;
+    HTTP         = self.HTTP_4000_2_3;
+    HUnit        = self.HUnit_1_2_4_2;
+    mtl          = self.mtl_2_1_1;
+    network      = self.network_2_3_0_13;
+    OpenGL       = self.OpenGL_2_2_3_1;
+    parallel     = self.parallel_3_2_0_2;
+    parsec       = self.parsec_3_1_2;
+    QuickCheck   = self.QuickCheck_2_4_2;
+    random       = self.random_1_0_1_1;
+    regexBase    = self.regexBase_0_93_2;
+    regexCompat  = self.regexCompat_0_95_1;
+    regexPosix   = self.regexPosix_0_95_1;
+    stm          = self.stm_2_3;
+    syb          = self.syb_0_3_6_1;
+    text         = self.text_0_11_2_0;
+    transformers = self.transformers_0_3_0_0;
+    xhtml        = self.xhtml_3000_2_1;
+    zlib         = self.zlib_0_5_3_3;
+    cabalInstall = self.cabalInstall_0_14_0;
+    alex         = self.alex_3_0_1;
+    haddock      = self.haddock_2_10_0;
+    happy        = self.happy_1_18_9;
   };
 
   haskellPlatform_2012_2_0_0 =
@@ -538,6 +541,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {};
 
+  ariadne = callPackage ../development/libraries/haskell/ariadne {
+    Cabal = self.Cabal_1_18_1_2;
+  };
+
   arithmoi = callPackage ../development/libraries/haskell/arithmoi {};
 
   arrows = callPackage ../development/libraries/haskell/arrows {};
@@ -585,6 +592,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   benchpress = callPackage ../development/libraries/haskell/benchpress {};
 
+  bert = callPackage ../development/libraries/haskell/bert {};
+
   bifunctors = callPackage ../development/libraries/haskell/bifunctors {};
 
   bimap = callPackage ../development/libraries/haskell/bimap {};
@@ -593,6 +602,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   binary_0_7_1_0 = callPackage ../development/libraries/haskell/binary/0.7.1.0.nix {};
   binary = self.binary_0_7_1_0;
 
+  binaryConduit = callPackage ../development/libraries/haskell/binary-conduit {};
+
   binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
 
   bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {};
@@ -659,10 +670,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; };
-  Cabal_1_18_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix {
-    cabal = self.cabal.override { Cabal = null; };
-    deepseq = self.deepseq_1_3_0_1;
-  };
+  Cabal_1_18_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
@@ -676,6 +684,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   carray = callPackage ../development/libraries/haskell/carray {};
 
+  cassava = callPackage ../development/libraries/haskell/cassava {};
+
   caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {};
   caseInsensitive_1_1_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.1.nix {};
   caseInsensitive = self.caseInsensitive_1_1_0_1;
@@ -734,6 +744,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   cmdtheline = callPackage ../development/libraries/haskell/cmdtheline {};
 
+  CodecImageDevIL = callPackage ../development/libraries/haskell/codec-image-devil {};
+
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
 
   colour = callPackage ../development/libraries/haskell/colour {};
@@ -758,6 +770,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   constraints = callPackage ../development/libraries/haskell/constraints {};
 
+  controlMonadLoop = callPackage ../development/libraries/haskell/control-monad-loop {};
+
   convertible = callPackage ../development/libraries/haskell/convertible {};
 
   continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {};
@@ -855,14 +869,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
   deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
   deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {};
-  deepseq_1_3_0_1 = callPackage ../development/libraries/haskell/deepseq/1.3.0.1.nix {};
+  deepseq_1_3_0_2 = callPackage ../development/libraries/haskell/deepseq/1.3.0.2.nix {};
   deepseq = null; # a core package in recent GHCs
 
   deepseqTh = callPackage ../development/libraries/haskell/deepseq-th {};
 
-  derive = callPackage ../development/libraries/haskell/derive {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  derive = callPackage ../development/libraries/haskell/derive {};
 
   dependentMap = callPackage ../development/libraries/haskell/dependent-map {};
 
@@ -893,10 +905,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   digestiveFunctorsSnap = callPackage ../development/libraries/haskell/digestive-functors-snap {};
 
+  digits = callPackage ../development/libraries/haskell/digits {};
+
   dimensional = callPackage ../development/libraries/haskell/dimensional {};
 
   dimensionalTf = callPackage ../development/libraries/haskell/dimensional-tf {};
 
+  directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {};
+
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
   distributedStatic = callPackage ../development/libraries/haskell/distributed-static {};
@@ -931,6 +947,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   editline_0_2_1_1 = callPackage ../development/libraries/haskell/editline/0.2.1.1.nix {};
   editline = self.editline_0_2_1_1;
 
+  ekg = callPackage ../development/libraries/haskell/ekg {};
+
   elerea = callPackage ../development/libraries/haskell/elerea {};
 
   Elm = callPackage ../development/compilers/elm/elm.nix {};
@@ -953,6 +971,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   either = callPackage ../development/libraries/haskell/either {};
 
+  EitherT = callPackage ../development/libraries/haskell/EitherT {};
+
   esqueleto = callPackage ../development/libraries/haskell/esqueleto {};
 
   exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {};
@@ -992,6 +1012,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   fileEmbed = callPackage ../development/libraries/haskell/file-embed {};
 
+  filemanip = callPackage ../development/libraries/haskell/filemanip {};
+
   flexibleDefaults = callPackage ../development/libraries/haskell/flexible-defaults {};
 
   filestore = callPackage ../development/libraries/haskell/filestore {};
@@ -1009,6 +1031,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
+  foldl = callPackage ../development/libraries/haskell/foldl {};
+
   forceLayout = callPackage ../development/libraries/haskell/force-layout {};
 
   free = callPackage ../development/libraries/haskell/free {};
@@ -1076,6 +1100,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   gloss = callPackage ../development/libraries/haskell/gloss {};
 
+  glossAccelerate = callPackage ../development/libraries/haskell/gloss-accelerate {};
+
+  glossRasterAccelerate = callPackage ../development/libraries/haskell/gloss-raster-accelerate {};
+
   glpkHs = callPackage ../development/libraries/haskell/glpk-hs {};
 
   GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix {};
@@ -1094,8 +1122,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   GLUT_2_4_0_0 = callPackage ../development/libraries/haskell/GLUT/2.4.0.0.nix {
     OpenGL = self.OpenGL_2_8_0_0;
   };
-  GLUT_2_5_0_1 = callPackage ../development/libraries/haskell/GLUT/2.5.0.1.nix {
-    OpenGL = self.OpenGL_2_9_0_1;
+  GLUT_2_5_0_2 = callPackage ../development/libraries/haskell/GLUT/2.5.0.2.nix {
+    OpenGL = self.OpenGL_2_9_1_0;
   };
   GLUT = self.GLUT_2_5_0_1;
 
@@ -1152,14 +1180,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     mpi = pkgs.openmpi;
   };
 
+  haskellNames = callPackage ../development/libraries/haskell/haskell-names {};
+
+  haskellPackages = callPackage ../development/libraries/haskell/haskell-packages {};
+
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
   haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
   haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
   haskellSrc = self.haskellSrc_1_0_1_5;
 
-  haskellSrcExts_1_13_5 = callPackage ../development/libraries/haskell/haskell-src-exts/1.13.5.nix {};
-  haskellSrcExts_1_14_0 = callPackage ../development/libraries/haskell/haskell-src-exts/1.14.0.nix {};
-  haskellSrcExts = self.haskellSrcExts_1_14_0;
+  haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {};
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
@@ -1167,6 +1197,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hexpat = callPackage ../development/libraries/haskell/hexpat {};
 
+  hseCpp = callPackage ../development/libraries/haskell/hse-cpp {};
+
   HTF = callPackage ../development/libraries/haskell/HTF {};
 
   HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
@@ -1178,7 +1210,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {};
   HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {};
   HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {};
-  HTTP = self.HTTP_4000_2_8;
+  HTTP_4000_2_9 = callPackage ../development/libraries/haskell/HTTP/4000.2.9.nix {};
+  HTTP = self.HTTP_4000_2_9;
 
   httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {};
 
@@ -1234,9 +1267,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hoauth = callPackage ../development/libraries/haskell/hoauth {};
 
-  hoogle = callPackage ../development/libraries/haskell/hoogle {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  hoogle = callPackage ../development/libraries/haskell/hoogle {};
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
 
@@ -1322,6 +1353,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   indents = callPackage ../development/libraries/haskell/indents {};
 
+  indexed = callPackage ../development/libraries/haskell/indexed {};
+
+  indexedFree = callPackage ../development/libraries/haskell/indexed-free {};
+
   instantGenerics = callPackage ../development/libraries/haskell/instant-generics {};
 
   intervals = callPackage ../development/libraries/haskell/intervals {};
@@ -1403,6 +1438,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {};
 
+  liftedAsync = callPackage ../development/libraries/haskell/lifted-async {};
+
   liftedBase = callPackage ../development/libraries/haskell/lifted-base {};
 
   linear = callPackage ../development/libraries/haskell/linear {};
@@ -1557,8 +1594,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
   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_4_2_0 = callPackage ../development/libraries/haskell/network/2.4.2.0.nix {};
-  network = self.network_2_4_2_0;
+  network_2_4_2_1 = callPackage ../development/libraries/haskell/network/2.4.2.1.nix {};
+  network = self.network_2_4_2_1;
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};
@@ -1607,7 +1644,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
   OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {};
   OpenGL_2_8_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.8.0.0.nix {};
-  OpenGL_2_9_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.9.1.0.nix {};
+  OpenGL_2_9_1_0 = callPackage ../development/libraries/haskell/OpenGL/2.9.1.0.nix {};
   OpenGL = self.OpenGL_2_9_1_0;
 
   OpenGLRaw_1_3_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.3.0.0.nix {};
@@ -1636,7 +1673,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
   parallel_3_2_0_2 = callPackage ../development/libraries/haskell/parallel/3.2.0.2.nix {};
   parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
-  parallel = self.parallel_3_2_0_3;
+  parallel_3_2_0_4 = callPackage ../development/libraries/haskell/parallel/3.2.0.4.nix {};
+  parallel = self.parallel_3_2_0_4;
 
   parallelIo = callPackage ../development/libraries/haskell/parallel-io {};
 
@@ -1651,8 +1689,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parsec  = self.parsec3;
 
   parsers_0_9 = callPackage ../development/libraries/haskell/parsers/0.9.nix {};
-  parsers_0_10 = callPackage ../development/libraries/haskell/parsers/0.10.nix {};
-  parsers = self.parsers_0_10;
+  parsers_0_10_1_1 = callPackage ../development/libraries/haskell/parsers/0.10.1.1.nix {};
+  parsers = self.parsers_0_10_1_1;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -1694,6 +1732,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   pipesParse = callPackage ../development/libraries/haskell/pipes-parse {};
 
+  pipesPostgresqlSimple = callPackage ../development/libraries/haskell/pipes-postgresql-simple {};
+
   pipesSafe = callPackage ../development/libraries/haskell/pipes-safe {};
 
   pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {};
@@ -1730,6 +1770,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
+  processConduit = callPackage ../development/libraries/haskell/process-conduit {};
+
   processExtras = callPackage ../development/libraries/haskell/process-extras {};
 
   processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {};
@@ -1762,6 +1804,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   QuickCheck2 = self.QuickCheck_2_6;
   QuickCheck  = self.QuickCheck2;
 
+  quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {};
+
+  quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances {};
+
   quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {};
 
   qrencode = callPackage ../development/libraries/haskell/qrencode {
@@ -1864,6 +1910,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {};
 
+  scientific = callPackage ../development/libraries/haskell/scientific {};
+
   scotty = callPackage ../development/libraries/haskell/scotty {};
 
   securemem = callPackage ../development/libraries/haskell/securemem {};
@@ -1912,6 +1960,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   stateref = callPackage ../development/libraries/haskell/stateref {};
 
+  statestack = callPackage ../development/libraries/haskell/statestack {};
+
   StateVar = callPackage ../development/libraries/haskell/StateVar {};
 
   statistics = callPackage ../development/libraries/haskell/statistics {};
@@ -1936,9 +1986,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   strptime = callPackage ../development/libraries/haskell/strptime {};
 
-  stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
 
   syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
   syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
@@ -1987,6 +2035,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
 
+  socketActivation = callPackage ../development/libraries/haskell/socket-activation {};
+
   split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {};
   split_0_2_2 = callPackage ../development/libraries/haskell/split/0.2.2.nix {};
   split = self.split_0_2_2;
@@ -2039,10 +2089,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   tasty = callPackage ../development/libraries/haskell/tasty {};
 
+  tastyAntXml = callPackage ../development/libraries/haskell/tasty-ant-xml {};
+
+  tastyGolden = callPackage ../development/libraries/haskell/tasty-golden {};
+
+  tastyHspec = callPackage ../development/libraries/haskell/tasty-hspec {};
+
   tastyHunit = callPackage ../development/libraries/haskell/tasty-hunit {};
 
+  tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {};
+
   tastySmallcheck = callPackage ../development/libraries/haskell/tasty-smallcheck {};
 
+  tastyTh = callPackage ../development/libraries/haskell/tasty-th {};
+
   templateDefault = callPackage ../development/libraries/haskell/template-default {};
 
   temporary = callPackage ../development/libraries/haskell/temporary {};
@@ -2111,13 +2171,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   tlsExtra = callPackage ../development/libraries/haskell/tls-extra {};
 
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
-  transformers_0_3_0_0 = callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {};
+  transformers_0_3_0_0 = if (pkgs.stdenv.lib.versionOlder ghc.version "7.7") then
+     (callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {}) else null;
   transformers = self.transformers_0_3_0_0;
 
   transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
 
   transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {};
 
+  traverseWithClass = callPackage ../development/libraries/haskell/traverse-with-class {};
+
   trifecta_1_1 = callPackage ../development/libraries/haskell/trifecta/1.1.nix {
     parsers = self.parsers_0_9;
   };
@@ -2126,6 +2189,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
+  typeEq = callPackage ../development/libraries/haskell/type-eq {};
+
   typeEquality = callPackage ../development/libraries/haskell/type-equality {};
 
   typeLevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {};
@@ -2243,6 +2308,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   };
   WebBitsHtml = self.WebBitsHtml_1_0_2;
 
+  webRoutes = callPackage ../development/libraries/haskell/web-routes {};
+
+  webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {};
+
   CouchDB = callPackage ../development/libraries/haskell/CouchDB {};
 
   wlPprint = callPackage ../development/libraries/haskell/wl-pprint {};
@@ -2386,8 +2455,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   alex_3_0_1 = callPackage ../development/tools/parsing/alex/3.0.1.nix {};
   alex_3_0_2 = callPackage ../development/tools/parsing/alex/3.0.2.nix {};
   alex_3_0_5 = callPackage ../development/tools/parsing/alex/3.0.5.nix {};
-  alex_3_1_0 = callPackage ../development/tools/parsing/alex/3.1.0.nix {};
-  alex = self.alex_3_1_0;
+  alex_3_1_3 = callPackage ../development/tools/parsing/alex/3.1.3.nix {};
+  alex = self.alex_3_1_3;
 
   alexMeta = callPackage ../development/tools/haskell/alex-meta {};
 
@@ -2417,8 +2486,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   happy_1_18_9 = callPackage ../development/tools/parsing/happy/1.18.9.nix {};
   happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {};
   happy_1_18_11 = callPackage ../development/tools/parsing/happy/1.18.11.nix {};
-  happy_1_19_0 = callPackage ../development/tools/parsing/happy/1.19.0.nix {};
-  happy = self.happy_1_19_0;
+  happy_1_19_2 = callPackage ../development/tools/parsing/happy/1.19.2.nix {};
+  happy = self.happy_1_19_2;
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
@@ -2428,9 +2497,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   hasktags = callPackage ../development/tools/haskell/hasktags {};
 
-  hlint = callPackage ../development/tools/haskell/hlint {
-    haskellSrcExts = self.haskellSrcExts_1_14_0;
-  };
+  hdevtools = callPackage ../development/tools/haskell/hdevtools {};
+
+  hlint = callPackage ../development/tools/haskell/hlint {};
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 18ec19437dba..9baf51c2d3d8 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,7 +1,9 @@
-{ self, fetchurl, lib }:
+{ self, fetchurl, fetchgit ? null, lib }:
 
 {
-  full."CSSselect"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSselect"."0.x" =
+    self.by-version."CSSselect"."0.3.11";
+  by-version."CSSselect"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "CSSselect-0.3.11";
     src = [
       (fetchurl {
@@ -10,16 +12,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSselect"."0.x" or []);
+      (self.nativeDeps."CSSselect" or []);
     deps = [
-      self.full."CSSwhat"."0.4"
-      self.full."domutils"."1.2"
+      self.by-version."CSSwhat"."0.4.1"
+      self.by-version."domutils"."1.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSselect" ];
   };
-  full."CSSwhat"."0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.1";
+  by-version."CSSwhat"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "CSSwhat-0.4.1";
     src = [
       (fetchurl {
@@ -28,46 +32,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSwhat"."0.4" or []);
+      (self.nativeDeps."CSSwhat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSwhat" ];
   };
-  full."abbrev"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."abbrev"."1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "abbrev" ];
-  };
-  full."abbrev"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "abbrev-1.0.4";
+  by-spec."StringScanner"."~0.0.3" =
+    self.by-version."StringScanner"."0.0.3";
+  by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "StringScanner-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+        url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz";
+        sha1 = "bf06ecfdc90046711f4e6175549243b78ceb38aa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."1.0.x" or []);
+      (self.nativeDeps."StringScanner" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "abbrev" ];
+    passthru.names = [ "StringScanner" ];
   };
-  full."abbrev"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.4";
+  by-version."abbrev"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "abbrev-1.0.4";
     src = [
       (fetchurl {
@@ -76,14 +68,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."~1.0.4" or []);
+      (self.nativeDeps."abbrev" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "abbrev" ];
   };
-  full."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1.0.x" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."active-x-obfuscator"."0.0.1" =
+    self.by-version."active-x-obfuscator"."0.0.1";
+  by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "active-x-obfuscator-0.0.1";
     src = [
       (fetchurl {
@@ -92,31 +90,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."active-x-obfuscator"."0.0.1" or []);
+      (self.nativeDeps."active-x-obfuscator" or []);
     deps = [
-      self.full."zeparser"."0.0.5"
+      self.by-version."zeparser"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "active-x-obfuscator" ];
   };
-  full."addressparser"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "addressparser-0.1.3";
+  by-spec."addressparser"."~0.2.0" =
+    self.by-version."addressparser"."0.2.0";
+  by-version."addressparser"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "addressparser-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-        sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.0.tgz";
+        sha1 = "853383313b7b60259ba4558ef1c0bc30efac08fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."addressparser"."~0.1" or []);
+      (self.nativeDeps."addressparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "addressparser" ];
   };
-  full."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."0.2.1" =
+    self.by-version."adm-zip"."0.2.1";
+  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.2.1";
     src = [
       (fetchurl {
@@ -125,14 +127,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."0.2.1" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."adm-zip"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."~0.4.3" =
+    self.by-version."adm-zip"."0.4.3";
+  by-version."adm-zip"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.4.3";
     src = [
       (fetchurl {
@@ -141,48 +145,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."~0.4.3" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."almond"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "almond-0.2.6";
+  by-spec."almond"."*" =
+    self.by-version."almond"."0.2.7";
+  by-version."almond"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "almond-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/almond/-/almond-0.2.6.tgz";
-        sha1 = "7165a9246894239efe74ec4a41d6c97898eafc05";
+        url = "http://registry.npmjs.org/almond/-/almond-0.2.7.tgz";
+        sha1 = "9cda2385a3198cbd8fea8e0c6edc79d5a2c354c2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."almond"."*" or []);
+      (self.nativeDeps."almond" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "almond" ];
   };
-  "almond" = self.full."almond"."*";
-  full."ambi"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "ambi-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.4.tgz";
-        sha1 = "1c0bafb3b1058754e1c3f9d7383948fc1b7c6926";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ambi"."~2.1.4" or []);
-    deps = [
-      self.full."typechecker"."~2.0.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ambi" ];
-  };
-  full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
+  "almond" = self.by-version."almond"."0.2.7";
+  by-spec."amdefine"."*" =
+    self.by-version."amdefine"."0.1.0";
+  by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "amdefine-0.1.0";
     src = [
       (fetchurl {
@@ -191,47 +182,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine"."*" or []);
+      (self.nativeDeps."amdefine" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
   };
-  "amdefine" = self.full."amdefine"."*";
-  full."amdefine".">=0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "amdefine-0.1.0";
+  "amdefine" = self.by-version."amdefine"."0.1.0";
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.0";
+  by-spec."ansi"."~0.2.1" =
+    self.by-version."ansi"."0.2.1";
+  by-version."ansi"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ansi-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
-        sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
+        url = "http://registry.npmjs.org/ansi/-/ansi-0.2.1.tgz";
+        sha1 = "3ab568ec18cd0ab7753c83117d57dad684a1c017";
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine".">=0.0.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "amdefine" ];
-  };
-  full."ansi"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
-        sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi"."~0.1.2" or []);
+      (self.nativeDeps."ansi" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  full."ansi-remover"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansi-remover"."*" =
+    self.by-version."ansi-remover"."0.0.2";
+  by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-remover-0.0.2";
     src = [
       (fetchurl {
@@ -240,15 +221,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-remover"."*" or []);
+      (self.nativeDeps."ansi-remover" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
   };
-  "ansi-remover" = self.full."ansi-remover"."*";
-  full."ansi-styles"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
+  by-spec."ansi-styles"."~0.1.0" =
+    self.by-version."ansi-styles"."0.1.2";
+  by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-styles-0.1.2";
     src = [
       (fetchurl {
@@ -257,14 +240,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.1.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansi-styles"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansi-styles"."~0.2.0" =
+    self.by-version."ansi-styles"."0.2.0";
+  by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-styles-0.2.0";
     src = [
       (fetchurl {
@@ -273,14 +258,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.2.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansicolors"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansicolors"."~0.2.1" =
+    self.by-version."ansicolors"."0.2.1";
+  by-version."ansicolors"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ansicolors-0.2.1";
     src = [
       (fetchurl {
@@ -289,31 +276,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansicolors"."~0.2.1" or []);
+      (self.nativeDeps."ansicolors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
   };
-  full."apparatus".">= 0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "apparatus-0.0.7";
+  by-spec."apparatus".">= 0.0.4" =
+    self.by-version."apparatus"."0.0.8";
+  by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "apparatus-0.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.7.tgz";
-        sha1 = "033f355507b6851ebeb1bd9475ede23c802327fe";
+        url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
+        sha1 = "14e8aeb84189208b7f8d77f09d9f0307778b079a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."apparatus".">= 0.0.4" or []);
+      (self.nativeDeps."apparatus" or []);
     deps = [
-      self.full."sylvester".">= 0.0.8"
+      self.by-version."sylvester"."0.0.21"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "apparatus" ];
   };
-  full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archiver"."~0.4.6" =
+    self.by-version."archiver"."0.4.10";
+  by-version."archiver"."0.4.10" = lib.makeOverridable self.buildNodePackage {
     name = "archiver-0.4.10";
     src = [
       (fetchurl {
@@ -322,32 +313,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archiver"."~0.4.6" or []);
+      (self.nativeDeps."archiver" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archiver" ];
   };
-  full."archy"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "archy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
-        sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."archy"."0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "archy" ];
-  };
-  full."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0" =
+    self.by-version."archy"."0.0.2";
+  by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "archy-0.0.2";
     src = [
       (fetchurl {
@@ -356,32 +333,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archy"."0.0.2" or []);
+      (self.nativeDeps."archy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
-  full."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "argparse-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."argparse"."0.1.15" or []);
-    deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "argparse" ];
-  };
-  full."argparse"."~ 0.1.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
+  by-spec."argparse"."0.1.15" =
+    self.by-version."argparse"."0.1.15";
+  by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "argparse-0.1.15";
     src = [
       (fetchurl {
@@ -390,16 +353,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."argparse"."~ 0.1.11" or []);
+      (self.nativeDeps."argparse" or []);
     deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
   };
-  full."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.15";
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "asn1-0.1.11";
     src = [
       (fetchurl {
@@ -408,32 +375,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."asn1"."0.1.11" or []);
+      (self.nativeDeps."asn1" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "asn1" ];
   };
-  full."assert"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-0.4.9";
+  by-spec."assert"."*" =
+    self.by-version."assert"."1.0.0";
+  by-version."assert"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "assert-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assert/-/assert-0.4.9.tgz";
-        sha1 = "45faff1a58f718508118873dead940c8b51db939";
+        url = "http://registry.npmjs.org/assert/-/assert-1.0.0.tgz";
+        sha1 = "11e0629e3bbc13e293bf79570c9febe98b2d7997";
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert"."*" or []);
+      (self.nativeDeps."assert" or []);
     deps = [
-      self.full."util".">= 0.4.9"
+      self.by-version."util"."0.10.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert" ];
   };
-  "assert" = self.full."assert"."*";
-  full."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "assert" = self.by-version."assert"."1.0.0";
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "assert-plus-0.1.2";
     src = [
       (fetchurl {
@@ -442,14 +413,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert-plus"."0.1.2" or []);
+      (self.nativeDeps."assert-plus" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
   };
-  full."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."assertion-error"."1.0.0" =
+    self.by-version."assertion-error"."1.0.0";
+  by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "assertion-error-1.0.0";
     src = [
       (fetchurl {
@@ -458,14 +431,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assertion-error"."1.0.0" or []);
+      (self.nativeDeps."assertion-error" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assertion-error" ];
   };
-  full."async"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."*" =
+    self.by-version."async"."0.2.9";
+  by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.2.9";
     src = [
       (fetchurl {
@@ -474,15 +449,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."*" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  "async" = self.full."async"."*";
-  full."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+  "async" = self.by-version."async"."0.2.9";
+  by-spec."async"."0.1.15" =
+    self.by-version."async"."0.1.15";
+  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.15";
     src = [
       (fetchurl {
@@ -491,78 +468,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.15" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.1.22" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.1.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.2.x" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.22";
     src = [
       (fetchurl {
@@ -571,115 +486,73 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.1.22" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.8" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."0.1.x" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.7" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."aws-sdk"."*" =
+    self.by-version."aws-sdk"."2.0.0-rc1";
+  by-version."aws-sdk"."2.0.0-rc1" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.0-rc1";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc1.tgz";
+        sha1 = "8f3b045ffa2050695a692f12ea76eff6d01a2349";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."~0.2.9" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
-    src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sdk"."*" or []);
-    deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.full."aws-sdk"."*";
-  full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc1";
+  by-spec."aws-sdk".">=1.2.0 <2" =
+    self.by-version."aws-sdk"."1.13.0";
+  by-version."aws-sdk"."1.13.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-1.13.0";
     src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.13.0.tgz";
+        sha1 = "575b56296006d555bc0d14c1109174d44c194545";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk".">=1.2.0 <2" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  full."aws-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.2.0" =
+    self.by-version."aws-sign"."0.2.0";
+  by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.2.0";
     src = [
       (fetchurl {
@@ -688,14 +561,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.2.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."aws-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.3.0" =
+    self.by-version."aws-sign"."0.3.0";
+  by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.3.0";
     src = [
       (fetchurl {
@@ -704,14 +579,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.3.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."backbone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."backbone"."*" =
+    self.by-version."backbone"."1.1.0";
+  by-version."backbone"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backbone-1.1.0";
     src = [
       (fetchurl {
@@ -720,16 +597,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backbone"."*" or []);
+      (self.nativeDeps."backbone" or []);
     deps = [
-      self.full."underscore".">=1.4.3"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
   };
-  "backbone" = self.full."backbone"."*";
-  full."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  "backbone" = self.by-version."backbone"."1.1.0";
+  by-spec."backoff"."2.1.0" =
+    self.by-version."backoff"."2.1.0";
+  by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backoff-2.1.0";
     src = [
       (fetchurl {
@@ -738,14 +617,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backoff"."2.1.0" or []);
+      (self.nativeDeps."backoff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
   };
-  full."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "base64id-0.1.0";
     src = [
       (fetchurl {
@@ -754,14 +635,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."base64id"."0.1.0" or []);
+      (self.nativeDeps."base64id" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
   };
-  full."bcrypt"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bcrypt"."*" =
+    self.by-version."bcrypt"."0.7.7";
+  by-version."bcrypt"."0.7.7" = lib.makeOverridable self.buildNodePackage {
     name = "bcrypt-0.7.7";
     src = [
       (fetchurl {
@@ -770,16 +653,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bcrypt"."*" or []);
+      (self.nativeDeps."bcrypt" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
   };
-  "bcrypt" = self.full."bcrypt"."*";
-  full."binary"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "bcrypt" = self.by-version."bcrypt"."0.7.7";
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "binary-0.3.0";
     src = [
       (fetchurl {
@@ -788,16 +673,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."binary"."~0.3.0" or []);
+      (self.nativeDeps."binary" or []);
     deps = [
-      self.full."chainsaw"."~0.1.0"
-      self.full."buffers"."~0.1.1"
+      self.by-version."chainsaw"."0.1.0"
+      self.by-version."buffers"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "binary" ];
   };
-  full."bindings"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."*" =
+    self.by-version."bindings"."1.1.1";
+  by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.1.1";
     src = [
       (fetchurl {
@@ -806,14 +693,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."*" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."1.0.0" =
+    self.by-version."bindings"."1.0.0";
+  by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.0.0";
     src = [
       (fetchurl {
@@ -822,14 +711,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."1.0.0" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."block-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "block-stream-0.0.7";
     src = [
       (fetchurl {
@@ -838,48 +729,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."*" or []);
+      (self.nativeDeps."block-stream" or []);
     deps = [
-      self.full."inherits"."~2.0.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
   };
-  full."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.7";
+  by-spec."block-stream"."0.0.7" =
+    self.by-version."block-stream"."0.0.7";
+  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 = "blueimp-md5-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
-        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+        url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
+        sha1 = "041ed794862f3c5f2847282a7481329f1d2352cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."0.0.7" or []);
-    deps = [
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  full."blueimp-md5"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "blueimp-md5-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.0.3.tgz";
-        sha1 = "932f8fa56652701823cee46cecc0477c88333ab2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."blueimp-md5"."~1.0.3" or []);
+      (self.nativeDeps."blueimp-md5" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "blueimp-md5" ];
   };
-  full."boom"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.3.x" =
+    self.by-version."boom"."0.3.8";
+  by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.3.8";
     src = [
       (fetchurl {
@@ -888,15 +768,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.3.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."boom"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.4.2";
     src = [
       (fetchurl {
@@ -905,122 +787,78 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.4.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."bower"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bower"."*" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bower" ];
-  };
-  "bower" = self.full."bower"."*";
-  full."bower".">=0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bower".">=0.9.0" or []);
-    deps = [
-      self.full."abbrev"."~1.0.4"
-      self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.5.0"
-      self.full."bower-endpoint-parser"."~0.2.0"
-      self.full."bower-json"."~0.4.0"
-      self.full."bower-logger"."~0.2.1"
-      self.full."bower-registry-client"."~0.1.4"
-      self.full."cardinal"."~0.4.0"
-      self.full."chalk"."~0.2.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."fstream"."~0.1.22"
-      self.full."fstream-ignore"."~0.0.6"
-      self.full."glob"."~3.2.1"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.3.0"
-      self.full."junk"."~0.2.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."mout"."~0.7.0"
-      self.full."nopt"."~2.1.1"
-      self.full."lru-cache"."~2.3.0"
-      self.full."open"."~0.0.3"
-      self.full."osenv"."0.0.3"
-      self.full."promptly"."~0.2.0"
-      self.full."q"."~0.9.2"
-      self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.3.0"
-      self.full."retry"."~0.6.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."semver"."~2.1.0"
-      self.full."stringify-object"."~0.1.4"
-      self.full."sudo-block"."~0.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."tmp"."~0.0.20"
-      self.full."unzip"."~0.1.7"
-      self.full."update-notifier"."~0.1.3"
-      self.full."which"."~1.0.5"
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.2.8";
+  by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.2.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.8.tgz";
+        sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."archy"."0.0.2"
+      self.by-version."bower-config"."0.5.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower-registry-client"."0.1.5"
+      self.by-version."cardinal"."0.4.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."decompress-zip"."0.0.3"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."glob"."3.2.7"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."junk"."0.2.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mout"."0.7.1"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."open"."0.0.4"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."promptly"."0.2.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-progress"."0.3.1"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."semver"."2.1.0"
+      self.by-version."stringify-object"."0.1.7"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."tmp"."0.0.22"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."which"."1.0.5"
+      self.by-version."p-throttler"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  full."bower-config"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  "bower" = self.by-version."bower"."1.2.8";
+  by-spec."bower".">=0.9.0" =
+    self.by-version."bower"."1.2.8";
+  by-spec."bower"."~1.2.0" =
+    self.by-version."bower"."1.2.8";
+  by-spec."bower-config"."~0.4.3" =
+    self.by-version."bower-config"."0.4.5";
+  by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage {
     name = "bower-config-0.4.5";
     src = [
       (fetchurl {
@@ -1029,18 +867,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.4.3" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-config"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.0";
+  by-version."bower-config"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-config-0.5.0";
     src = [
       (fetchurl {
@@ -1049,18 +889,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.5.0" or []);
+      (self.nativeDeps."bower-config" or []);
     deps = [
-      self.full."graceful-fs"."~2.0.0"
-      self.full."mout"."~0.6.0"
-      self.full."optimist"."~0.6.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-endpoint-parser"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-endpoint-parser"."~0.2.0" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-endpoint-parser-0.2.1";
     src = [
       (fetchurl {
@@ -1069,14 +911,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-endpoint-parser"."~0.2.0" or []);
+      (self.nativeDeps."bower-endpoint-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-endpoint-parser" ];
   };
-  full."bower-json"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-json-0.4.0";
     src = [
       (fetchurl {
@@ -1085,17 +929,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-json"."~0.4.0" or []);
+      (self.nativeDeps."bower-json" or []);
     deps = [
-      self.full."deep-extend"."~0.2.5"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."intersect"."~0.0.3"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."intersect"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-json" ];
   };
-  full."bower-logger"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-logger"."~0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-logger-0.2.1";
     src = [
       (fetchurl {
@@ -1104,14 +950,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-logger"."~0.2.1" or []);
+      (self.nativeDeps."bower-logger" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-logger" ];
   };
-  full."bower-registry-client"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-registry-client"."~0.1.4" =
+    self.by-version."bower-registry-client"."0.1.5";
+  by-version."bower-registry-client"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "bower-registry-client-0.1.5";
     src = [
       (fetchurl {
@@ -1120,22 +968,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-registry-client"."~0.1.4" or []);
+      (self.nativeDeps."bower-registry-client" or []);
     deps = [
-      self.full."async"."~0.2.8"
-      self.full."bower-config"."~0.4.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."lru-cache"."~2.3.0"
-      self.full."request"."~2.27.0"
-      self.full."request-replay"."~0.2.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."mkdirp"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."bower-config"."0.4.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-replay"."0.2.0"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-registry-client" ];
   };
-  full."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.7" =
+    self.by-version."broadway"."0.2.7";
+  by-version."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "broadway-0.2.7";
     src = [
       (fetchurl {
@@ -1144,40 +994,46 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.7" or []);
+      (self.nativeDeps."broadway" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."eventemitter2"."0.4.11"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."winston"."0.6.2"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
-  full."broadway"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "broadway-0.2.7";
+  by-spec."broadway"."0.2.9" =
+    self.by-version."broadway"."0.2.9";
+  by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+    name = "broadway-0.2.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
-        sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz";
+        sha1 = "887008b2257f4171089de5cb9b656969b6c8c9e8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.x" or []);
+      (self.nativeDeps."broadway" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."eventemitter2"."0.4.12"
+      self.by-version."nconf"."0.6.9"
+      self.by-version."winston"."0.7.2"
+      self.by-version."utile"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
-  full."browserchannel"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.x" =
+    self.by-version."broadway"."0.2.9";
+  by-spec."browserchannel"."*" =
+    self.by-version."browserchannel"."1.0.8";
+  by-version."browserchannel"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "browserchannel-1.0.8";
     src = [
       (fetchurl {
@@ -1186,18 +1042,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."browserchannel"."*" or []);
+      (self.nativeDeps."browserchannel" or []);
     deps = [
-      self.full."hat"."*"
-      self.full."connect"."~2"
-      self.full."request"."~2"
+      self.by-version."hat"."0.0.3"
+      self.by-version."connect"."2.11.2"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
-  "browserchannel" = self.full."browserchannel"."*";
-  full."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  "browserchannel" = self.by-version."browserchannel"."1.0.8";
+  by-spec."bson"."0.1.8" =
+    self.by-version."bson"."0.1.8";
+  by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.1.8";
     src = [
       (fetchurl {
@@ -1206,14 +1064,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.1.8" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bson"."0.2.2" =
+    self.by-version."bson"."0.2.2";
+  by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.2.2";
     src = [
       (fetchurl {
@@ -1222,46 +1082,53 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.2.2" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.1.1";
+  by-spec."bson"."0.2.3" =
+    self.by-version."bson"."0.2.3";
+  by-version."bson"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bson-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
-        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.3.tgz";
+        sha1 = "d9f6c343fd9f146e27da03b60f2e13e1406a1aea";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.1.1" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
+      self.by-version."nan"."0.4.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "buffer-crc32" ];
+    passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
+  by-spec."buffer-crc32"."0.1.1" =
+    self.by-version."buffer-crc32"."0.1.1";
+  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "buffer-crc32-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-crc32"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffer-crc32-0.2.1";
     src = [
       (fetchurl {
@@ -1270,14 +1137,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."~0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffers"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."~0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffers-0.1.1";
     src = [
       (fetchurl {
@@ -1286,14 +1157,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffers"."~0.1.1" or []);
+      (self.nativeDeps."buffers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffers" ];
   };
-  full."buffertools"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffertools"."*" =
+    self.by-version."buffertools"."1.1.1";
+  by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffertools-1.1.1";
     src = [
       (fetchurl {
@@ -1302,49 +1175,57 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools"."*" or []);
+      (self.nativeDeps."buffertools" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
-  "buffertools" = self.full."buffertools"."*";
-  full."buffertools".">=1.1.1 <2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffertools-1.1.1";
+  "buffertools" = self.by-version."buffertools"."1.1.1";
+  by-spec."buffertools".">=1.1.1 <2.0.0" =
+    self.by-version."buffertools"."1.1.1";
+  by-spec."bunyan"."0.21.1" =
+    self.by-version."bunyan"."0.21.1";
+  by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bunyan-0.21.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
-        sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools".">=1.1.1 <2.0.0" or []);
+      (self.nativeDeps."bunyan" or []);
     deps = [
+      self.by-version."mv"."0.0.5"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "buffertools" ];
+    passthru.names = [ "bunyan" ];
   };
-  full."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bunyan-0.21.1";
+  by-spec."bytes"."0.1.0" =
+    self.by-version."bytes"."0.1.0";
+  by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
-        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bunyan"."0.21.1" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
-      self.full."mv"."0.0.5"
-      self.full."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "bunyan" ];
+    passthru.names = [ "bytes" ];
   };
-  full."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bytes"."0.2.0" =
+    self.by-version."bytes"."0.2.0";
+  by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "bytes-0.2.0";
     src = [
       (fetchurl {
@@ -1353,14 +1234,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bytes"."0.2.0" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
   };
-  full."cardinal"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bytes"."0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."~0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-spec."cardinal"."~0.4.0" =
+    self.by-version."cardinal"."0.4.2";
+  by-version."cardinal"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "cardinal-0.4.2";
     src = [
       (fetchurl {
@@ -1369,16 +1272,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cardinal"."~0.4.0" or []);
+      (self.nativeDeps."cardinal" or []);
     deps = [
-      self.full."redeyed"."~0.4.0"
-      self.full."ansicolors"."~0.2.1"
+      self.by-version."redeyed"."0.4.2"
+      self.by-version."ansicolors"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cardinal" ];
   };
-  full."chai"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chai"."*" =
+    self.by-version."chai"."1.8.1";
+  by-version."chai"."1.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "chai-1.8.1";
     src = [
       (fetchurl {
@@ -1387,17 +1292,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chai"."*" or []);
+      (self.nativeDeps."chai" or []);
     deps = [
-      self.full."assertion-error"."1.0.0"
-      self.full."deep-eql"."0.1.3"
+      self.by-version."assertion-error"."1.0.0"
+      self.by-version."deep-eql"."0.1.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
   };
-  "chai" = self.full."chai"."*";
-  full."chainsaw"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "chai" = self.by-version."chai"."1.8.1";
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chainsaw-0.1.0";
     src = [
       (fetchurl {
@@ -1406,15 +1313,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chainsaw"."~0.1.0" or []);
+      (self.nativeDeps."chainsaw" or []);
     deps = [
-      self.full."traverse".">=0.3.0 <0.4"
+      self.by-version."traverse"."0.3.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chainsaw" ];
   };
-  full."chalk"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.1.1" =
+    self.by-version."chalk"."0.1.1";
+  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.1.1";
     src = [
       (fetchurl {
@@ -1423,34 +1332,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.1.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."chalk"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk"."~0.1.1" or []);
-    deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
-  };
-  full."chalk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.0" =
+    self.by-version."chalk"."0.2.1";
+  by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.2.1";
     src = [
       (fetchurl {
@@ -1459,16 +1352,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.2.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.2.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.1" =
+    self.by-version."chalk"."0.2.1";
+  by-spec."character-parser"."1.2.0" =
+    self.by-version."character-parser"."1.2.0";
+  by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "character-parser-1.2.0";
     src = [
       (fetchurl {
@@ -1477,14 +1374,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."character-parser"."1.2.0" or []);
+      (self.nativeDeps."character-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "character-parser" ];
   };
-  full."cheerio"."~0.10.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.10.8" =
+    self.by-version."cheerio"."0.10.8";
+  by-version."cheerio"."0.10.8" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-0.10.8";
     src = [
       (fetchurl {
@@ -1493,58 +1392,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.10.8" or []);
-    deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."2.x"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cheerio" ];
-  };
-  full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.0" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."2.6.0"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
+  by-spec."cheerio"."~0.12.0" =
+    self.by-version."cheerio"."0.12.4";
+  by-version."cheerio"."0.12.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cheerio-0.12.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.4.tgz";
+        sha1 = "c199626e9e1eb0d4233a91a4793e7f8aaa69a18b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.1" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."3.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio-select"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.12.1" =
+    self.by-version."cheerio"."0.12.4";
+  by-spec."cheerio-select"."*" =
+    self.by-version."cheerio-select"."0.0.3";
+  by-version."cheerio-select"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-select-0.0.3";
     src = [
       (fetchurl {
@@ -1553,15 +1438,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio-select"."*" or []);
+      (self.nativeDeps."cheerio-select" or []);
     deps = [
-      self.full."CSSselect"."0.x"
+      self.by-version."CSSselect"."0.3.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio-select" ];
   };
-  full."child-process-close"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."child-process-close"."~0.1.1" =
+    self.by-version."child-process-close"."0.1.1";
+  by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "child-process-close-0.1.1";
     src = [
       (fetchurl {
@@ -1570,14 +1457,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."child-process-close"."~0.1.1" or []);
+      (self.nativeDeps."child-process-close" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
   };
-  full."chmodr"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chmodr"."~0.1.0" =
+    self.by-version."chmodr"."0.1.0";
+  by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chmodr-0.1.0";
     src = [
       (fetchurl {
@@ -1586,30 +1475,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chmodr"."~0.1.0" or []);
+      (self.nativeDeps."chmodr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
   };
-  full."chokidar"."~0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "chokidar-0.6.3";
+  by-spec."chokidar"."~0.7.0" =
+    self.by-version."chokidar"."0.7.1";
+  by-version."chokidar"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "chokidar-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.6.3.tgz";
-        sha1 = "e85968fa235f21773d388c617af085bf2104425a";
+        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.7.1.tgz";
+        sha1 = "a5a5b2d5df265f96d90b9888f45a9e604254112c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chokidar"."~0.6" or []);
+      (self.nativeDeps."chokidar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
   };
-  full."chownr"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chownr"."0" =
+    self.by-version."chownr"."0.0.1";
+  by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "chownr-0.0.1";
     src = [
       (fetchurl {
@@ -1618,31 +1511,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chownr"."0" or []);
+      (self.nativeDeps."chownr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  full."clean-css"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-1.1.3";
+  by-spec."clean-css"."2.0.x" =
+    self.by-version."clean-css"."2.0.2";
+  by-version."clean-css"."2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.3.tgz";
-        sha1 = "5442cbf45643e09bdcfae25f2b5d8eb36e168ae1";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz";
+        sha1 = "69ca3c124f4a476a154c081e9d5a54f1bcdec9c4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clean-css"."~1.1.1" or []);
+      (self.nativeDeps."clean-css" or []);
     deps = [
-      self.full."commander"."2.0.x"
+      self.by-version."commander"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
-  full."cli"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clean-css"."~2.0.0" =
+    self.by-version."clean-css"."2.0.2";
+  by-spec."cli"."0.4.x" =
+    self.by-version."cli"."0.4.5";
+  by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
     name = "cli-0.4.5";
     src = [
       (fetchurl {
@@ -1651,15 +1550,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli"."0.4.x" or []);
+      (self.nativeDeps."cli" or []);
     deps = [
-      self.full."glob".">= 3.1.4"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
   };
-  full."cli-color"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-color"."~0.2.2" =
+    self.by-version."cli-color"."0.2.3";
+  by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "cli-color-0.2.3";
     src = [
       (fetchurl {
@@ -1668,16 +1569,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-color"."~0.2.2" or []);
+      (self.nativeDeps."cli-color" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."memoizee"."~0.2.5"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."memoizee"."0.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-color" ];
   };
-  full."cli-table"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-table"."~0.2.0" =
+    self.by-version."cli-table"."0.2.0";
+  by-version."cli-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cli-table-0.2.0";
     src = [
       (fetchurl {
@@ -1686,15 +1589,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-table"."~0.2.0" or []);
+      (self.nativeDeps."cli-table" or []);
     deps = [
-      self.full."colors"."0.3.0"
+      self.by-version."colors"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-table" ];
   };
-  full."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cliff"."0.1.8" =
+    self.by-version."cliff"."0.1.8";
+  by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "cliff-0.1.8";
     src = [
       (fetchurl {
@@ -1703,17 +1608,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cliff"."0.1.8" or []);
+      (self.nativeDeps."cliff" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."eyes"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."colors"."0.6.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
   };
-  full."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.5" =
+    self.by-version."clone"."0.1.5";
+  by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.5";
     src = [
       (fetchurl {
@@ -1722,14 +1629,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.5" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.6" =
+    self.by-version."clone"."0.1.6";
+  by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.6";
     src = [
       (fetchurl {
@@ -1738,32 +1647,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.6" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."cmd-shim"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
-        sha1 = "75e917c2185240854718c686346770640083d7bc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.0.1" or []);
-    deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cmd-shim" ];
-  };
-  full."cmd-shim"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cmd-shim"."~1.1.1" =
+    self.by-version."cmd-shim"."1.1.1";
+  by-version."cmd-shim"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "cmd-shim-1.1.1";
     src = [
       (fetchurl {
@@ -1772,65 +1665,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.1.0" or []);
+      (self.nativeDeps."cmd-shim" or []);
     deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
   };
-  full."coffee-script"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  "coffee-script" = self.full."coffee-script"."*";
-  full."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."1.6.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">=1.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."coffee-script"."*" =
+    self.by-version."coffee-script"."1.6.3";
+  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.6.3";
     src = [
       (fetchurl {
@@ -1839,14 +1685,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script".">=1.2.0" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script"."~1.3.3" = lib.makeOverridable self.buildNodePackage {
+  "coffee-script" = self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."1.6.3" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">= 0.0.1" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">=1.2.0" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."~1.3.3" =
+    self.by-version."coffee-script"."1.3.3";
+  by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.3.3";
     src = [
       (fetchurl {
@@ -1855,30 +1710,39 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.3.3" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script"."~1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
+  by-spec."coffee-script"."~1.6" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script-redux"."git://github.com/michaelficarra/CoffeeScriptRedux.git#9895cd1641fdf3a2424e662ab7583726bb0e35b3" =
+    self.by-version."coffee-script-redux"."2.0.0-beta4";
+  by-version."coffee-script-redux"."2.0.0-beta4" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-redux-2.0.0-beta4";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+      (fetchgit {
+        url = "git://github.com/michaelficarra/CoffeeScriptRedux.git";
+        rev = "9895cd1641fdf3a2424e662ab7583726bb0e35b3";
+        sha256 = "d70e659aa7cdb50a98959dec0e2a8c916200e31cb770f04faa2ae92a55d1e66d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.6" or []);
+      (self.nativeDeps."coffee-script-redux" or []);
     deps = [
+      self.by-version."StringScanner"."0.0.3"
+      self.by-version."jedediah"."0.1.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coffee-script" ];
+    passthru.names = [ "coffee-script-redux" ];
   };
-  full."color"."~0.4.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color"."~0.4.4" =
+    self.by-version."color"."0.4.4";
+  by-version."color"."0.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "color-0.4.4";
     src = [
       (fetchurl {
@@ -1887,16 +1751,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color"."~0.4.4" or []);
+      (self.nativeDeps."color" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
-      self.full."color-string"."0.1.x"
+      self.by-version."color-convert"."0.2.1"
+      self.by-version."color-string"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color" ];
   };
-  full."color-convert"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-convert"."0.2.x" =
+    self.by-version."color-convert"."0.2.1";
+  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "color-convert-0.2.1";
     src = [
       (fetchurl {
@@ -1905,14 +1771,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-convert"."0.2.x" or []);
+      (self.nativeDeps."color-convert" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-convert" ];
   };
-  full."color-string"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-string"."0.1.x" =
+    self.by-version."color-string"."0.1.2";
+  by-version."color-string"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "color-string-0.1.2";
     src = [
       (fetchurl {
@@ -1921,15 +1789,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-string"."0.1.x" or []);
+      (self.nativeDeps."color-string" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
+      self.by-version."color-convert"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-string" ];
   };
-  full."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.3.0" =
+    self.by-version."colors"."0.3.0";
+  by-version."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.3.0";
     src = [
       (fetchurl {
@@ -1938,14 +1808,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.3.0" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.5.x" =
+    self.by-version."colors"."0.5.1";
+  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.5.1";
     src = [
       (fetchurl {
@@ -1954,14 +1826,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.5.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.0-1" =
+    self.by-version."colors"."0.6.0-1";
+  by-version."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.0-1";
     src = [
       (fetchurl {
@@ -1970,14 +1844,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.0-1" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.6.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.2";
     src = [
       (fetchurl {
@@ -1986,46 +1862,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors"."0.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
-  };
-  full."colors"."~0.6.0-1" = lib.makeOverridable self.buildNodePackage {
-    name = "colors-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors"."~0.6.0-1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
-  };
-  full."combined-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.x.x" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.0-1" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.2" =
+    self.by-version."colors"."0.6.2";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.4";
+  by-version."combined-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "combined-stream-0.0.4";
     src = [
       (fetchurl {
@@ -2034,47 +1886,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."combined-stream"."~0.0.4" or []);
+      (self.nativeDeps."combined-stream" or []);
     deps = [
-      self.full."delayed-stream"."0.0.5"
+      self.by-version."delayed-stream"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "combined-stream" ];
   };
-  full."commander"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.5.1";
+  by-spec."commander"."*" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.5.1.tgz";
-        sha1 = "08477afb326d1adf9d4ee73af7170c70caa14f95";
+        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.5.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "commander-0.6.1";
     src = [
       (fetchurl {
@@ -2083,30 +1923,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.6.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."commander"."1.3.2" =
+    self.by-version."commander"."1.3.2";
+  by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.0" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."2.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."2.0.0" =
+    self.by-version."commander"."2.0.0";
+  by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "commander-2.0.0";
     src = [
       (fetchurl {
@@ -2115,30 +1960,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."commander"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."~0.6.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."2.0.x" =
+    self.by-version."commander"."2.0.0";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-spec."config"."0.4.15" =
+    self.by-version."config"."0.4.15";
+  by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
     name = "config-0.4.15";
     src = [
       (fetchurl {
@@ -2147,17 +1982,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config"."0.4.15" or []);
+      (self.nativeDeps."config" or []);
     deps = [
-      self.full."js-yaml"."0.3.x"
-      self.full."coffee-script".">=1.2.0"
-      self.full."vows".">=0.5.13"
+      self.by-version."js-yaml"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."vows"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
   };
-  full."config-chain"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.1" =
+    self.by-version."config-chain"."1.1.8";
+  by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "config-chain-1.1.8";
     src = [
       (fetchurl {
@@ -2166,16 +2003,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config-chain"."~1.1.1" or []);
+      (self.nativeDeps."config-chain" or []);
     deps = [
-      self.full."proto-list"."~1.2.1"
-      self.full."ini"."1"
+      self.by-version."proto-list"."1.2.2"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
   };
-  full."configstore"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.8" =
+    self.by-version."config-chain"."1.1.8";
+  by-spec."configstore"."~0.1.0" =
+    self.by-version."configstore"."0.1.5";
+  by-version."configstore"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "configstore-0.1.5";
     src = [
       (fetchurl {
@@ -2184,18 +2025,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."configstore"."~0.1.0" or []);
+      (self.nativeDeps."configstore" or []);
     deps = [
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."js-yaml"."~2.1.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  full."connect"."1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."1.x" =
+    self.by-version."connect"."1.9.2";
+  by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "connect-1.9.2";
     src = [
       (fetchurl {
@@ -2204,151 +2047,167 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."1.x" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs".">= 0.4.0"
-      self.full."mime".">= 0.0.1"
-      self.full."formidable"."1.0.x"
+      self.by-version."qs"."0.6.6"
+      self.by-version."mime"."1.2.11"
+      self.by-version."formidable"."1.0.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.11" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.11";
+  by-spec."connect"."2.11.0" =
+    self.by-version."connect"."2.11.0";
+  by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
+        url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
+        sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.11" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.1"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.6.5"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.7.4"
+      self.by-version."methods"."0.0.1"
+      self.by-version."raw-body"."0.0.3"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.5";
+  by-spec."connect"."2.11.2" =
+    self.by-version."connect"."2.11.2";
+  by-version."connect"."2.11.2" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.11.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
-        sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
+        url = "http://registry.npmjs.org/connect/-/connect-2.11.2.tgz";
+        sha1 = "cd05c661f686dfe9bcd2e1220c85fe82848db010";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.5" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.0"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.6.5"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.7.4"
+      self.by-version."methods"."0.1.0"
+      self.by-version."raw-body"."1.1.2"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.6";
+  by-spec."connect"."2.3.x" =
+    self.by-version."connect"."2.3.9";
+  by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.3.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
-        sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
+        url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
+        sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.6" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      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"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
+  by-spec."connect"."2.7.5" =
+    self.by-version."connect"."2.7.5";
+  by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.7.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
+        sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.9.1" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
+  by-spec."connect"."2.7.6" =
+    self.by-version."connect"."2.7.6";
+  by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.7.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
+        sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."~2.8.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."~2" =
+    self.by-version."connect"."2.11.2";
+  by-spec."connect"."~2.8.4" =
+    self.by-version."connect"."2.8.8";
+  by-version."connect"."2.8.8" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.8.8";
     src = [
       (fetchurl {
@@ -2357,26 +2216,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2.8.4" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.2"
+      self.by-version."debug"."0.7.4"
+      self.by-version."methods"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect-flash"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-flash"."*" =
+    self.by-version."connect-flash"."0.1.1";
+  by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.1";
     src = [
       (fetchurl {
@@ -2385,15 +2246,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."*" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  "connect-flash" = self.full."connect-flash"."*";
-  full."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "connect-flash" = self.by-version."connect-flash"."0.1.1";
+  by-spec."connect-flash"."0.1.0" =
+    self.by-version."connect-flash"."0.1.0";
+  by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.0";
     src = [
       (fetchurl {
@@ -2402,14 +2265,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."0.1.0" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  full."connect-jade-static"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-jade-static"."*" =
+    self.by-version."connect-jade-static"."0.1.1";
+  by-version."connect-jade-static"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-jade-static-0.1.1";
     src = [
       (fetchurl {
@@ -2418,34 +2283,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-jade-static"."*" or []);
+      (self.nativeDeps."connect-jade-static" or []);
     deps = [
-      self.full."jade"."*"
+      self.by-version."jade"."0.35.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
   };
-  "connect-jade-static" = self.full."connect-jade-static"."*";
-  full."connect-mongo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-mongo-0.3.3";
+  "connect-jade-static" = self.by-version."connect-jade-static"."0.1.1";
+  by-spec."connect-mongo"."*" =
+    self.by-version."connect-mongo"."0.4.0";
+  by-version."connect-mongo"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-mongo-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.3.3.tgz";
-        sha1 = "aeaa1ca8c947599131bd90e1a024cdb789fe0100";
+        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.0.tgz";
+        sha1 = "4cb33728334a8f10f2d9e43d31369dbc2f856336";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-mongo"."*" or []);
+      (self.nativeDeps."connect-mongo" or []);
     deps = [
-      self.full."mongodb"."1.2.x"
+      self.by-version."mongodb"."1.3.20"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
-  "connect-mongo" = self.full."connect-mongo"."*";
-  full."console-browserify"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  "connect-mongo" = self.by-version."connect-mongo"."0.4.0";
+  by-spec."console-browserify"."0.1.x" =
+    self.by-version."console-browserify"."0.1.6";
+  by-version."console-browserify"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "console-browserify-0.1.6";
     src = [
       (fetchurl {
@@ -2454,14 +2323,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."console-browserify"."0.1.x" or []);
+      (self.nativeDeps."console-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
   };
-  full."constantinople"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."constantinople"."~1.0.1" =
+    self.by-version."constantinople"."1.0.2";
+  by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "constantinople-1.0.2";
     src = [
       (fetchurl {
@@ -2470,15 +2341,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."constantinople"."~1.0.1" or []);
+      (self.nativeDeps."constantinople" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
+      self.by-version."uglify-js"."2.4.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
   };
-  full."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.0.4" =
+    self.by-version."cookie"."0.0.4";
+  by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-0.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
+        sha1 = "5456bd47aee2666eac976ea80a6105940483fe98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie"."0.0.5" =
+    self.by-version."cookie"."0.0.5";
+  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.0.5";
     src = [
       (fetchurl {
@@ -2487,14 +2378,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.0.5" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.1.0" =
+    self.by-version."cookie"."0.1.0";
+  by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.1.0";
     src = [
       (fetchurl {
@@ -2503,14 +2396,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.1.0" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie-jar"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.2.0" =
+    self.by-version."cookie-jar"."0.2.0";
+  by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.2.0";
     src = [
       (fetchurl {
@@ -2519,14 +2414,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.2.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-jar"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.3.0" =
+    self.by-version."cookie-jar"."0.3.0";
+  by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.3.0";
     src = [
       (fetchurl {
@@ -2535,14 +2432,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.3.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.0" =
+    self.by-version."cookie-signature"."1.0.0";
+  by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.0";
     src = [
       (fetchurl {
@@ -2551,14 +2450,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.0" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.1" =
+    self.by-version."cookie-signature"."1.0.1";
+  by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.1";
     src = [
       (fetchurl {
@@ -2567,14 +2468,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.1" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookiejar"."1.3.0" =
+    self.by-version."cookiejar"."1.3.0";
+  by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookiejar-1.3.0";
     src = [
       (fetchurl {
@@ -2583,30 +2486,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookiejar"."1.3.0" or []);
+      (self.nativeDeps."cookiejar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
   };
-  full."cookies".">= 0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookies-0.3.6";
+  by-spec."cookies".">= 0.2.2" =
+    self.by-version."cookies"."0.3.8";
+  by-version."cookies"."0.3.8" = lib.makeOverridable self.buildNodePackage {
+    name = "cookies-0.3.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cookies/-/cookies-0.3.6.tgz";
-        sha1 = "1b5e4bd66fc732ea2e8b5087a8fb3718b4ec8597";
+        url = "http://registry.npmjs.org/cookies/-/cookies-0.3.8.tgz";
+        sha1 = "92fe50918f3d55aec4ae9d978bcddda2ada28ce9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookies".">= 0.2.2" or []);
+      (self.nativeDeps."cookies" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  full."core-util-is"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.0";
+  by-version."core-util-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "core-util-is-1.0.0";
     src = [
       (fetchurl {
@@ -2615,69 +2522,78 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."core-util-is"."~1.0.0" or []);
+      (self.nativeDeps."core-util-is" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "core-util-is" ];
   };
-  full."couch-login"."~0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
+  by-spec."couch-login"."~0.1.15" =
+    self.by-version."couch-login"."0.1.19";
+  by-version."couch-login"."0.1.19" = lib.makeOverridable self.buildNodePackage {
+    name = "couch-login-0.1.19";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
+        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.19.tgz";
+        sha1 = "5c472f64670dfb43fc381d290629b223edb64afa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.15" or []);
+      (self.nativeDeps."couch-login" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
   };
-  full."couch-login"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
+  by-spec."couch-login"."~0.1.18" =
+    self.by-version."couch-login"."0.1.19";
+  by-spec."coveralls"."*" =
+    self.by-version."coveralls"."2.5.0";
+  by-version."coveralls"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "coveralls-2.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
+        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.5.0.tgz";
+        sha1 = "96d9bdb844438cd98ee9cdcb435a4d6d6aea326f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.18" or []);
+      (self.nativeDeps."coveralls" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
+      self.by-version."yaml"."0.2.3"
+      self.by-version."request"."2.16.2"
+      self.by-version."lcov-parse"."0.0.4"
+      self.by-version."log-driver"."1.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "couch-login" ];
+    passthru.names = [ "coveralls" ];
   };
-  full."coveralls"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "coveralls-2.3.0";
+  "coveralls" = self.by-version."coveralls"."2.5.0";
+  by-spec."crc"."0.2.0" =
+    self.by-version."crc"."0.2.0";
+  by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "crc-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.3.0.tgz";
-        sha1 = "9eda569c115214acb7f58ca3a28401e866485144";
+        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
       })
     ];
     buildInputs =
-      (self.nativeDeps."coveralls"."*" or []);
+      (self.nativeDeps."crc" or []);
     deps = [
-      self.full."yaml"."0.2.3"
-      self.full."request"."2.16.2"
-      self.full."lcov-parse"."0.0.4"
-      self.full."log-driver"."1.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "coveralls" ];
+    passthru.names = [ "crc" ];
   };
-  "coveralls" = self.full."coveralls"."*";
-  full."crossroads"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."crossroads"."~0.12.0" =
+    self.by-version."crossroads"."0.12.0";
+  by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
     name = "crossroads-0.12.0";
     src = [
       (fetchurl {
@@ -2686,15 +2602,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."crossroads"."~0.12.0" or []);
+      (self.nativeDeps."crossroads" or []);
     deps = [
-      self.full."signals"."<2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
   };
-  full."cryptiles"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.1.x" =
+    self.by-version."cryptiles"."0.1.3";
+  by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.1.3";
     src = [
       (fetchurl {
@@ -2703,15 +2621,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.1.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.3.x"
+      self.by-version."boom"."0.3.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."cryptiles"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.2.2";
     src = [
       (fetchurl {
@@ -2720,15 +2640,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.2.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.4.x"
+      self.by-version."boom"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."css"."~1.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."crypto"."0.0.3" =
+    self.by-version."crypto"."0.0.3";
+  by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "crypto-0.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
+        sha1 = "470a81b86be4c5ee17acc8207a1f5315ae20dbb0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crypto" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "crypto" ];
+  };
+  by-spec."css"."~1.0.8" =
+    self.by-version."css"."1.0.8";
+  by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "css-1.0.8";
     src = [
       (fetchurl {
@@ -2737,16 +2677,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css"."~1.0.8" or []);
+      (self.nativeDeps."css" or []);
     deps = [
-      self.full."css-parse"."1.0.4"
-      self.full."css-stringify"."1.0.5"
+      self.by-version."css-parse"."1.0.4"
+      self.by-version."css-stringify"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
   };
-  full."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-parse"."1.0.4" =
+    self.by-version."css-parse"."1.0.4";
+  by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "css-parse-1.0.4";
     src = [
       (fetchurl {
@@ -2755,14 +2697,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-parse"."1.0.4" or []);
+      (self.nativeDeps."css-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
   };
-  full."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-stringify"."1.0.5" =
+    self.by-version."css-stringify"."1.0.5";
+  by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "css-stringify-1.0.5";
     src = [
       (fetchurl {
@@ -2771,14 +2715,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-stringify"."1.0.5" or []);
+      (self.nativeDeps."css-stringify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  full."cssom"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cssom"."0.2.x" =
+    self.by-version."cssom"."0.2.5";
+  by-version."cssom"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "cssom-0.2.5";
     src = [
       (fetchurl {
@@ -2787,14 +2733,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cssom"."0.2.x" or []);
+      (self.nativeDeps."cssom" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cssom" ];
   };
-  full."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.0" =
+    self.by-version."ctype"."0.5.0";
+  by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.0";
     src = [
       (fetchurl {
@@ -2803,14 +2751,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.0" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.2";
     src = [
       (fetchurl {
@@ -2819,14 +2769,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.2" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."cycle"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.2";
+  by-version."cycle"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "cycle-1.0.2";
     src = [
       (fetchurl {
@@ -2835,14 +2787,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cycle"."1.0.x" or []);
+      (self.nativeDeps."cycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
   };
-  full."dargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dargs"."~0.1.0" =
+    self.by-version."dargs"."0.1.0";
+  by-version."dargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "dargs-0.1.0";
     src = [
       (fetchurl {
@@ -2851,14 +2805,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dargs"."~0.1.0" or []);
+      (self.nativeDeps."dargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dargs" ];
   };
-  full."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."1.0.2-1.2.3" =
+    self.by-version."dateformat"."1.0.2-1.2.3";
+  by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.2-1.2.3";
     src = [
       (fetchurl {
@@ -2867,14 +2823,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."1.0.2-1.2.3" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."dateformat"."~1.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.6-1.2.3";
+  by-version."dateformat"."1.0.6-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.6-1.2.3";
     src = [
       (fetchurl {
@@ -2883,94 +2841,120 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."~1.0.6" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."debug"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."*" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.7.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+        sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."*" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.0";
+  by-spec."debug"."0.5.0" =
+    self.by-version."debug"."0.5.0";
+  by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz";
-        sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08";
+        url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
+        sha1 = "9d48c946fb7d7d59807ffe07822f515fd76d7a9e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."0.7.0" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."0.7.0" =
+    self.by-version."debug"."0.7.0";
+  by-version."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz";
+        sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."~0.7.0" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."~0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug".">= 0.7.3 < 1" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.0" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.3" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debuglog"."0.0.2" =
+    self.by-version."debuglog"."0.0.2";
+  by-version."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "debuglog-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz";
+        sha1 = "6c0dcf07e2c3f74524629b741668bd46c7b362eb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."~0.7.2" or []);
+      (self.nativeDeps."debuglog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "debug" ];
+    passthru.names = [ "debuglog" ];
   };
-  full."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debuglog-0.0.2";
+  by-spec."decompress-zip"."~0.0.3" =
+    self.by-version."decompress-zip"."0.0.3";
+  by-version."decompress-zip"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "decompress-zip-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz";
-        sha1 = "83f4cd091f955f5da7053789727ad506f1010f1c";
+        url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.3.tgz";
+        sha1 = "14b174e5b6a528f0aa6c2e2157b7aa0152e7915a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debuglog"."0.0.2" or []);
+      (self.nativeDeps."decompress-zip" or []);
     deps = [
+      self.by-version."q"."0.9.7"
+      self.by-version."mkpath"."0.1.0"
+      self.by-version."binary"."0.3.0"
+      self.by-version."touch"."0.0.2"
+      self.by-version."readable-stream"."1.1.9"
+      self.by-version."nopt"."2.1.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "debuglog" ];
+    passthru.names = [ "decompress-zip" ];
   };
-  full."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-eql"."0.1.3" =
+    self.by-version."deep-eql"."0.1.3";
+  by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "deep-eql-0.1.3";
     src = [
       (fetchurl {
@@ -2979,15 +2963,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-eql"."0.1.3" or []);
+      (self.nativeDeps."deep-eql" or []);
     deps = [
-      self.full."type-detect"."0.1.1"
+      self.by-version."type-detect"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
   };
-  full."deep-equal"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."*" =
+    self.by-version."deep-equal"."0.1.0";
+  by-version."deep-equal"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.1.0";
     src = [
       (fetchurl {
@@ -2996,14 +2982,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."*" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.0.0";
     src = [
       (fetchurl {
@@ -3012,14 +3000,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."0.0.0" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-extend"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.5" =
+    self.by-version."deep-extend"."0.2.6";
+  by-version."deep-extend"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "deep-extend-0.2.6";
     src = [
       (fetchurl {
@@ -3028,30 +3018,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.5" or []);
+      (self.nativeDeps."deep-extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."deep-extend"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
-        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-extend" ];
-  };
-  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.6" =
+    self.by-version."deep-extend"."0.2.6";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "delayed-stream-0.0.5";
     src = [
       (fetchurl {
@@ -3060,14 +3038,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."delayed-stream"."0.0.5" or []);
+      (self.nativeDeps."delayed-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "delayed-stream" ];
   };
-  full."di"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."di"."~0.0.1" =
+    self.by-version."di"."0.0.1";
+  by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "di-0.0.1";
     src = [
       (fetchurl {
@@ -3076,30 +3056,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."di"."~0.0.1" or []);
+      (self.nativeDeps."di" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "di" ];
   };
-  full."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff"."1.0.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  full."diff"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."diff"."1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "diff-1.0.7";
     src = [
       (fetchurl {
@@ -3108,46 +3074,60 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.3" or []);
+      (self.nativeDeps."diff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
   };
-  full."diff"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
+  by-spec."diff"."~1.0.3" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.4" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-spec."director"."1.1.10" =
+    self.by-version."director"."1.1.10";
+  by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
+    name = "director-1.1.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
+        url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
+        sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.4" or []);
+      (self.nativeDeps."director" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "diff" ];
+    passthru.names = [ "director" ];
   };
-  full."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "director-1.1.10";
+  by-spec."dkim-signer"."~0.1.0" =
+    self.by-version."dkim-signer"."0.1.0";
+  by-version."dkim-signer"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "dkim-signer-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
-        sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
+        url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.0.tgz";
+        sha1 = "c57c29b238029fbb08622afc2729ad596bcb417b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."director"."1.1.10" or []);
+      (self.nativeDeps."dkim-signer" or []);
     deps = [
+      self.by-version."punycode"."1.2.3"
+      self.by-version."mimelib"."0.2.14"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "director" ];
+    passthru.names = [ "dkim-signer" ];
   };
-  full."domelementtype"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.1.1";
+  by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "domelementtype-1.1.1";
     src = [
       (fetchurl {
@@ -3156,14 +3136,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domelementtype"."1" or []);
+      (self.nativeDeps."domelementtype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domelementtype" ];
   };
-  full."domhandler"."2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domhandler"."2.0" =
+    self.by-version."domhandler"."2.0.3";
+  by-version."domhandler"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "domhandler-2.0.3";
     src = [
       (fetchurl {
@@ -3172,15 +3154,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domhandler"."2.0" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domhandler" ];
   };
-  full."domutils"."1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.0" =
+    self.by-version."domutils"."1.0.1";
+  by-version."domutils"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.0.1";
     src = [
       (fetchurl {
@@ -3189,15 +3173,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.0" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.1" =
+    self.by-version."domutils"."1.1.6";
+  by-version."domutils"."1.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.1.6";
     src = [
       (fetchurl {
@@ -3206,32 +3192,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.1" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "domutils-1.2.1";
+  by-spec."domutils"."1.2" =
+    self.by-version."domutils"."1.2.2";
+  by-version."domutils"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "domutils-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.2.1.tgz";
-        sha1 = "6ced9837e63d2c3a06eb46d1150f0058a13178d1";
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.2.2.tgz";
+        sha1 = "bd59d149cf2c034fec81a1ce063bc20fb572a2ab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.2" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dtrace-provider"."0.2.8" =
+    self.by-version."dtrace-provider"."0.2.8";
+  by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "dtrace-provider-0.2.8";
     src = [
       (fetchurl {
@@ -3240,30 +3230,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dtrace-provider"."0.2.8" or []);
+      (self.nativeDeps."dtrace-provider" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dtrace-provider" ];
   };
-  full."editor"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "editor-0.0.4";
+  by-spec."editor"."0.0.5" =
+    self.by-version."editor"."0.0.5";
+  by-version."editor"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "editor-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
-        sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+        url = "http://registry.npmjs.org/editor/-/editor-0.0.5.tgz";
+        sha1 = "8c38877781f2547011c1aeffdbe50cafcc59794a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."editor"."0.0.4" or []);
+      (self.nativeDeps."editor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "editor" ];
   };
-  full."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ejs"."0.8.3" =
+    self.by-version."ejs"."0.8.3";
+  by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
     name = "ejs-0.8.3";
     src = [
       (fetchurl {
@@ -3272,14 +3266,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ejs"."0.8.3" or []);
+      (self.nativeDeps."ejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ejs" ];
   };
-  full."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."0.0.6" =
+    self.by-version."emitter-component"."0.0.6";
+  by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-0.0.6";
     src = [
       (fetchurl {
@@ -3288,14 +3284,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."0.0.6" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."1.0.0" =
+    self.by-version."emitter-component"."1.0.0";
+  by-version."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-1.0.0";
     src = [
       (fetchurl {
@@ -3304,14 +3302,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."1.0.0" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."encoding"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."encoding"."~0.1" =
+    self.by-version."encoding"."0.1.7";
+  by-version."encoding"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "encoding-0.1.7";
     src = [
       (fetchurl {
@@ -3320,15 +3320,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."encoding"."~0.1" or []);
+      (self.nativeDeps."encoding" or []);
     deps = [
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "encoding" ];
   };
-  full."entities"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."entities"."0.x" =
+    self.by-version."entities"."0.3.0";
+  by-version."entities"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "entities-0.3.0";
     src = [
       (fetchurl {
@@ -3337,14 +3339,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."entities"."0.x" or []);
+      (self.nativeDeps."entities" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "entities" ];
   };
-  full."es5-ext"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."es5-ext"."~0.9.2" =
+    self.by-version."es5-ext"."0.9.2";
+  by-version."es5-ext"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "es5-ext-0.9.2";
     src = [
       (fetchurl {
@@ -3353,14 +3357,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."es5-ext"."~0.9.2" or []);
+      (self.nativeDeps."es5-ext" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "es5-ext" ];
   };
-  full."escape-html"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."escape-html"."*" =
+    self.by-version."escape-html"."1.0.0";
+  by-version."escape-html"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "escape-html-1.0.0";
     src = [
       (fetchurl {
@@ -3369,50 +3375,59 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."escape-html"."*" or []);
+      (self.nativeDeps."escape-html" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escape-html" ];
   };
-  "escape-html" = self.full."escape-html"."*";
-  full."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-0.0.23";
+  "escape-html" = self.by-version."escape-html"."1.0.0";
+  by-spec."escodegen"."*" =
+    self.by-version."escodegen"."1.0.0";
+  by-version."escodegen"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.23.tgz";
-        sha1 = "9acf978164368e42276571f18839c823b3a844df";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.0.0.tgz";
+        sha1 = "8428e45aec9f8d15ccd57859a83c34a91688fd2d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."escodegen"."0.0.23" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."esprima"."~1.0.2"
-      self.full."estraverse"."~0.0.4"
-      self.full."source-map".">= 0.1.2"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."1.4.0"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
   };
-  full."esprima"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."escodegen"."0.0.23" =
+    self.by-version."escodegen"."0.0.23";
+  by-version."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-0.0.23";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.23.tgz";
+        sha1 = "9acf978164368e42276571f18839c823b3a844df";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."1.0.x" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."0.0.4"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "escodegen" ];
   };
-  full."esprima"."~ 1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."esprima"."1.0.x" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.0.4";
     src = [
       (fetchurl {
@@ -3421,62 +3436,76 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~ 1.0.2" or []);
+      (self.nativeDeps."esprima" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
   };
-  full."esprima"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.0" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."estraverse"."*" =
+    self.by-version."estraverse"."1.5.0";
+  by-version."estraverse"."1.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "estraverse-1.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.0.tgz";
+        sha1 = "248ec3f0d4bf39a940109c92a05ceb56d59e53ee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~1.0.0" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "estraverse" ];
   };
-  full."esprima"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.4";
+  by-spec."estraverse"."~0.0.4" =
+    self.by-version."estraverse"."0.0.4";
+  by-version."estraverse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "estraverse-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
+        sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."~1.0.2" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "esprima" ];
+    passthru.names = [ "estraverse" ];
   };
-  full."estraverse"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "estraverse-0.0.4";
+  by-spec."estraverse"."~1.4.0" =
+    self.by-version."estraverse"."1.4.0";
+  by-version."estraverse"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "estraverse-1.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
-        sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.4.0.tgz";
+        sha1 = "c6e1ad13b3f1b389da32214f2debe4788382bfc6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."estraverse"."~0.0.4" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
   };
-  full."event-emitter"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-emitter"."~0.2.2" =
+    self.by-version."event-emitter"."0.2.2";
+  by-version."event-emitter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "event-emitter-0.2.2";
     src = [
       (fetchurl {
@@ -3485,15 +3514,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-emitter"."~0.2.2" or []);
+      (self.nativeDeps."event-emitter" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
+      self.by-version."es5-ext"."0.9.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-emitter" ];
   };
-  full."event-stream"."~0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-stream"."~0.5" =
+    self.by-version."event-stream"."0.5.3";
+  by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
     name = "event-stream-0.5.3";
     src = [
       (fetchurl {
@@ -3502,15 +3533,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-stream"."~0.5" or []);
+      (self.nativeDeps."event-stream" or []);
     deps = [
-      self.full."optimist"."0.2"
+      self.by-version."optimist"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-stream" ];
   };
-  full."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."0.4.11" =
+    self.by-version."eventemitter2"."0.4.11";
+  by-version."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.11";
     src = [
       (fetchurl {
@@ -3519,30 +3552,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."eventemitter2"."~0.4.11" = lib.makeOverridable self.buildNodePackage {
-    name = "eventemitter2-0.4.13";
+  by-spec."eventemitter2"."0.4.12" =
+    self.by-version."eventemitter2"."0.4.12";
+  by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage {
+    name = "eventemitter2-0.4.12";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
-        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
+        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
+        sha1 = "6cf14249fdc8799be7416e871e73fd2bb89e35e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."eventemitter2"."~0.4.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-version."eventemitter2"."0.4.13" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.13";
     src = [
       (fetchurl {
@@ -3551,14 +3588,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.9" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."events.node".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."~0.4.13" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-spec."events.node".">= 0.4.0" =
+    self.by-version."events.node"."0.4.9";
+  by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "events.node-0.4.9";
     src = [
       (fetchurl {
@@ -3567,217 +3608,229 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."events.node".">= 0.4.0" or []);
+      (self.nativeDeps."events.node" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "events.node" ];
   };
-  full."express"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."everyauth"."0.4.5" =
+    self.by-version."everyauth"."0.4.5";
+  by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "everyauth-0.4.5";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
+        sha1 = "282d358439d91c30fb4aa2320dc362edac7dd189";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."*" or []);
+      (self.nativeDeps."everyauth" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."oauth"."0.9.10"
+      self.by-version."request"."2.9.203"
+      self.by-version."connect"."2.3.9"
+      self.by-version."openid"."0.5.5"
+      self.by-version."xml2js"."0.4.0"
+      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.4.6"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "everyauth" ];
   };
-  "express" = self.full."express"."*";
-  full."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
-    name = "express-2.5.11";
+  by-spec."exit"."~0.1.1" =
+    self.by-version."exit"."0.1.2";
+  by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "exit-0.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
-        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+        url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."2.5.11" or []);
+      (self.nativeDeps."exit" or []);
     deps = [
-      self.full."connect"."1.x"
-      self.full."mime"."1.2.4"
-      self.full."qs"."0.4.x"
-      self.full."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "express" ];
+    passthru.names = [ "exit" ];
   };
-  full."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.0";
+  by-spec."express"."*" =
+    self.by-version."express"."3.4.6";
+  by-version."express"."3.4.6" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.4.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
-        sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
+        url = "http://registry.npmjs.org/express/-/express-3.4.6.tgz";
+        sha1 = "85b6004076f9004f806e9f49c90487d1f6f89c43";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.0" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.7.6"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.11.2"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.6";
+  "express" = self.by-version."express"."3.4.6";
+  by-spec."express"."2.5.11" =
+    self.by-version."express"."2.5.11";
+  by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
+    name = "express-2.5.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.6.tgz";
-        sha1 = "d8a9fe065adc23c5b41ec2c689c672b261430ffc";
+        url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
+        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.6" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.7.11"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.4"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."1.9.2"
+      self.by-version."mime"."1.2.4"
+      self.by-version."qs"."0.4.2"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."express"."3.2.0" =
+    self.by-version."express"."3.2.0";
+  by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
+        sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.x" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.6"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.1.2";
+  by-spec."express"."3.4.4" =
+    self.by-version."express"."3.4.4";
+  by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
-        sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
+        url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
+        sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.1.1" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.7.5"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.0"
-      self.full."debug"."*"
+      self.by-version."connect"."2.11.0"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."~3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."express"."3.x" =
+    self.by-version."express"."3.4.6";
+  by-spec."express"."~3.1.1" =
+    self.by-version."express"."3.1.2";
+  by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
+        sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.4" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express-form"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-form-0.8.1";
+  by-spec."express"."~3.4" =
+    self.by-version."express"."3.4.6";
+  by-spec."express"."~3.4.4" =
+    self.by-version."express"."3.4.6";
+  by-spec."express-form"."*" =
+    self.by-version."express-form"."0.10.1";
+  by-version."express-form"."0.10.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-form-0.10.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-form/-/express-form-0.8.1.tgz";
-        sha1 = "14299158646a796fac584cb5980d63e587c02019";
+        url = "http://registry.npmjs.org/express-form/-/express-form-0.10.1.tgz";
+        sha1 = "542f43cf276c33f8ec8836b571aa3365505609a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-form"."*" or []);
+      (self.nativeDeps."express-form" or []);
     deps = [
-      self.full."validator"."0.4.x"
-      self.full."object-additions".">= 0.5.0"
+      self.by-version."validator"."0.4.28"
+      self.by-version."object-additions"."0.5.1"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
-      self.full."express"."3.x"
+      self.by-version."express"."3.4.6"
     ];
     passthru.names = [ "express-form" ];
   };
-  "express-form" = self.full."express-form"."*";
-  full."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  "express-form" = self.by-version."express-form"."0.10.1";
+  by-spec."express-partials"."0.0.6" =
+    self.by-version."express-partials"."0.0.6";
+  by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "express-partials-0.0.6";
     src = [
       (fetchurl {
@@ -3786,14 +3839,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-partials"."0.0.6" or []);
+      (self.nativeDeps."express-partials" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express-partials" ];
   };
-  full."extend"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extend"."*" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "extend-1.2.1";
     src = [
       (fetchurl {
@@ -3802,15 +3857,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extend"."*" or []);
+      (self.nativeDeps."extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
   };
-  "extend" = self.full."extend"."*";
-  full."extract-opts"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+  "extend" = self.by-version."extend"."1.2.1";
+  by-spec."extract-opts"."~2.2.0" =
+    self.by-version."extract-opts"."2.2.0";
+  by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "extract-opts-2.2.0";
     src = [
       (fetchurl {
@@ -3819,15 +3876,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extract-opts"."~2.2.0" or []);
+      (self.nativeDeps."extract-opts" or []);
     deps = [
-      self.full."typechecker"."~2.0.1"
+      self.by-version."typechecker"."2.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extract-opts" ];
   };
-  full."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.0" =
+    self.by-version."extsprintf"."1.0.0";
+  by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.0";
     src = [
       (fetchurl {
@@ -3836,14 +3895,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.0" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.2" =
+    self.by-version."extsprintf"."1.0.2";
+  by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.2";
     src = [
       (fetchurl {
@@ -3852,14 +3913,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.2" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."eyes"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "eyes-0.1.8";
     src = [
       (fetchurl {
@@ -3868,48 +3931,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes"."0.1.x" or []);
+      (self.nativeDeps."eyes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eyes" ];
   };
-  full."eyes".">=0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "eyes-0.1.8";
+  by-spec."eyes".">=0.1.6" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."faye-websocket"."*" =
+    self.by-version."faye-websocket"."0.7.1";
+  by-version."faye-websocket"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "faye-websocket-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.1.tgz";
+        sha1 = "72fe630d122333e0f36ac453f593ed70e1cb6baa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes".">=0.1.6" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eyes" ];
-  };
-  full."faye-websocket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "faye-websocket-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
-        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."faye-websocket"."*" or []);
-    deps = [
-      self.full."websocket-driver".">=0.3.0"
+      self.by-version."websocket-driver"."0.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
   };
-  "faye-websocket" = self.full."faye-websocket"."*";
-  full."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  "faye-websocket" = self.by-version."faye-websocket"."0.7.1";
+  by-spec."faye-websocket"."0.7.0" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-version."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "faye-websocket-0.7.0";
     src = [
       (fetchurl {
@@ -3918,15 +3971,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."faye-websocket"."0.7.0" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-      self.full."websocket-driver".">=0.3.0"
+      self.by-version."websocket-driver"."0.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
   };
-  full."fileset"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fileset"."0.1.x" =
+    self.by-version."fileset"."0.1.5";
+  by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "fileset-0.1.5";
     src = [
       (fetchurl {
@@ -3935,34 +3990,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fileset"."0.1.x" or []);
+      (self.nativeDeps."fileset" or []);
     deps = [
-      self.full."minimatch"."0.x"
-      self.full."glob"."3.x"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fileset" ];
   };
-  full."findup-sync"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "findup-sync-0.1.2";
+  by-spec."findit".">=1.1.0 <2.0.0" =
+    self.by-version."findit"."1.1.0";
+  by-version."findit"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "findit-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz";
-        sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d";
+        url = "http://registry.npmjs.org/findit/-/findit-1.1.0.tgz";
+        sha1 = "7104c60060f838d2298bd526b16add6ce733f9ac";
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.0" or []);
+      (self.nativeDeps."findit" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "findup-sync" ];
+    passthru.names = [ "findit" ];
   };
-  full."findup-sync"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."findup-sync"."~0.1.0" =
+    self.by-version."findup-sync"."0.1.2";
+  by-version."findup-sync"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "findup-sync-0.1.2";
     src = [
       (fetchurl {
@@ -3971,38 +4028,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.2" or []);
+      (self.nativeDeps."findup-sync" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
+      self.by-version."glob"."3.1.21"
+      self.by-version."lodash"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "findup-sync" ];
   };
-  full."flatiron"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "flatiron-0.3.8";
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.2";
+  by-spec."flatiron"."*" =
+    self.by-version."flatiron"."0.3.9";
+  by-version."flatiron"."0.3.9" = lib.makeOverridable self.buildNodePackage {
+    name = "flatiron-0.3.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.8.tgz";
-        sha1 = "235d691f19154eff033610c12bcd51f304ff09c6";
+        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.9.tgz";
+        sha1 = "e18cc2490e6a0f771c77afe75a1644645ec4a406";
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."*" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.11"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.9"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."prompt"."0.2.11"
+      self.by-version."director"."1.1.10"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  "flatiron" = self.full."flatiron"."*";
-  full."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  "flatiron" = self.by-version."flatiron"."0.3.9";
+  by-spec."flatiron"."0.3.5" =
+    self.by-version."flatiron"."0.3.5";
+  by-version."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.5";
     src = [
       (fetchurl {
@@ -4011,19 +4073,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."0.3.5" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.9"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."optimist"."0.3.5"
+      self.by-version."prompt"."0.2.9"
+      self.by-version."director"."1.1.10"
+      self.by-version."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  full."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."follow-redirects"."0.0.3" =
+    self.by-version."follow-redirects"."0.0.3";
+  by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "follow-redirects-0.0.3";
     src = [
       (fetchurl {
@@ -4032,15 +4096,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."follow-redirects"."0.0.3" or []);
+      (self.nativeDeps."follow-redirects" or []);
     deps = [
-      self.full."underscore"."*"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "follow-redirects" ];
   };
-  full."forEachAsync"."~2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forEachAsync"."~2.2" =
+    self.by-version."forEachAsync"."2.2.0";
+  by-version."forEachAsync"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forEachAsync-2.2.0";
     src = [
       (fetchurl {
@@ -4049,15 +4115,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forEachAsync"."~2.2" or []);
+      (self.nativeDeps."forEachAsync" or []);
     deps = [
-      self.full."sequence".">= 2.2.1"
+      self.by-version."sequence"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forEachAsync" ];
   };
-  full."forever"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever"."*" =
+    self.by-version."forever"."0.10.9";
+  by-version."forever"."0.10.9" = lib.makeOverridable self.buildNodePackage {
     name = "forever-0.10.9";
     src = [
       (fetchurl {
@@ -4066,27 +4134,29 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever"."*" or []);
+      (self.nativeDeps."forever" or []);
     deps = [
-      self.full."colors"."0.6.0-1"
-      self.full."cliff"."0.1.8"
-      self.full."flatiron"."0.3.5"
-      self.full."forever-monitor"."1.2.3"
-      self.full."nconf"."0.6.7"
-      self.full."nssocket"."~0.5.1"
-      self.full."optimist"."0.4.0"
-      self.full."pkginfo"."0.3.0"
-      self.full."timespan"."2.0.1"
-      self.full."watch"."0.7.0"
-      self.full."utile"."0.1.7"
-      self.full."winston"."0.7.1"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."flatiron"."0.3.5"
+      self.by-version."forever-monitor"."1.2.3"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."nssocket"."0.5.1"
+      self.by-version."optimist"."0.4.0"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."timespan"."2.0.1"
+      self.by-version."watch"."0.7.0"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.7.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever" ];
   };
-  "forever" = self.full."forever"."*";
-  full."forever-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  "forever" = self.by-version."forever"."0.10.9";
+  by-spec."forever-agent"."~0.2.0" =
+    self.by-version."forever-agent"."0.2.0";
+  by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.2.0";
     src = [
       (fetchurl {
@@ -4095,14 +4165,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.2.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-agent"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.0";
+  by-version."forever-agent"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.5.0";
     src = [
       (fetchurl {
@@ -4111,14 +4183,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.5.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-monitor"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."*" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.2.3";
     src = [
       (fetchurl {
@@ -4127,21 +4201,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."*" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."broadway"."0.2.9"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  "forever-monitor" = self.full."forever-monitor"."*";
-  full."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "forever-monitor" = self.by-version."forever-monitor"."1.2.3";
+  by-spec."forever-monitor"."1.1.0" =
+    self.by-version."forever-monitor"."1.1.0";
+  by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.1.0";
     src = [
       (fetchurl {
@@ -4150,42 +4226,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."1.1.0" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.0.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      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"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  full."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor"."1.2.3" or []);
-    deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  full."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."1.2.3" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-spec."form-data"."0.0.8" =
+    self.by-version."form-data"."0.0.8";
+  by-version."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.8";
     src = [
       (fetchurl {
@@ -4194,17 +4252,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."0.0.8" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.0.3" =
+    self.by-version."form-data"."0.0.10";
+  by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.10";
     src = [
       (fetchurl {
@@ -4213,17 +4273,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.0.3" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.2";
+  by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.1.2";
     src = [
       (fetchurl {
@@ -4232,17 +4294,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.1.0" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.11"
-      self.full."async"."~0.2.9"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.11" =
+    self.by-version."formidable"."1.0.11";
+  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.11";
     src = [
       (fetchurl {
@@ -4251,14 +4315,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.11" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.13" =
+    self.by-version."formidable"."1.0.13";
+  by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.13";
     src = [
       (fetchurl {
@@ -4267,14 +4333,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.13" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.14";
     src = [
       (fetchurl {
@@ -4283,14 +4351,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.14" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.9" =
+    self.by-version."formidable"."1.0.9";
+  by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.9";
     src = [
       (fetchurl {
@@ -4299,30 +4369,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
-  };
-  full."formidable"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable"."1.0.x" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.x" =
+    self.by-version."formidable"."1.0.14";
+  by-spec."fresh"."0.1.0" =
+    self.by-version."fresh"."0.1.0";
+  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.1.0";
     src = [
       (fetchurl {
@@ -4331,14 +4389,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.1.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fresh"."0.2.0" =
+    self.by-version."fresh"."0.2.0";
+  by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.2.0";
     src = [
       (fetchurl {
@@ -4347,171 +4407,109 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.2.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fs-walk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "fs-walk-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
-        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fs-walk"."*" or []);
-    deps = [
-      self.full."async"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fs-walk" ];
-  };
-  "fs-walk" = self.full."fs-walk"."*";
-  full."fstream"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."fs-extra"."~0.6.1" =
+    self.by-version."fs-extra"."0.6.4";
+  by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "fs-extra-0.6.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
+        sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."0" or []);
+      (self.nativeDeps."fs-extra" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."jsonfile"."1.0.1"
+      self.by-version."rimraf"."2.2.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs-extra" ];
   };
-  full."fstream"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.17" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.21" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."fs-walk"."*" =
+    self.by-version."fs-walk"."0.0.1";
+  by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "fs-walk-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
+        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.22" or []);
+      (self.nativeDeps."fs-walk" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs-walk" ];
   };
-  full."fstream"."~0.1.23" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  "fs-walk" = self.by-version."fs-walk"."0.0.1";
+  by-spec."fs.extra".">=1.2.0 <2.0.0" =
+    self.by-version."fs.extra"."1.2.1";
+  by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "fs.extra-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
+        sha1 = "060bf20264f35e39ad247e5e9d2121a2a75a1733";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.23" or []);
+      (self.nativeDeps."fs.extra" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."fs-extra"."0.6.4"
+      self.by-version."walk"."2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs.extra" ];
   };
-  full."fstream"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."fstream"."0" =
+    self.by-version."fstream"."0.1.25";
+  by-version."fstream"."0.1.25" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-0.1.25";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz";
+        sha1 = "deef2db7c7898357c2b37202212a9e5b36abc732";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.8" or []);
+      (self.nativeDeps."fstream" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  full."fstream-ignore"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-ignore-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
-        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.5" or []);
-    deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream-ignore" ];
-  };
-  full."fstream-ignore"."~0.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.22" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.23" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.25";
+  by-spec."fstream-ignore"."~0.0.5" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-ignore-0.0.7";
     src = [
       (fetchurl {
@@ -4520,17 +4518,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.6" or []);
+      (self.nativeDeps."fstream-ignore" or []);
     deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-ignore" ];
   };
-  full."fstream-npm"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream-ignore"."~0.0.6" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-spec."fstream-npm"."~0.1.6" =
+    self.by-version."fstream-npm"."0.1.6";
+  by-version."fstream-npm"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-npm-0.1.6";
     src = [
       (fetchurl {
@@ -4539,54 +4541,60 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-npm"."~0.1.3" or []);
+      (self.nativeDeps."fstream-npm" or []);
     deps = [
-      self.full."fstream-ignore"."~0.0.5"
-      self.full."inherits"."2"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-npm" ];
   };
-  full."generator-angular"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-angular-0.5.0";
+  by-spec."generator-angular"."*" =
+    self.by-version."generator-angular"."0.6.0-rc.2";
+  by-version."generator-angular"."0.6.0-rc.2" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-angular-0.6.0-rc.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.5.0.tgz";
-        sha1 = "f637a6c42984fd949678358be369e413a2e7c6e2";
+        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.6.0-rc.2.tgz";
+        sha1 = "775a858e5dd9dc9f0a85730274d02c6af5d232b1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-angular"."*" or []);
+      (self.nativeDeps."generator-angular" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."generator-karma"."~0.5.0"
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."generator-karma"."0.6.0"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-angular" ];
   };
-  "generator-angular" = self.full."generator-angular"."*";
-  full."generator-karma"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-karma-0.5.0";
+  "generator-angular" = self.by-version."generator-angular"."0.6.0-rc.2";
+  by-spec."generator-karma"."~0.6.0" =
+    self.by-version."generator-karma"."0.6.0";
+  by-version."generator-karma"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-karma-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.5.0.tgz";
-        sha1 = "3b9dc1154e232a135c0e4598834540977038617d";
+        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.6.0.tgz";
+        sha1 = "e89b6195c186771e8bdddde37441abb6ce07e1a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-karma"."~0.5.0" or []);
+      (self.nativeDeps."generator-karma" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-karma" ];
   };
-  full."generator-mocha"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."generator-mocha"."~0.1.1" =
+    self.by-version."generator-mocha"."0.1.1";
+  by-version."generator-mocha"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "generator-mocha-0.1.1";
     src = [
       (fetchurl {
@@ -4595,71 +4603,77 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-mocha"."~0.1.1" or []);
+      (self.nativeDeps."generator-mocha" or []);
     deps = [
-      self.full."yeoman-generator"."~0.10.0"
+      self.by-version."yeoman-generator"."0.10.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "generator-mocha" ];
   };
-  full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-webapp-0.4.3";
+  by-spec."generator-webapp"."*" =
+    self.by-version."generator-webapp"."0.4.4";
+  by-version."generator-webapp"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-webapp-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.3.tgz";
-        sha1 = "c0ad11753e0f4403d1d7fad1b298e52bfa5e231b";
+        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.4.tgz";
+        sha1 = "a7f5d7440943e3e5afbd2ad627675faf2456b74e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-webapp"."*" or []);
+      (self.nativeDeps."generator-webapp" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.1"
-      self.full."cheerio"."~0.12.1"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."cheerio"."0.12.4"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
-      self.full."generator-mocha"."~0.1.1"
+      self.by-version."yo"."1.0.4"
+      self.by-version."generator-mocha"."0.1.1"
     ];
     passthru.names = [ "generator-webapp" ];
   };
-  "generator-webapp" = self.full."generator-webapp"."*";
-  full."getmac"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "getmac-1.0.5";
+  "generator-webapp" = self.by-version."generator-webapp"."0.4.4";
+  by-spec."getmac"."~1.0.6" =
+    self.by-version."getmac"."1.0.6";
+  by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "getmac-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.5.tgz";
-        sha1 = "4ce0468a83e5fc2f2d337fc0c3c9be2c94a6344f";
+        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
+        sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
       })
     ];
     buildInputs =
-      (self.nativeDeps."getmac"."~1.0.5" or []);
+      (self.nativeDeps."getmac" or []);
     deps = [
-      self.full."extract-opts"."~2.2.0"
-      self.full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0"
-      self.full."joe-reporter-console"."~1.2.1"
+      self.by-version."extract-opts"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "getmac" ];
   };
-  full."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "github-url-from-git-1.1.1";
+  by-spec."getobject"."~0.1.0" =
+    self.by-version."getobject"."0.1.0";
+  by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "getobject-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+        url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
+        sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."1.1.1" or []);
+      (self.nativeDeps."getobject" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "getobject" ];
   };
-  full."github-url-from-git"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."github-url-from-git"."1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "github-url-from-git-1.1.1";
     src = [
       (fetchurl {
@@ -4668,87 +4682,81 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."~1.1.1" or []);
+      (self.nativeDeps."github-url-from-git" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-git" ];
   };
-  full."glob"."3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."github-url-from-git"."~1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-spec."github-url-from-username-repo"."0.0.2" =
+    self.by-version."github-url-from-username-repo"."0.0.2";
+  by-version."github-url-from-username-repo"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-username-repo-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.0.2.tgz";
+        sha1 = "0d9ee8e2bca36d5f065a1bcd23eb3f1fa3d636bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3" or []);
+      (self.nativeDeps."github-url-from-username-repo" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "glob" ];
+    passthru.names = [ "github-url-from-username-repo" ];
   };
-  full."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.3";
+  by-spec."glob"."3" =
+    self.by-version."glob"."3.2.7";
+  by-version."glob"."3.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
-        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.7.tgz";
+        sha1 = "275f39a0eee805694790924f36eac38e1db6d802";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3.2.3" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."glob"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."3.x" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob".">= 3.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob".">= 3.1.4" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."glob"."~3.1.21" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3.x" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob".">= 3.1.4" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.1.21" =
+    self.by-version."glob"."3.1.21";
+  by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.1.21";
     src = [
       (fetchurl {
@@ -4757,87 +4765,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.1.21" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~1.2.0"
-      self.full."inherits"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.0" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.1" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob"."~3.2.6" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."inherits"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."graceful-fs"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."1.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."~3.2.0" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.2.1" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.2.6" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.2.7" =
+    self.by-version."glob"."3.2.7";
+  by-spec."graceful-fs"."2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-version."graceful-fs"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-2.0.1";
     src = [
       (fetchurl {
@@ -4846,14 +4794,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."2" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-1.2.3";
     src = [
       (fetchurl {
@@ -4862,14 +4812,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1.1" =
+    self.by-version."graceful-fs"."1.1.14";
+  by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-1.1.14";
     src = [
       (fetchurl {
@@ -4878,94 +4830,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2.0.0" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."gridfs-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1.2.0" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~1.2.1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."gridfs-stream"."*" =
+    self.by-version."gridfs-stream"."0.4.0";
+  by-version."gridfs-stream"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "gridfs-stream-0.4.0";
     src = [
       (fetchurl {
@@ -4974,15 +4856,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gridfs-stream"."*" or []);
+      (self.nativeDeps."gridfs-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "gridfs-stream" ];
   };
-  "gridfs-stream" = self.full."gridfs-stream"."*";
-  full."growl"."1.7.x" = lib.makeOverridable self.buildNodePackage {
+  "gridfs-stream" = self.by-version."gridfs-stream"."0.4.0";
+  by-spec."growl"."1.7.x" =
+    self.by-version."growl"."1.7.0";
+  by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "growl-1.7.0";
     src = [
       (fetchurl {
@@ -4991,208 +4875,172 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."growl"."1.7.x" or []);
+      (self.nativeDeps."growl" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
   };
-  full."grunt"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt"."0.4.x" or []);
-    deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt" ];
-  };
-  full."grunt"."~0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."grunt"."0.4.x" =
+    self.by-version."grunt"."0.4.2";
+  by-version."grunt"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz";
+        sha1 = "895b4f28a6102bffd41d365a65e8be2d6a293d93";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4" or []);
+      (self.nativeDeps."grunt" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."async"."0.1.22"
+      self.by-version."coffee-script"."1.3.3"
+      self.by-version."colors"."0.6.2"
+      self.by-version."dateformat"."1.0.2-1.2.3"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."glob"."3.1.21"
+      self.by-version."hooker"."0.2.3"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."which"."1.0.5"
+      self.by-version."js-yaml"."2.0.5"
+      self.by-version."exit"."0.1.2"
+      self.by-version."getobject"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
   };
-  full."grunt"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."grunt"."~0.4" =
+    self.by-version."grunt"."0.4.2";
+  by-spec."grunt"."~0.4.0" =
+    self.by-version."grunt"."0.4.2";
+  by-spec."grunt"."~0.4.1" =
+    self.by-version."grunt"."0.4.2";
+  by-spec."grunt-bower-task"."*" =
+    self.by-version."grunt-bower-task"."0.3.4";
+  by-version."grunt-bower-task"."0.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-bower-task-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/grunt-bower-task/-/grunt-bower-task-0.3.4.tgz";
+        sha1 = "6f713725ae96bb22ed60b1173cf4c522bbb8583b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4.0" or []);
+      (self.nativeDeps."grunt-bower-task" or []);
     deps = [
-      self.full."async"."~0.1.22"
-      self.full."coffee-script"."~1.3.3"
-      self.full."colors"."~0.6.0-1"
-      self.full."dateformat"."1.0.2-1.2.3"
-      self.full."eventemitter2"."~0.4.9"
-      self.full."findup-sync"."~0.1.0"
-      self.full."glob"."~3.1.21"
-      self.full."hooker"."~0.2.3"
-      self.full."iconv-lite"."~0.2.5"
-      self.full."minimatch"."~0.2.6"
-      self.full."nopt"."~1.0.10"
-      self.full."rimraf"."~2.0.2"
-      self.full."lodash"."~0.9.0"
-      self.full."underscore.string"."~2.2.0rc"
-      self.full."which"."~1.0.5"
-      self.full."js-yaml"."~2.0.2"
+      self.by-version."bower"."1.2.8"
+      self.by-version."lodash"."0.10.0"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."wrench"."1.4.4"
+      self.by-version."colors"."0.6.2"
+      self.by-version."async"."0.1.22"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt" ];
+    passthru.names = [ "grunt-bower-task" ];
   };
-  full."grunt-cli"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
+  "grunt-bower-task" = self.by-version."grunt-bower-task"."0.3.4";
+  by-spec."grunt-cli"."*" =
+    self.by-version."grunt-cli"."0.1.11";
+  by-version."grunt-cli"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-cli-0.1.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.11.tgz";
+        sha1 = "a0d785b7f8633983ecb5e6af8397feb6e39dd0a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."*" or []);
+      (self.nativeDeps."grunt-cli" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."resolve"."0.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt-cli" ];
   };
-  "grunt-cli" = self.full."grunt-cli"."*";
-  full."grunt-cli"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-cli-0.1.9";
+  "grunt-cli" = self.by-version."grunt-cli"."0.1.11";
+  by-spec."grunt-cli"."~0.1.7" =
+    self.by-version."grunt-cli"."0.1.11";
+  by-spec."grunt-contrib-cssmin"."*" =
+    self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-version."grunt-contrib-cssmin"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-cssmin-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz";
+        sha1 = "a5735e9f1d263149e49fe035294e429d8c670bab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."~0.1.7" or []);
+      (self.nativeDeps."grunt-contrib-cssmin" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."clean-css"."2.0.2"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-    ];
-    passthru.names = [ "grunt-cli" ];
-  };
-  full."grunt-contrib-cssmin"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-cssmin-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.2.tgz";
-        sha1 = "2804dc0e81f98e8a54d61eee84a1d3fe1a3af8e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-cssmin"."*" or []);
-    deps = [
-      self.full."clean-css"."~1.1.1"
-      self.full."grunt-lib-contrib"."~0.6.0"
-    ];
-    peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-contrib-cssmin" ];
   };
-  "grunt-contrib-cssmin" = self.full."grunt-contrib-cssmin"."*";
-  full."grunt-contrib-jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-jshint-0.6.4";
+  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-spec."grunt-contrib-jshint"."*" =
+    self.by-version."grunt-contrib-jshint"."0.7.2";
+  by-version."grunt-contrib-jshint"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-jshint-0.7.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.4.tgz";
-        sha1 = "c5a0e56c13d3f758cf1b5d0786dcb4a7d4b4d748";
+        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.2.tgz";
+        sha1 = "29859ddcf42e7f6c54c43fe75da3c4bd90384a8e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-jshint"."*" or []);
+      (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = [
-      self.full."jshint"."~2.1.10"
+      self.by-version."jshint"."2.3.0"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-contrib-jshint" ];
   };
-  "grunt-contrib-jshint" = self.full."grunt-contrib-jshint"."*";
-  full."grunt-contrib-less"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-less-0.7.0";
+  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.7.2";
+  by-spec."grunt-contrib-less"."*" =
+    self.by-version."grunt-contrib-less"."0.8.2";
+  by-version."grunt-contrib-less"."0.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-less-0.8.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.7.0.tgz";
-        sha1 = "35f6513e47ec5f3c99188d46efa9dcf378207be8";
+        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.8.2.tgz";
+        sha1 = "d94e5c69251aec1a48ee154147b808a10ff6f711";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-less"."*" or []);
+      (self.nativeDeps."grunt-contrib-less" or []);
     deps = [
-      self.full."less"."~1.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."less"."1.5.1"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-contrib-less" ];
   };
-  "grunt-contrib-less" = self.full."grunt-contrib-less"."*";
-  full."grunt-contrib-requirejs"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.8.2";
+  by-spec."grunt-contrib-requirejs"."*" =
+    self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-version."grunt-contrib-requirejs"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-contrib-requirejs-0.4.1";
     src = [
       (fetchurl {
@@ -5201,37 +5049,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-requirejs"."*" or []);
+      (self.nativeDeps."grunt-contrib-requirejs" or []);
     deps = [
-      self.full."requirejs"."~2.1.0"
+      self.by-version."requirejs"."2.1.9"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-contrib-requirejs" ];
   };
-  "grunt-contrib-requirejs" = self.full."grunt-contrib-requirejs"."*";
-  full."grunt-contrib-uglify"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-uglify-0.2.4";
+  "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-spec."grunt-contrib-uglify"."*" =
+    self.by-version."grunt-contrib-uglify"."0.2.7";
+  by-version."grunt-contrib-uglify"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz";
-        sha1 = "51113f28a72432521e35e63f7f18a251fda2fd49";
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz";
+        sha1 = "e6bda51e0c40a1459f6cead423c65efd725a1bf7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-uglify"."*" or []);
+      (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."uglify-js"."2.4.6"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
-  "grunt-contrib-uglify" = self.full."grunt-contrib-uglify"."*";
-  full."grunt-karma"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.2.7";
+  by-spec."grunt-karma"."*" =
+    self.by-version."grunt-karma"."0.7.1";
+  by-version."grunt-karma"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-karma-0.7.1";
     src = [
       (fetchurl {
@@ -5240,18 +5092,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-karma"."*" or []);
+      (self.nativeDeps."grunt-karma" or []);
     deps = [
-      self.full."optimist"."~0.6.0"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
-      self.full."grunt"."0.4.x"
-      self.full."karma"."~0.10.0"
+      self.by-version."grunt"."0.4.2"
+      self.by-version."karma"."0.10.7"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.full."grunt-karma"."*";
-  full."grunt-lib-contrib"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  "grunt-karma" = self.by-version."grunt-karma"."0.7.1";
+  by-spec."grunt-lib-contrib"."~0.6.0" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-lib-contrib-0.6.1";
     src = [
       (fetchurl {
@@ -5260,32 +5114,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.0" or []);
+      (self.nativeDeps."grunt-lib-contrib" or []);
     deps = [
-      self.full."zlib-browserify"."0.0.1"
+      self.by-version."zlib-browserify"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt-lib-contrib" ];
   };
-  full."grunt-lib-contrib"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-lib-contrib-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
-        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.1" or []);
-    deps = [
-      self.full."zlib-browserify"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt-lib-contrib" ];
-  };
-  full."grunt-sed"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."grunt-lib-contrib"."~0.6.1" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-spec."grunt-sed"."*" =
+    self.by-version."grunt-sed"."0.1.1";
+  by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-sed-0.1.1";
     src = [
       (fetchurl {
@@ -5294,17 +5135,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-sed"."*" or []);
+      (self.nativeDeps."grunt-sed" or []);
     deps = [
-      self.full."replace"."~0.2.4"
+      self.by-version."replace"."0.2.7"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4"
+      self.by-version."grunt"."0.4.2"
     ];
     passthru.names = [ "grunt-sed" ];
   };
-  "grunt-sed" = self.full."grunt-sed"."*";
-  full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " = lib.makeOverridable self.buildNodePackage {
+  "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
+  by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
+    self.by-version."guifi-earth"."0.2.1";
+  by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "guifi-earth-0.2.1";
     src = [
       (fetchurl {
@@ -5313,20 +5156,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " or []);
+      (self.nativeDeps."guifi-earth" or []);
     deps = [
-      self.full."coffee-script".">= 0.0.1"
-      self.full."jade".">= 0.0.1"
-      self.full."q".">= 0.0.1"
-      self.full."xml2js".">= 0.0.1"
-      self.full."msgpack".">= 0.0.1"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."jade"."0.35.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."xml2js"."0.4.0"
+      self.by-version."msgpack"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "guifi-earth" ];
   };
-  "guifi-earth" = self.full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
-  full."gzippo"."*" = lib.makeOverridable self.buildNodePackage {
+  "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gzippo"."*" =
+    self.by-version."gzippo"."0.2.0";
+  by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "gzippo-0.2.0";
     src = [
       (fetchurl {
@@ -5335,16 +5180,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gzippo"."*" or []);
+      (self.nativeDeps."gzippo" or []);
     deps = [
-      self.full."send"."*"
+      self.by-version."send"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "gzippo" ];
   };
-  "gzippo" = self.full."gzippo"."*";
-  full."handlebars"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+  "gzippo" = self.by-version."gzippo"."0.2.0";
+  by-spec."handlebars"."1.0.x" =
+    self.by-version."handlebars"."1.0.12";
+  by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.0.12";
     src = [
       (fetchurl {
@@ -5353,34 +5200,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."handlebars"."1.0.x" or []);
+      (self.nativeDeps."handlebars" or []);
     deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-js"."2.3.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "handlebars" ];
   };
-  full."handlebars"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "handlebars-1.0.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
-        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."handlebars"."~1.0.11" or []);
-    deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "handlebars" ];
-  };
-  full."has-color"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."handlebars"."~1.0.11" =
+    self.by-version."handlebars"."1.0.12";
+  by-spec."has-color"."~0.1.0" =
+    self.by-version."has-color"."0.1.1";
+  by-version."has-color"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "has-color-0.1.1";
     src = [
       (fetchurl {
@@ -5389,31 +5222,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."has-color"."~0.1.0" or []);
+      (self.nativeDeps."has-color" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "has-color" ];
   };
-  full."hasher"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "hasher-1.1.4";
+  by-spec."hasher"."~1.2.0" =
+    self.by-version."hasher"."1.2.0";
+  by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "hasher-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hasher/-/hasher-1.1.4.tgz";
-        sha1 = "cb0a6c480bfa402adfbd4208452c64c684da9490";
+        url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
+        sha1 = "8b5341c3496124b0724ac8555fbb8ca363ebbb73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hasher"."~1.1.4" or []);
+      (self.nativeDeps."hasher" or []);
     deps = [
-      self.full."signals".">0.7 <2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hasher" ];
   };
-  full."hat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hat"."*" =
+    self.by-version."hat"."0.0.3";
+  by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "hat-0.0.3";
     src = [
       (fetchurl {
@@ -5422,14 +5259,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hat"."*" or []);
+      (self.nativeDeps."hat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hat" ];
   };
-  full."hawk"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hawk"."~0.10.0" =
+    self.by-version."hawk"."0.10.2";
+  by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-0.10.2";
     src = [
       (fetchurl {
@@ -5438,78 +5277,108 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.0" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
+      self.by-version."hoek"."0.7.6"
+      self.by-version."boom"."0.3.8"
+      self.by-version."cryptiles"."0.1.3"
+      self.by-version."sntp"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.10.2";
+  by-spec."hawk"."~0.10.2" =
+    self.by-version."hawk"."0.10.2";
+  by-spec."hawk"."~0.13.0" =
+    self.by-version."hawk"."0.13.1";
+  by-version."hawk"."0.13.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-0.13.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+        url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
+        sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.2" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.7.x"
-      self.full."boom"."0.3.x"
-      self.full."cryptiles"."0.1.x"
-      self.full."sntp"."0.1.x"
+      self.by-version."hoek"."0.8.5"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.13.1";
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
-        sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.13.0" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.8.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."hoek"."0.9.1"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
+  by-spec."he"."~0.3.6" =
+    self.by-version."he"."0.3.6";
+  by-version."he"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "he-0.3.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+        url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
+        sha1 = "9d7bc446e77963933301dd602d5731cb861135e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~1.0.0" or []);
+      (self.nativeDeps."he" or []);
     deps = [
-      self.full."hoek"."0.9.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "he" ];
   };
-  full."hiredis"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hipache"."*" =
+    self.by-version."hipache"."0.2.4";
+  by-version."hipache"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "hipache-0.2.4";
+    src = [
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/hipache/-/hipache-0.2.4.tgz";
+        sha1 = "1d6a06bf88cac084b5fcd01959392c8b4889ec65";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hipache" or []);
+    deps = [
+      self.by-version."read-installed"."0.2.2"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."redis"."0.8.6"
+      self.by-version."lru-cache"."2.2.4"
+      self.by-version."optimist"."0.3.7"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "hipache" ];
+  };
+  "hipache" = self.by-version."hipache"."0.2.4";
+  by-spec."hiredis"."*" =
+    self.by-version."hiredis"."0.1.15";
+  by-version."hiredis"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "hiredis-0.1.15";
     src = [
       (fetchurl {
@@ -5518,15 +5387,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hiredis"."*" or []);
+      (self.nativeDeps."hiredis" or []);
     deps = [
-      self.full."bindings"."*"
+      self.by-version."bindings"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hiredis" ];
   };
-  full."hoek"."0.7.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.7.x" =
+    self.by-version."hoek"."0.7.6";
+  by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.7.6";
     src = [
       (fetchurl {
@@ -5535,14 +5406,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.7.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.8.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.8.x" =
+    self.by-version."hoek"."0.8.5";
+  by-version."hoek"."0.8.5" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.8.5";
     src = [
       (fetchurl {
@@ -5551,14 +5424,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.8.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.9.1";
     src = [
       (fetchurl {
@@ -5567,14 +5442,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.9.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hooker"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooker"."~0.2.3" =
+    self.by-version."hooker"."0.2.3";
+  by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "hooker-0.2.3";
     src = [
       (fetchurl {
@@ -5583,14 +5460,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooker"."~0.2.3" or []);
+      (self.nativeDeps."hooker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooker" ];
   };
-  full."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooks"."0.2.1" =
+    self.by-version."hooks"."0.2.1";
+  by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "hooks-0.2.1";
     src = [
       (fetchurl {
@@ -5599,31 +5478,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooks"."0.2.1" or []);
+      (self.nativeDeps."hooks" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooks" ];
   };
-  full."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "htdigest-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/htdigest/-/htdigest-1.0.7.tgz";
-        sha1 = "0c55ba3a018855e134fd82f7a4aa6235167181b2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."htdigest"."1.0.7" or []);
-    deps = [
-      self.full."commander"."0.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "htdigest" ];
-  };
-  full."htmlparser2"."2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."2.x" =
+    self.by-version."htmlparser2"."2.6.0";
+  by-version."htmlparser2"."2.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-2.6.0";
     src = [
       (fetchurl {
@@ -5632,17 +5496,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."2.x" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.0"
-      self.full."domelementtype"."1"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.0.1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."3.1.4" =
+    self.by-version."htmlparser2"."3.1.4";
+  by-version."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-3.1.4";
     src = [
       (fetchurl {
@@ -5651,74 +5517,65 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."3.1.4" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.1"
-      self.full."domelementtype"."1"
-      self.full."readable-stream"."1.0"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.1.6"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "htpasswd-1.1.0";
+  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 = "http-auth-2.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/htpasswd/-/htpasswd-1.1.0.tgz";
-        sha1 = "4e9e6a2203405005aa1ae7dee80d3b6d6a8d93d6";
+        url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
+        sha1 = "aa1a61a4d6baae9d64436c6f0ef0f4de85c430e3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."htpasswd"."1.1.0" or []);
+      (self.nativeDeps."http-auth" or []);
     deps = [
-      self.full."commander"."0.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "htpasswd" ];
-  };
-  full."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "http-auth-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-auth/-/http-auth-1.2.7.tgz";
-        sha1 = "d15b9c08646c9fdcc4f92edb9888f57cb6cf9ca7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-auth"."1.2.7" or []);
-    deps = [
-      self.full."node-uuid"."1.2.0"
-      self.full."htpasswd"."1.1.0"
-      self.full."htdigest"."1.0.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."node-uuid"."1.4.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-auth" ];
   };
-  full."http-proxy"."~0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-proxy"."git://github.com/samalba/node-http-proxy" =
+    self.by-version."http-proxy"."0.10.3";
+  by-version."http-proxy"."0.10.3" = lib.makeOverridable self.buildNodePackage {
     name = "http-proxy-0.10.3";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.3.tgz";
-        sha1 = "72ca9d503a75e064650084c58ca11b82e4b0196d";
+      (fetchgit {
+        url = "git://github.com/samalba/node-http-proxy";
+        rev = "8e277989d2d05edaee65e524fb4fba9142c52aa5";
+        sha256 = "8ce0e05c73e517eefc6d9bf8b61349351aee119c2fb60763f23170607cc0e41f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-proxy"."~0.10" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."utile"."~0.1.7"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
   };
-  full."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-proxy"."~0.10" =
+    self.by-version."http-proxy"."0.10.3";
+  by-spec."http-signature"."0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
     name = "http-signature-0.9.11";
     src = [
       (fetchurl {
@@ -5727,17 +5584,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."0.9.11" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."http-signature"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
     name = "http-signature-0.10.0";
     src = [
       (fetchurl {
@@ -5746,36 +5605,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.10.0" or []);
-    deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  full."http-signature"."~0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature"."~0.9.11" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."i"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."~0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-spec."i"."0.3.x" =
+    self.by-version."i"."0.3.2";
+  by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "i-0.3.2";
     src = [
       (fetchurl {
@@ -5784,14 +5628,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i"."0.3.x" or []);
+      (self.nativeDeps."i" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i" ];
   };
-  full."i18next"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."i18next"."*" =
+    self.by-version."i18next"."1.7.1";
+  by-version."i18next"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "i18next-1.7.1";
     src = [
       (fetchurl {
@@ -5800,32 +5646,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i18next"."*" or []);
+      (self.nativeDeps."i18next" or []);
     deps = [
-      self.full."cookies".">= 0.2.2"
+      self.by-version."cookies"."0.3.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i18next" ];
   };
-  "i18next" = self.full."i18next"."*";
-  full."iconv-lite"."~0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
+  "i18next" = self.by-version."i18next"."1.7.1";
+  by-spec."ibrik"."~0.0.4" =
+    self.by-version."ibrik"."0.0.4";
+  by-version."ibrik"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "ibrik-0.0.4";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/ibrik/-/ibrik-0.0.4.tgz";
+        sha1 = "1ce60747afe56ecee03cd1f6f0db30ce579961e4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
+      (self.nativeDeps."ibrik" or []);
     deps = [
+      self.by-version."coffee-script-redux"."2.0.0-beta4"
+      self.by-version."istanbul"."0.1.46"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."escodegen"."1.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."which"."1.0.5"
+      self.by-version."estraverse"."1.5.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "iconv-lite" ];
+    passthru.names = [ "ibrik" ];
   };
-  full."iconv-lite"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."iconv-lite"."~0.2.10" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
@@ -5834,78 +5691,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.11" or []);
+      (self.nativeDeps."iconv-lite" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
   };
-  full."iconv-lite"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  full."inherits"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."iconv-lite"."~0.2.11" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."inherits"."1" =
+    self.by-version."inherits"."1.0.0";
+  by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-1.0.0";
     src = [
       (fetchurl {
@@ -5914,14 +5711,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~1.0.0" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."inherits"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."1.x" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-2.0.1";
     src = [
       (fetchurl {
@@ -5930,14 +5731,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~2.0.0" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."ini"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."~1.0.0" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ini"."1" =
+    self.by-version."ini"."1.1.0";
+  by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ini-1.1.0";
     src = [
       (fetchurl {
@@ -5946,86 +5753,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."1" or []);
+      (self.nativeDeps."ini" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
   };
-  full."ini"."1.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."1.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."ini"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."~1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."init-package-json"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
-        sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.10" or []);
-    deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "init-package-json" ];
-  };
-  full."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.11";
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.1.0";
+  by-spec."ini"."~1.1.0" =
+    self.by-version."ini"."1.1.0";
+  by-spec."init-package-json"."0.0.13" =
+    self.by-version."init-package-json"."0.0.13";
+  by-version."init-package-json"."0.0.13" = lib.makeOverridable self.buildNodePackage {
+    name = "init-package-json-0.0.13";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.11.tgz";
-        sha1 = "71914631d091bb1f73a4bddbe6d7985e929859ce";
+        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.13.tgz";
+        sha1 = "ce58dd49dc54b4ce516775ab8f9a43066d685bcb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.11" or []);
+      (self.nativeDeps."init-package-json" or []);
     deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
+      self.by-version."promzard"."0.2.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."semver"."2.2.1"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "init-package-json" ];
   };
-  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.2.4" =
+    self.by-version."inquirer"."0.2.5";
+  by-version."inquirer"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "inquirer-0.2.5";
     src = [
       (fetchurl {
@@ -6034,58 +5798,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.4" or []);
-    deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inquirer" ];
-  };
-  full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.0" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
+  by-spec."inquirer"."~0.3.0" =
+    self.by-version."inquirer"."0.3.5";
+  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
+        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.1" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."insight"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.3.1" =
+    self.by-version."inquirer"."0.3.5";
+  by-spec."insight"."~0.2.0" =
+    self.by-version."insight"."0.2.0";
+  by-version."insight"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "insight-0.2.0";
     src = [
       (fetchurl {
@@ -6094,20 +5844,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."insight"."~0.2.0" or []);
+      (self.nativeDeps."insight" or []);
     deps = [
-      self.full."chalk"."~0.2.0"
-      self.full."request"."~2.27.0"
-      self.full."configstore"."~0.1.0"
-      self.full."async"."~0.2.9"
-      self.full."lodash"."~1.3.1"
-      self.full."inquirer"."~0.2.4"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."inquirer"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "insight" ];
   };
-  full."intersect"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "intersect-0.0.3";
     src = [
       (fetchurl {
@@ -6116,14 +5868,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."intersect"."~0.0.3" or []);
+      (self.nativeDeps."intersect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "intersect" ];
   };
-  full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ironhorse"."*" =
+    self.by-version."ironhorse"."0.0.9";
+  by-version."ironhorse"."0.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "ironhorse-0.0.9";
     src = [
       (fetchurl {
@@ -6132,31 +5886,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ironhorse"."*" or []);
+      (self.nativeDeps."ironhorse" or []);
     deps = [
-      self.full."underscore"."~1.5.2"
-      self.full."winston"."*"
-      self.full."nconf"."*"
-      self.full."fs-walk"."*"
-      self.full."async"."*"
-      self.full."express"."*"
-      self.full."jade"."*"
-      self.full."passport"."*"
-      self.full."passport-http"."*"
-      self.full."js-yaml"."*"
-      self.full."mongoose"."*"
-      self.full."gridfs-stream"."*"
-      self.full."temp"."*"
-      self.full."kue"."*"
-      self.full."redis"."*"
-      self.full."hiredis"."*"
+      self.by-version."underscore"."1.5.2"
+      self.by-version."winston"."0.7.2"
+      self.by-version."nconf"."0.6.9"
+      self.by-version."fs-walk"."0.0.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."express"."3.4.6"
+      self.by-version."jade"."0.35.0"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-http"."0.2.2"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."mongoose"."3.8.1"
+      self.by-version."gridfs-stream"."0.4.0"
+      self.by-version."temp"."0.6.0"
+      self.by-version."kue"."0.6.2"
+      self.by-version."redis"."0.9.1"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ironhorse" ];
   };
-  "ironhorse" = self.full."ironhorse"."*";
-  full."is-promise"."~1" = lib.makeOverridable self.buildNodePackage {
+  "ironhorse" = self.by-version."ironhorse"."0.0.9";
+  by-spec."is-promise"."~1" =
+    self.by-version."is-promise"."1.0.0";
+  by-version."is-promise"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "is-promise-1.0.0";
     src = [
       (fetchurl {
@@ -6165,14 +5921,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."is-promise"."~1" or []);
+      (self.nativeDeps."is-promise" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "is-promise" ];
   };
-  full."isbinaryfile"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."isbinaryfile"."~0.1.8" =
+    self.by-version."isbinaryfile"."0.1.9";
+  by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "isbinaryfile-0.1.9";
     src = [
       (fetchurl {
@@ -6181,69 +5939,48 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."isbinaryfile"."~0.1.8" or []);
+      (self.nativeDeps."isbinaryfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "isbinaryfile" ];
   };
-  full."istanbul"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
+  by-spec."istanbul"."*" =
+    self.by-version."istanbul"."0.1.46";
+  by-version."istanbul"."0.1.46" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.1.46";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.46.tgz";
+        sha1 = "cefeb1c787d125a6db23bd0f63b0eb9390b0b40d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."istanbul"."*" or []);
+      (self.nativeDeps."istanbul" or []);
     deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."escodegen"."0.0.23"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."fileset"."0.1.5"
+      self.by-version."which"."1.0.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."resolve"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
-  "istanbul" = self.full."istanbul"."*";
-  full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."istanbul"."~0.1.41" or []);
-    deps = [
-      self.full."esprima"."1.0.x"
-      self.full."escodegen"."0.0.23"
-      self.full."handlebars"."1.0.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."nopt"."2.1.x"
-      self.full."fileset"."0.1.x"
-      self.full."which"."1.0.x"
-      self.full."async"."0.2.x"
-      self.full."abbrev"."1.0.x"
-      self.full."wordwrap"."0.0.x"
-      self.full."resolve"."0.5.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "istanbul" ];
-  };
-  full."jade"."*" = lib.makeOverridable self.buildNodePackage {
+  "istanbul" = self.by-version."istanbul"."0.1.46";
+  by-spec."istanbul"."~0.1.45" =
+    self.by-version."istanbul"."0.1.46";
+  by-spec."jade"."*" =
+    self.by-version."jade"."0.35.0";
+  by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
     src = [
       (fetchurl {
@@ -6252,22 +5989,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
+      self.by-version."commander"."2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.50"
+      self.by-version."with"."1.1.1"
+      self.by-version."constantinople"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.full."jade"."*";
-  full."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+  "jade" = self.by-version."jade"."0.35.0";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.26.3";
     src = [
       (fetchurl {
@@ -6276,16 +6015,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.26.3" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade"."0.27.0" =
+    self.by-version."jade"."0.27.0";
+  by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.27.0";
     src = [
       (fetchurl {
@@ -6294,39 +6035,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.27.0" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jade".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.35.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade".">= 0.0.1" or []);
-    deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
-  };
-  full."jayschema"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade".">= 0.0.1" =
+    self.by-version."jade"."0.35.0";
+  by-spec."jayschema"."*" =
+    self.by-version."jayschema"."0.2.0";
+  by-version."jayschema"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "jayschema-0.2.0";
     src = [
       (fetchurl {
@@ -6335,85 +6057,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jayschema"."*" or []);
+      (self.nativeDeps."jayschema" or []);
     deps = [
-      self.full."when"."~2.2.1"
+      self.by-version."when"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.full."jayschema"."*";
-  full."joe"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe"."1.x" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
+  "jayschema" = self.by-version."jayschema"."0.2.0";
+  by-spec."jedediah"."~0.1.0" =
+    self.by-version."jedediah"."0.1.1";
+  by-version."jedediah"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jedediah-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
+        url = "http://registry.npmjs.org/jedediah/-/jedediah-0.1.1.tgz";
+        sha1 = "51f33021ebec6847d844cb53bbc086ee38877f84";
       })
     ];
     buildInputs =
-      (self.nativeDeps."joe"."~1.3.0" or []);
+      (self.nativeDeps."jedediah" or []);
     deps = [
-      self.full."taskgroup"."~3.2.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "joe" ];
+    passthru.names = [ "jedediah" ];
   };
-  full."joe-reporter-console"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-reporter-console-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-1.2.1.tgz";
-        sha1 = "6887fa067121b0e67b571672aa63b358055eddc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe-reporter-console"."~1.2.1" or []);
-    deps = [
-      self.full."cli-color"."~0.2.2"
-    ];
-    peerDependencies = [
-      self.full."joe"."1.x"
-    ];
-    passthru.names = [ "joe-reporter-console" ];
-  };
-  full."js-yaml"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."*" =
+    self.by-version."js-yaml"."2.1.3";
+  by-version."js-yaml"."2.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.3";
     src = [
       (fetchurl {
@@ -6422,17 +6095,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  "js-yaml" = self.full."js-yaml"."*";
-  full."js-yaml"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  "js-yaml" = self.by-version."js-yaml"."2.1.3";
+  by-spec."js-yaml"."0.3.x" =
+    self.by-version."js-yaml"."0.3.7";
+  by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-0.3.7";
     src = [
       (fetchurl {
@@ -6441,14 +6116,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."0.3.x" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."2.1.0" =
+    self.by-version."js-yaml"."2.1.0";
+  by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.0";
     src = [
       (fetchurl {
@@ -6457,16 +6134,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."2.1.0" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."~2.0.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";
     src = [
       (fetchurl {
@@ -6475,77 +6154,64 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.0.2" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.3";
+  by-spec."js-yaml"."~2.1.0" =
+    self.by-version."js-yaml"."2.1.3";
+  by-spec."jsesc"."0.4.3" =
+    self.by-version."jsesc"."0.4.3";
+  by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jsesc-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz";
-        sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c";
+        url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
+        sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.1.0" or []);
+      (self.nativeDeps."jsesc" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
-  };
-  full."jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.2.0.tgz";
-        sha1 = "9cd120e17c6635a5bfd6339531b088ed33eb5af2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jshint"."*" or []);
-    deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jshint" ];
+    passthru.names = [ "jsesc" ];
   };
-  "jshint" = self.full."jshint"."*";
-  full."jshint"."~2.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.1.11";
+  by-spec."jshint"."*" =
+    self.by-version."jshint"."2.3.0";
+  by-version."jshint"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz";
-        sha1 = "eb5108fef9ba5ddebb830983f572d242e49e3f96";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz";
+        sha1 = "19504455a2c20c46ee183361eb87f3a1c0b7dc47";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."~2.1.10" or []);
+      (self.nativeDeps."jshint" or []);
     deps = [
-      self.full."shelljs"."0.1.x"
-      self.full."underscore"."1.4.x"
-      self.full."cli"."0.4.x"
-      self.full."minimatch"."0.x.x"
-      self.full."console-browserify"."0.1.x"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."cli"."0.4.5"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."console-browserify"."0.1.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  full."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  "jshint" = self.by-version."jshint"."2.3.0";
+  by-spec."jshint"."~2.3.0" =
+    self.by-version."jshint"."2.3.0";
+  by-spec."json-schema"."0.2.2" =
+    self.by-version."json-schema"."0.2.2";
+  by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "json-schema-0.2.2";
     src = [
       (fetchurl {
@@ -6554,14 +6220,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-schema"."0.2.2" or []);
+      (self.nativeDeps."json-schema" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-schema" ];
   };
-  full."json-stringify-safe"."~3.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~3.0.0" =
+    self.by-version."json-stringify-safe"."3.0.0";
+  by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-3.0.0";
     src = [
       (fetchurl {
@@ -6570,14 +6238,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~3.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~4.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~4.0.0" =
+    self.by-version."json-stringify-safe"."4.0.0";
+  by-version."json-stringify-safe"."4.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-4.0.0";
     src = [
       (fetchurl {
@@ -6586,14 +6256,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~4.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~5.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-5.0.0";
     src = [
       (fetchurl {
@@ -6602,31 +6274,53 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~5.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."jsontool"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jsontool-6.0.0";
+  by-spec."jsonfile"."~1.0.1" =
+    self.by-version."jsonfile"."1.0.1";
+  by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jsonfile-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jsontool/-/jsontool-6.0.0.tgz";
-        sha1 = "dc2a535b2aa8a10b0b7359c76fa8920cdb92ce6d";
+        url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
+        sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsontool"."*" or []);
+      (self.nativeDeps."jsonfile" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "jsonfile" ];
+  };
+  by-spec."jsontool"."*" =
+    self.by-version."jsontool"."7.0.1";
+  by-version."jsontool"."7.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jsontool-7.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.1.tgz";
+        sha1 = "d5a705e46e305d7377ede769707c072e6d957977";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."jsontool" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsontool" ];
   };
-  "jsontool" = self.full."jsontool"."*";
-  full."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "jsontool" = self.by-version."jsontool"."7.0.1";
+  by-spec."jsprim"."0.3.0" =
+    self.by-version."jsprim"."0.3.0";
+  by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "jsprim-0.3.0";
     src = [
       (fetchurl {
@@ -6635,17 +6329,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsprim"."0.3.0" or []);
+      (self.nativeDeps."jsprim" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
-      self.full."json-schema"."0.2.2"
-      self.full."verror"."1.3.3"
+      self.by-version."extsprintf"."1.0.0"
+      self.by-version."json-schema"."0.2.2"
+      self.by-version."verror"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsprim" ];
   };
-  full."junk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."junk"."~0.2.0" =
+    self.by-version."junk"."0.2.1";
+  by-version."junk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "junk-0.2.1";
     src = [
       (fetchurl {
@@ -6654,270 +6350,139 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."junk"."~0.2.0" or []);
+      (self.nativeDeps."junk" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "junk" ];
   };
-  full."karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma"."*" =
+    self.by-version."karma"."0.11.7";
+  "karma" = self.by-version."karma"."0.11.7";
+  by-spec."karma".">=0.9" =
+    self.by-version."karma"."0.11.7";
+  by-spec."karma".">=0.9.3" =
+    self.by-version."karma"."0.11.7";
+  by-spec."karma"."~0.10.0" =
+    self.by-version."karma"."0.10.7";
+  by-version."karma"."0.10.7" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.10.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/karma/-/karma-0.10.7.tgz";
+        sha1 = "de49e2323a187ecb688470c2ad3be6a30bc7c270";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."*" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."karma" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.1"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
     ];
     peerDependencies = [
+      self.by-version."karma-jasmine"."0.1.3"
+      self.by-version."karma-requirejs"."0.2.0"
+      self.by-version."karma-coffee-preprocessor"."0.1.1"
+      self.by-version."karma-html2js-preprocessor"."0.1.0"
+      self.by-version."karma-chrome-launcher"."0.1.1"
+      self.by-version."karma-firefox-launcher"."0.1.2"
+      self.by-version."karma-phantomjs-launcher"."0.1.1"
+      self.by-version."karma-script-launcher"."0.1.0"
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "karma" ];
   };
-  "karma" = self.full."karma"."*";
-  full."karma".">=0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma-chrome-launcher"."*" =
+    self.by-version."karma-chrome-launcher"."0.1.1";
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.1";
+  by-spec."karma-coffee-preprocessor"."*" =
+    self.by-version."karma-coffee-preprocessor"."0.1.1";
+  by-spec."karma-coverage"."*" =
+    self.by-version."karma-coverage"."0.1.3";
+  by-version."karma-coverage"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-coverage-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.3.tgz";
+        sha1 = "4a936fa89a2c06c339ad953a10c6d25eb6794204";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."karma-coverage" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."istanbul"."0.1.46"
+      self.by-version."ibrik"."0.0.4"
+      self.by-version."dateformat"."1.0.6-1.2.3"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.11.7"
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "karma-coverage" ];
   };
-  full."karma".">=0.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  "karma-coverage" = self.by-version."karma-coverage"."0.1.3";
+  by-spec."karma-firefox-launcher"."*" =
+    self.by-version."karma-firefox-launcher"."0.1.2";
+  by-spec."karma-html2js-preprocessor"."*" =
+    self.by-version."karma-html2js-preprocessor"."0.1.0";
+  by-spec."karma-jasmine"."*" =
+    self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma"."0.11.7" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-requirejs"."0.2.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-coffee-preprocessor"."0.1.1" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-html2js-preprocessor"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-chrome-launcher"."0.1.1" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-firefox-launcher"."0.1.2" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-phantomjs-launcher"."0.1.1" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-script-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-jasmine"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-jasmine-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
-        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
-      })
-      (fetchurl {
         url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
         sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
-        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
-        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma".">=0.9.3" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
-    deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
-  };
-  full."karma"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.10.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.7.tgz";
+        sha1 = "86f44de1c44016e5af3492bceb6dea99799b18fb";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
-        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
+        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.0.tgz";
+        sha1 = "62facf19e1f4be956b90b67c4bebba7bb84fb054";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
-        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
+        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.1.tgz";
+        sha1 = "32285f28a5f6c97ceeeae3b8a48e0d087c1a952a";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
         sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
-        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
+        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.1.tgz";
+        sha1 = "9fc3410063cefc88e06043d233f839651a16a98c";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
-        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
+        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.2.tgz";
+        sha1 = "bf451d98a80a3f3368514db693dfddb70786fd5f";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
-        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
+        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.1.tgz";
+        sha1 = "e3c9511177f45f9dfe65b404be0ddd7190887c95";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
@@ -6925,129 +6490,116 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."~0.10.0" or [])
-      ++ (self.nativeDeps."karma-jasmine"."*" or [])
-      ++ (self.nativeDeps."karma-requirejs"."*" or [])
-      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
-      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
-      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+      (self.nativeDeps."karma-jasmine" or [])
+      ++ (self.nativeDeps."karma" or [])
+      ++ (self.nativeDeps."karma-requirejs" or [])
+      ++ (self.nativeDeps."karma-coffee-preprocessor" or [])
+      ++ (self.nativeDeps."karma-html2js-preprocessor" or [])
+      ++ (self.nativeDeps."karma-chrome-launcher" or [])
+      ++ (self.nativeDeps."karma-firefox-launcher" or [])
+      ++ (self.nativeDeps."karma-phantomjs-launcher" or [])
+      ++ (self.nativeDeps."karma-script-launcher" or []);
     deps = [
-      self.full."di"."~0.0.1"
-      self.full."socket.io"."~0.9.13"
-      self.full."chokidar"."~0.6"
-      self.full."glob"."~3.1.21"
-      self.full."minimatch"."~0.2"
-      self.full."http-proxy"."~0.10"
-      self.full."optimist"."~0.3"
-      self.full."coffee-script"."~1.6"
-      self.full."rimraf"."~2.1"
-      self.full."q"."~0.9"
-      self.full."colors"."0.6.0-1"
-      self.full."lodash"."~1.1"
-      self.full."mime"."~1.2"
-      self.full."log4js"."~0.6.3"
-      self.full."useragent"."~2.0.4"
-      self.full."graceful-fs"."~1.2.1"
-      self.full."connect"."~2.8.4"
-      self.full."phantomjs"."~1.9"
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.1"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
+      self.by-version."phantomjs"."1.9.2-4"
     ];
     peerDependencies = [
+      self.by-version."requirejs"."2.1.9"
     ];
-    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+    passthru.names = [ "karma-jasmine" "karma" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
   };
-  full."karma-chrome-launcher"."*" = self.full."karma"."~0.10.0";
-  "karma-chrome-launcher" = self.full."karma-chrome-launcher"."*";
-  full."karma-coffee-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-coverage"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-coverage-0.1.0";
+  by-spec."karma-junit-reporter"."*" =
+    self.by-version."karma-junit-reporter"."0.2.1";
+  by-version."karma-junit-reporter"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-junit-reporter-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.0.tgz";
-        sha1 = "6d5d03352cbe2d529807e558688dceea55f9dbb0";
+        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz";
+        sha1 = "ae125962683a0d1286dc7768fbf66a8f02e448fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-coverage"."*" or []);
+      (self.nativeDeps."karma-junit-reporter" or []);
     deps = [
-      self.full."istanbul"."~0.1.41"
-      self.full."dateformat"."~1.0.6"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
-    ];
-    passthru.names = [ "karma-coverage" ];
-  };
-  "karma-coverage" = self.full."karma-coverage"."*";
-  full."karma-firefox-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-html2js-preprocessor"."*" = self.full."karma"."~0.10.0";
-  full."karma-jasmine"."*" = self.full."karma"."~0.10.0";
-  full."karma-junit-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-junit-reporter-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.1.0.tgz";
-        sha1 = "7af72b64d7e9f192d1a40f4ef063ffbcf9e7bba5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-junit-reporter"."*" or []);
-    deps = [
-      self.full."xmlbuilder"."0.4.2"
-    ];
-    peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.7"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
-  "karma-junit-reporter" = self.full."karma-junit-reporter"."*";
-  full."karma-mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-mocha-0.1.0";
+  "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.1";
+  by-spec."karma-mocha"."*" =
+    self.by-version."karma-mocha"."0.1.1";
+  by-version."karma-mocha"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-mocha-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.0.tgz";
-        sha1 = "451cfef48c51850e45db9d119927502e6a2feb40";
+        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.1.tgz";
+        sha1 = "5edddb3e2d2c6fd47e9ad26f0af1595fe852c756";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-mocha"."*" or []);
+      (self.nativeDeps."karma-mocha" or []);
     deps = [
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
-      self.full."mocha"."*"
+      self.by-version."karma"."0.11.7"
+      self.by-version."mocha"."1.15.1"
     ];
     passthru.names = [ "karma-mocha" ];
   };
-  "karma-mocha" = self.full."karma-mocha"."*";
-  full."karma-phantomjs-launcher"."*" = self.full."karma"."~0.10.0";
-  full."karma-requirejs"."*" = self.full."karma"."~0.10.0";
-  "karma-requirejs" = self.full."karma-requirejs"."*";
-  full."karma-sauce-launcher"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-sauce-launcher-0.1.1";
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.1";
+  by-spec."karma-phantomjs-launcher"."*" =
+    self.by-version."karma-phantomjs-launcher"."0.1.1";
+  by-spec."karma-requirejs"."*" =
+    self.by-version."karma-requirejs"."0.2.0";
+  "karma-requirejs" = self.by-version."karma-requirejs"."0.2.0";
+  by-spec."karma-sauce-launcher"."*" =
+    self.by-version."karma-sauce-launcher"."0.1.5";
+  by-version."karma-sauce-launcher"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-sauce-launcher-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.1.1.tgz";
-        sha1 = "34b82b8cb285c239b0fede1a8363488cc02f429b";
+        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.1.5.tgz";
+        sha1 = "9e95e2b91556ff073105777c838e55d8b57db318";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-sauce-launcher"."*" or []);
+      (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
-      self.full."wd"."~0.1.5"
-      self.full."sauce-connect-launcher"."~0.1.10"
-      self.full."q"."~0.9.6"
+      self.by-version."wd"."0.1.5"
+      self.by-version."sauce-connect-launcher"."0.1.11"
+      self.by-version."q"."0.9.7"
+      self.by-version."saucelabs"."0.1.1"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.7"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
-  "karma-sauce-launcher" = self.full."karma-sauce-launcher"."*";
-  full."karma-script-launcher"."*" = self.full."karma"."~0.10.0";
-  full."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.1.5";
+  by-spec."karma-script-launcher"."*" =
+    self.by-version."karma-script-launcher"."0.1.0";
+  by-spec."keen.io"."0.0.3" =
+    self.by-version."keen.io"."0.0.3";
+  by-version."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "keen.io-0.0.3";
     src = [
       (fetchurl {
@@ -7056,16 +6608,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keen.io"."0.0.3" or []);
+      (self.nativeDeps."keen.io" or []);
     deps = [
-      self.full."superagent"."~0.13.0"
-      self.full."underscore"."~1.4.4"
+      self.by-version."superagent"."0.13.0"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keen.io" ];
   };
-  full."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."keep-alive-agent"."0.0.1" =
+    self.by-version."keep-alive-agent"."0.0.1";
+  by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "keep-alive-agent-0.0.1";
     src = [
       (fetchurl {
@@ -7074,14 +6628,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keep-alive-agent"."0.0.1" or []);
+      (self.nativeDeps."keep-alive-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keep-alive-agent" ];
   };
-  full."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kerberos"."0.0.3" =
+    self.by-version."kerberos"."0.0.3";
+  by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "kerberos-0.0.3";
     src = [
       (fetchurl {
@@ -7090,14 +6646,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kerberos"."0.0.3" or []);
+      (self.nativeDeps."kerberos" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
   };
-  full."kew"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kew"."~0.1.7" =
+    self.by-version."kew"."0.1.7";
+  by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "kew-0.1.7";
     src = [
       (fetchurl {
@@ -7106,35 +6664,57 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kew"."~0.1.7" or []);
+      (self.nativeDeps."kew" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kew" ];
   };
-  full."knox"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "knox-0.8.6";
+  by-spec."keypress"."0.1.x" =
+    self.by-version."keypress"."0.1.0";
+  by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "keypress-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knox/-/knox-0.8.6.tgz";
-        sha1 = "244e7c643c4c9ea2eb37e215dd02b07c8e138e3a";
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."knox"."*" or []);
+      (self.nativeDeps."keypress" or []);
     deps = [
-      self.full."mime"."*"
-      self.full."xml2js"."0.2.x"
-      self.full."debug"."~0.7.0"
-      self.full."stream-counter"."~0.1.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "keypress" ];
+  };
+  by-spec."knox"."*" =
+    self.by-version."knox"."0.8.8";
+  by-version."knox"."0.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "knox-0.8.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/knox/-/knox-0.8.8.tgz";
+        sha1 = "aeeadd22b0a4b1e4d858a15174af2da060ab6774";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."knox" or []);
+    deps = [
+      self.by-version."mime"."1.2.11"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."debug"."0.7.4"
+      self.by-version."stream-counter"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "knox" ];
   };
-  "knox" = self.full."knox"."*";
-  full."kue"."*" = lib.makeOverridable self.buildNodePackage {
+  "knox" = self.by-version."knox"."0.8.8";
+  by-spec."kue"."*" =
+    self.by-version."kue"."0.6.2";
+  by-version."kue"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "kue-0.6.2";
     src = [
       (fetchurl {
@@ -7143,21 +6723,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kue"."*" or []);
+      (self.nativeDeps."kue" or []);
     deps = [
-      self.full."redis"."0.7.2"
-      self.full."express"."~3.1.1"
-      self.full."jade"."0.26.3"
-      self.full."stylus"."0.27.2"
-      self.full."nib"."0.5.0"
-      self.full."reds"."0.1.4"
+      self.by-version."redis"."0.7.2"
+      self.by-version."express"."3.1.2"
+      self.by-version."jade"."0.26.3"
+      self.by-version."stylus"."0.27.2"
+      self.by-version."nib"."0.5.0"
+      self.by-version."reds"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.full."kue"."*";
-  full."lazy"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
+  "kue" = self.by-version."kue"."0.6.2";
+  by-spec."lazy"."~1.0.11" =
+    self.by-version."lazy"."1.0.11";
+  by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "lazy-1.0.11";
     src = [
       (fetchurl {
@@ -7166,14 +6748,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lazy"."~1.0.11" or []);
+      (self.nativeDeps."lazy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lazy" ];
   };
-  full."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-parse"."0.0.4" =
+    self.by-version."lcov-parse"."0.0.4";
+  by-version."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-parse-0.0.4";
     src = [
       (fetchurl {
@@ -7182,14 +6766,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-parse"."0.0.4" or []);
+      (self.nativeDeps."lcov-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lcov-parse" ];
   };
-  full."lcov-result-merger"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-result-merger"."*" =
+    self.by-version."lcov-result-merger"."0.0.2";
+  by-version."lcov-result-merger"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-result-merger-0.0.2";
     src = [
       (fetchurl {
@@ -7198,36 +6784,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-result-merger"."*" or []);
+      (self.nativeDeps."lcov-result-merger" or []);
     deps = [
-      self.full."glob"."~3.2.1"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lcov-result-merger" ];
   };
-  "lcov-result-merger" = self.full."lcov-result-merger"."*";
-  full."less"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.4.2";
+  "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2";
+  by-spec."less"."~1.5.0" =
+    self.by-version."less"."1.5.1";
+  by-version."less"."1.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.4.2.tgz";
-        sha1 = "b7deefe98a3a87bee364411b3df2d1efe5a412d0";
+        url = "http://registry.npmjs.org/less/-/less-1.5.1.tgz";
+        sha1 = "633313130efd12a3b78c56aa799dab3eeffffff4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."less"."~1.4.0" or []);
+      (self.nativeDeps."less" or []);
     deps = [
-      self.full."mime"."1.2.x"
-      self.full."request".">=2.12.0"
-      self.full."mkdirp"."~0.3.4"
-      self.full."ycssmin".">=1.0.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."request"."2.27.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."clean-css"."2.0.2"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "less" ];
   };
-  full."libxmljs"."~0.8.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libxmljs"."~0.8.1" =
+    self.by-version."libxmljs"."0.8.1";
+  by-version."libxmljs"."0.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "libxmljs-0.8.1";
     src = [
       (fetchurl {
@@ -7236,15 +6827,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libxmljs"."~0.8.1" or []);
+      (self.nativeDeps."libxmljs" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libxmljs" ];
   };
-  full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libyaml"."*" =
+    self.by-version."libyaml"."0.2.2";
+  by-version."libyaml"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "libyaml-0.2.2";
     src = [
       (fetchurl {
@@ -7253,47 +6846,53 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libyaml"."*" or []);
+      (self.nativeDeps."libyaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libyaml" ];
   };
-  "libyaml" = self.full."libyaml"."*";
-  full."lockfile"."~0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.3.4";
+  "libyaml" = self.by-version."libyaml"."0.2.2";
+  by-spec."lockfile"."~0.4.0" =
+    self.by-version."lockfile"."0.4.2";
+  by-version."lockfile"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "lockfile-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.3.4.tgz";
-        sha1 = "932b63546e4915f81b71924b36187740358eda03";
+        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
+        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.3.2" or []);
+      (self.nativeDeps."lockfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lockfile" ];
   };
-  full."lockfile"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.4.2";
+  by-spec."lodash"."~0.10.0" =
+    self.by-version."lodash"."0.10.0";
+  by-version."lodash"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
-        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
+        url = "http://registry.npmjs.org/lodash/-/lodash-0.10.0.tgz";
+        sha1 = "5254bbc2c46c827f535a27d631fd4f2bff374ce7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.4.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lockfile" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash"."~0.9.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~0.9.2" =
+    self.by-version."lodash"."0.9.2";
+  by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-0.9.2";
     src = [
       (fetchurl {
@@ -7302,14 +6901,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~0.9.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.0.1" =
+    self.by-version."lodash"."1.0.1";
+  by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.0.1";
     src = [
       (fetchurl {
@@ -7318,30 +6919,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
-  };
-  full."lodash"."~1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash"."~1.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-version."lodash"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.1.1";
     src = [
       (fetchurl {
@@ -7350,14 +6937,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.1.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-spec."lodash"."~1.2.1" =
+    self.by-version."lodash"."1.2.1";
+  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.2.1";
     src = [
       (fetchurl {
@@ -7366,14 +6957,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.3.0" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.3.1";
     src = [
       (fetchurl {
@@ -7382,497 +6975,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.3.1";
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-spec."lodash"."~2.3.0" =
+    self.by-version."lodash"."2.3.0";
+  by-version."lodash"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-2.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.3.0.tgz";
+        sha1 = "dfbdac99cf87a59a022c474730570d8716c267dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash._arraypool"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._arraypool-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.2.1.tgz";
-        sha1 = "09c741461dde7a7bc467d826ee50c8b1216427f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._arraypool"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._arraypool" ];
-  };
-  full."lodash._basecreatecallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._basecreatecallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.2.1.tgz";
-        sha1 = "486940419a6f195996cb0f7644af71341c608ce4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._basecreatecallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.bind"."~2.2.1"
-      self.full."lodash.identity"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._basecreatecallback" ];
-  };
-  full."lodash._baseisequal"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._baseisequal-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-2.2.1.tgz";
-        sha1 = "8bd0156ad5c47d927b58d54456329922b24ce0e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._baseisequal"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.forin"."~2.2.1"
-      self.full."lodash._getarray"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-      self.full."lodash._releasearray"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._baseisequal" ];
-  };
-  full."lodash._createbound"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createbound-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createbound/-/lodash._createbound-2.2.1.tgz";
-        sha1 = "27218a40dc73eaf7a1bc90c3f86b0bf79c272ccc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createbound"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createobject"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createbound" ];
-  };
-  full."lodash._createobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createobject/-/lodash._createobject-2.2.1.tgz";
-        sha1 = "8c38ad5d83de703537c863330b97059417fbfee9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createobject" ];
-  };
-  full."lodash._getarray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._getarray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.2.1.tgz";
-        sha1 = "aa5caa269f1649a186811d5be4a78e56e70e9699";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._getarray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._getarray" ];
-  };
-  full."lodash._maxpoolsize"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._maxpoolsize-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.2.1.tgz";
-        sha1 = "1e8b6d433271db7c12ec953d49604ea098542fa7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._maxpoolsize"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._maxpoolsize" ];
-  };
-  full."lodash._noop"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._noop-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._noop/-/lodash._noop-2.2.1.tgz";
-        sha1 = "f790734f9f683c9fda8da9f4d8a8000a2201c6e9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._noop"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._noop" ];
-  };
-  full."lodash._objecttypes"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._objecttypes-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.2.1.tgz";
-        sha1 = "c72d42a5dec0b55664f82162ed74c5f3f94942ba";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._objecttypes"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._objecttypes" ];
-  };
-  full."lodash._releasearray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._releasearray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.2.1.tgz";
-        sha1 = "81626c89e26ce2fbc90a11ce8f6ef26ea15c4b28";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._releasearray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-      self.full."lodash._maxpoolsize"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._releasearray" ];
-  };
-  full."lodash._renative"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._renative-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._renative/-/lodash._renative-2.2.1.tgz";
-        sha1 = "ab77d711371ebae8ffdcf5c83b576d558d6bb522";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._renative"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._renative" ];
-  };
-  full."lodash._setbinddata"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._setbinddata-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.2.1.tgz";
-        sha1 = "df1d5228229c71e28185aae4f828f3b5e78f0904";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._setbinddata"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._setbinddata" ];
-  };
-  full."lodash._shimkeys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._shimkeys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.2.1.tgz";
-        sha1 = "ed4e4b5d61214b2685400b185a59fabf59343455";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._shimkeys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._shimkeys" ];
-  };
-  full."lodash.bind"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.bind-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.bind/-/lodash.bind-2.2.1.tgz";
-        sha1 = "4c24fe00b4c6fa277e4058d353edcf399b3755c2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.bind"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createbound"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.bind" ];
-  };
-  full."lodash.createcallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.createcallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.createcallback/-/lodash.createcallback-2.2.1.tgz";
-        sha1 = "bb5291c473202a391c1a495a0806bf4b1d1842d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.createcallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._baseisequal"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.createcallback" ];
-  };
-  full."lodash.debounce"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.debounce"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.find"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.find-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.find/-/lodash.find-2.2.1.tgz";
-        sha1 = "768cc2149a589d2fd7b7203c6abe34bcb724d01a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.find"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.createcallback"."~2.2.1"
-      self.full."lodash.forown"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.find" ];
-  };
-  full."lodash.forin"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forin-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forin/-/lodash.forin-2.2.1.tgz";
-        sha1 = "d96a47f547002f322dcdc533b0f9e914cba7d050";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forin"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forin" ];
-  };
-  full."lodash.forown"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forown-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forown/-/lodash.forown-2.2.1.tgz";
-        sha1 = "77ee0877c135b603dafe8f2d9ceff215b16458ea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forown"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forown" ];
-  };
-  full."lodash.identity"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.identity-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.identity/-/lodash.identity-2.2.1.tgz";
-        sha1 = "63518772143d450a772511f6671e23038c67bcae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.identity"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.identity" ];
-  };
-  full."lodash.isfunction"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isfunction-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.2.1.tgz";
-        sha1 = "fcfa79b7b2c072b320468ecdc0244bbbac5e49c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isfunction"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isfunction" ];
-  };
-  full."lodash.isobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.2.1.tgz";
-        sha1 = "cbce101e3e3b718cb51b1113e4597d6e8e038831";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isobject" ];
-  };
-  full."lodash.keys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.keys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.2.1.tgz";
-        sha1 = "f372597e6f411d7537e32ba0efc85b5f874d5cca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.keys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._shimkeys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.keys" ];
-  };
-  full."lodash.support"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.support-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.support/-/lodash.support-2.2.1.tgz";
-        sha1 = "5b6c267c6fc5302011f0c14e4529c7fbc08e94ce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.support"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.support" ];
-  };
-  full."lodash.throttle"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.throttle-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.throttle/-/lodash.throttle-2.2.1.tgz";
-        sha1 = "ae49bd6173b0cfb4e09d9645fdac507db77211f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.throttle"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.debounce"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.throttle" ];
-  };
-  full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log-driver"."1.2.1" =
+    self.by-version."log-driver"."1.2.1";
+  by-version."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "log-driver-1.2.1";
     src = [
       (fetchurl {
@@ -7881,14 +7013,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log-driver"."1.2.1" or []);
+      (self.nativeDeps."log-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log-driver" ];
   };
-  full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log4js"."~0.6.3" =
+    self.by-version."log4js"."0.6.9";
+  by-version."log4js"."0.6.9" = lib.makeOverridable self.buildNodePackage {
     name = "log4js-0.6.9";
     src = [
       (fetchurl {
@@ -7897,33 +7031,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log4js"."~0.6.3" or []);
+      (self.nativeDeps."log4js" or []);
     deps = [
-      self.full."async"."0.1.15"
-      self.full."semver"."~1.1.4"
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."async"."0.1.15"
+      self.by-version."semver"."1.1.4"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log4js" ];
   };
-  full."lru-cache"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  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 = "lru-cache-2.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+        sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.0" =
+    self.by-version."lru-cache"."2.2.0";
+  by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.0";
     src = [
       (fetchurl {
@@ -7932,14 +7070,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.x" =
+    self.by-version."lru-cache"."2.2.4";
+  by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.4";
     src = [
       (fetchurl {
@@ -7948,14 +7088,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.x" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.3.0" =
+    self.by-version."lru-cache"."2.3.0";
+  by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.0";
     src = [
       (fetchurl {
@@ -7964,14 +7106,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.3.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."~1.0.2" =
+    self.by-version."lru-cache"."1.0.6";
+  by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-1.0.6";
     src = [
       (fetchurl {
@@ -7980,14 +7124,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~1.0.2" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~2.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.1";
     src = [
       (fetchurl {
@@ -7996,66 +7142,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
+  by-spec."lru-cache"."~2.3.1" =
+    self.by-version."lru-cache"."2.3.1";
+  by-spec."mailcomposer".">= 0.1.27" =
+    self.by-version."mailcomposer"."0.2.6";
+  by-version."mailcomposer"."0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "mailcomposer-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.6.tgz";
+        sha1 = "fa785ae7505daeb7a11f7cecf2b374d7801d1b87";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.1" or []);
+      (self.nativeDeps."mailcomposer" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
-  };
-  full."mailcomposer".">= 0.1.27" = lib.makeOverridable self.buildNodePackage {
-    name = "mailcomposer-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.2.tgz";
-        sha1 = "ce93bdea7cb51e60eb76491b6a64c39f382c20e5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mailcomposer".">= 0.1.27" or []);
-    deps = [
-      self.full."mimelib"."~0.2"
-      self.full."mime"."1.2.9"
+      self.by-version."mimelib"."0.2.14"
+      self.by-version."mime"."1.2.9"
+      self.by-version."he"."0.3.6"
+      self.by-version."punycode"."1.2.3"
+      self.by-version."dkim-signer"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mailcomposer" ];
   };
-  full."match-stream"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "match-stream-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz";
-        sha1 = "99eb050093b34dffade421b9ac0b410a9cfa17cf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."match-stream"."~0.0.2" or []);
-    deps = [
-      self.full."buffers"."~0.1.1"
-      self.full."readable-stream"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "match-stream" ];
-  };
-  full."meat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."meat"."*" =
+    self.by-version."meat"."0.2.5";
+  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "meat-0.2.5";
     src = [
       (fetchurl {
@@ -8064,21 +7185,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."meat"."*" or []);
+      (self.nativeDeps."meat" or []);
     deps = [
-      self.full."express"."2.5.11"
-      self.full."jade"."0.27.0"
-      self.full."open"."0.0.2"
-      self.full."winston"."0.6.2"
-      self.full."mkdirp"."0.3.0"
-      self.full."node.extend"."1.0.0"
+      self.by-version."express"."2.5.11"
+      self.by-version."jade"."0.27.0"
+      self.by-version."open"."0.0.2"
+      self.by-version."winston"."0.6.2"
+      self.by-version."mkdirp"."0.3.0"
+      self.by-version."node.extend"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "meat" ];
   };
-  "meat" = self.full."meat"."*";
-  full."memoizee"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  "meat" = self.by-version."meat"."0.2.5";
+  by-spec."memoizee"."~0.2.5" =
+    self.by-version."memoizee"."0.2.6";
+  by-version."memoizee"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "memoizee-0.2.6";
     src = [
       (fetchurl {
@@ -8087,17 +7210,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."memoizee"."~0.2.5" or []);
+      (self.nativeDeps."memoizee" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."event-emitter"."~0.2.2"
-      self.full."next-tick"."0.1.x"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."event-emitter"."0.2.2"
+      self.by-version."next-tick"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "memoizee" ];
   };
-  full."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "methods-0.0.1";
     src = [
       (fetchurl {
@@ -8106,14 +7231,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."methods"."0.0.1" or []);
+      (self.nativeDeps."methods" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
   };
-  full."mime"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.1.0" =
+    self.by-version."methods"."0.1.0";
+  by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "methods-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."*" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.11";
     src = [
       (fetchurl {
@@ -8122,14 +7267,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."*" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.4" =
+    self.by-version."mime"."1.2.4";
+  by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.4";
     src = [
       (fetchurl {
@@ -8138,14 +7285,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.4" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.5" =
+    self.by-version."mime"."1.2.5";
+  by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.5";
     src = [
       (fetchurl {
@@ -8154,14 +7303,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.5" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.6" =
+    self.by-version."mime"."1.2.6";
+  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.6";
     src = [
       (fetchurl {
@@ -8170,14 +7321,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.6" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.9" =
+    self.by-version."mime"."1.2.9";
+  by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.9";
     src = [
       (fetchurl {
@@ -8186,144 +7339,50 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.9" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."mime"."1.2.x" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime".">= 0.0.1" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.7" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mimelib"."~0.2.14" =
+    self.by-version."mimelib"."0.2.14";
+  by-version."mimelib"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "mimelib-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
+        sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.x" or []);
+      (self.nativeDeps."mimelib" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.11" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime"."~1.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mimelib"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mimelib-0.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.13.tgz";
-        sha1 = "0668eb85e870c510be747a67ece43b9bbf8e20b0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mimelib"."~0.2" or []);
-    deps = [
-      self.full."encoding"."~0.1"
-      self.full."addressparser"."~0.1"
+      self.by-version."encoding"."0.1.7"
+      self.by-version."addressparser"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mimelib" ];
   };
-  full."minimatch"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0" =
+    self.by-version."minimatch"."0.2.12";
+  by-version."minimatch"."0.2.12" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.2.12";
     src = [
       (fetchurl {
@@ -8332,16 +7391,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."sigmund"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0.0.x" =
+    self.by-version."minimatch"."0.0.5";
+  by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.0.5";
     src = [
       (fetchurl {
@@ -8350,195 +7411,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.0.x" or []);
-    deps = [
-      self.full."lru-cache"."~1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.2.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.x" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."1.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.x.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch".">=0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch".">=0.2.4" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.0" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.11" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.12" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.6" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."~0.2.9" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimist"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0.2.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch".">=0.2.4" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.12" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.9" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.5";
+  by-version."minimist"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimist-0.0.5";
     src = [
       (fetchurl {
@@ -8547,47 +7448,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimist"."~0.0.1" or []);
+      (self.nativeDeps."minimist" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
   };
-  full."mkdirp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  "mkdirp" = self.full."mkdirp"."*";
-  full."mkdirp"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mkdirp"."*" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.5";
     src = [
       (fetchurl {
@@ -8596,14 +7466,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.0";
     src = [
       (fetchurl {
@@ -8612,183 +7489,93 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz";
-        sha1 = "f8c81d213b7299a031f193a57d752a17d2f6c7d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.4" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."mkdirp"."0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.x.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.4" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkpath"."~0.1.0" =
+    self.by-version."mkpath"."0.1.0";
+  by-version."mkpath"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkpath-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz";
+        sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3.5" or []);
+      (self.nativeDeps."mkpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mkdirp" ];
+    passthru.names = [ "mkpath" ];
   };
-  full."mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.13.0";
+  by-spec."mocha"."*" =
+    self.by-version."mocha"."1.15.1";
+  by-version."mocha"."1.15.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.15.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz";
-        sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.15.1.tgz";
+        sha1 = "308c3268e16b0b1690d88335355c9d18d4664fc4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha"."*" or []);
+      (self.nativeDeps."mocha" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."growl"."1.7.x"
-      self.full."jade"."0.26.3"
-      self.full."diff"."1.0.7"
-      self.full."debug"."*"
-      self.full."mkdirp"."0.3.5"
-      self.full."glob"."3.2.3"
+      self.by-version."commander"."2.0.0"
+      self.by-version."growl"."1.7.0"
+      self.by-version."jade"."0.26.3"
+      self.by-version."diff"."1.0.7"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
   };
-  "mocha" = self.full."mocha"."*";
-  full."mocha-unfunk-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-unfunk-reporter-0.2.3";
+  "mocha" = self.by-version."mocha"."1.15.1";
+  by-spec."mocha-unfunk-reporter"."*" =
+    self.by-version."mocha-unfunk-reporter"."0.3.7";
+  by-version."mocha-unfunk-reporter"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-unfunk-reporter-0.3.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.2.3.tgz";
-        sha1 = "41c2aa001dc44eef80d073404728d2e4d4a09c90";
+        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.3.7.tgz";
+        sha1 = "3d51ac1804dce71ecd471e4e7aa96ce2e9a6dfec";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha-unfunk-reporter"."*" or []);
+      (self.nativeDeps."mocha-unfunk-reporter" or []);
     deps = [
+      self.by-version."jsesc"."0.4.3"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha-unfunk-reporter" ];
   };
-  "mocha-unfunk-reporter" = self.full."mocha-unfunk-reporter"."*";
-  full."moment"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.0.0.tgz";
-        sha1 = "2bbc5b44c321837693ab6efcadbd46ed946211fe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."moment"."2.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "moment" ];
-  };
-  full."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.3.7";
+  by-spec."moment"."2.1.0" =
+    self.by-version."moment"."2.1.0";
+  by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "moment-2.1.0";
     src = [
       (fetchurl {
@@ -8797,50 +7584,55 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.1.0" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  full."mongodb"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.3.19";
+  by-spec."moment"."~2.4.0" =
+    self.by-version."moment"."2.4.0";
+  by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
+        url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
+        sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."*" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "mongodb" ];
+    passthru.names = [ "moment" ];
   };
-  "mongodb" = self.full."mongodb"."*";
-  full."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.2.14";
+  by-spec."mongodb"."*" =
+    self.by-version."mongodb"."1.3.20";
+  by-version."mongodb"."1.3.20" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-1.3.20";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.20.tgz";
+        sha1 = "257f1570295fe020248ea8329b58d47ec9ceac62";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.14" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."bson"."0.2.3"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  full."mongodb"."1.2.x" = lib.makeOverridable self.buildNodePackage {
+  "mongodb" = self.by-version."mongodb"."1.3.20";
+  by-spec."mongodb"."1.2.14" =
+    self.by-version."mongodb"."1.2.14";
+  by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.2.14";
     src = [
       (fetchurl {
@@ -8849,15 +7641,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.x" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."bson"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  full."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongodb"."1.3.19" =
+    self.by-version."mongodb"."1.3.19";
+  by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.3.19";
     src = [
       (fetchurl {
@@ -8866,41 +7660,47 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.3.19" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
+      self.by-version."bson"."0.2.2"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  full."mongoose"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.7.4";
+  by-spec."mongodb"."1.3.x" =
+    self.by-version."mongodb"."1.3.20";
+  by-spec."mongoose"."*" =
+    self.by-version."mongoose"."3.8.1";
+  by-version."mongoose"."3.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.4.tgz";
-        sha1 = "5ed8cdbc91c92b18ab49ac3526c7ac5264c7b292";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.1.tgz";
+        sha1 = "1efe17d259ae2905330a3b2d91ba4085a090f6b8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."*" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.3.0"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
-      self.full."mquery"."0.3.2"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.3.0"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
+      self.by-version."mquery"."0.3.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.7" =
+    self.by-version."mongoose"."3.6.7";
+  by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.7";
     src = [
       (fetchurl {
@@ -8909,21 +7709,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.7" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.2.14"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.3"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.2.14"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.3"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.x" =
+    self.by-version."mongoose"."3.6.20";
+  by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.20";
     src = [
       (fetchurl {
@@ -8932,23 +7734,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  "mongoose" = self.full."mongoose"."3.6.x";
-  full."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "mongoose" = self.by-version."mongoose"."3.6.20";
+  by-spec."mongoose-lifecycle"."1.0.0" =
+    self.by-version."mongoose-lifecycle"."1.0.0";
+  by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-lifecycle-1.0.0";
     src = [
       (fetchurl {
@@ -8957,32 +7761,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-lifecycle"."1.0.0" or []);
+      (self.nativeDeps."mongoose-lifecycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-lifecycle" ];
   };
-  full."mongoose-schema-extend"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-schema-extend-0.1.5";
+  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 = "mongoose-schema-extend-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.5.tgz";
-        sha1 = "d2ab3d2005033daaa215a806bbd3f6637c9c96c3";
+        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
+        sha1 = "50dc366ba63227d00c4cd3db9bb8bf95e9629910";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-schema-extend"."*" or []);
+      (self.nativeDeps."mongoose-schema-extend" or []);
     deps = [
-      self.full."owl-deepcopy"."~0.0.1"
+      self.by-version."owl-deepcopy"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-schema-extend" ];
   };
-  "mongoose-schema-extend" = self.full."mongoose-schema-extend"."*";
-  full."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
+  "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.1.7";
+  by-spec."monocle"."1.1.50" =
+    self.by-version."monocle"."1.1.50";
+  by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
     name = "monocle-1.1.50";
     src = [
       (fetchurl {
@@ -8991,15 +7799,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."monocle"."1.1.50" or []);
+      (self.nativeDeps."monocle" or []);
     deps = [
-      self.full."readdirp"."~0.2.3"
+      self.by-version."readdirp"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
   };
-  full."mout"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.6.0" =
+    self.by-version."mout"."0.6.0";
+  by-version."mout"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.6.0";
     src = [
       (fetchurl {
@@ -9008,14 +7818,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.6.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mout"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.7.0" =
+    self.by-version."mout"."0.7.1";
+  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.7.1";
     src = [
       (fetchurl {
@@ -9024,14 +7836,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.7.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpath"."0.1.1" =
+    self.by-version."mpath"."0.1.1";
+  by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpath-0.1.1";
     src = [
       (fetchurl {
@@ -9040,14 +7854,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpath"."0.1.1" or []);
+      (self.nativeDeps."mpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
   };
-  full."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.2.1" =
+    self.by-version."mpromise"."0.2.1";
+  by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.2.1";
     src = [
       (fetchurl {
@@ -9056,15 +7872,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.2.1" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.4"
+      self.by-version."sliced"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.3.0" =
+    self.by-version."mpromise"."0.3.0";
+  by-version."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.3.0";
     src = [
       (fetchurl {
@@ -9073,15 +7891,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.3.0" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.5"
+      self.by-version."sliced"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mquery"."0.3.2" =
+    self.by-version."mquery"."0.3.2";
+  by-version."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "mquery-0.3.2";
     src = [
       (fetchurl {
@@ -9090,17 +7910,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mquery"."0.3.2" or []);
+      (self.nativeDeps."mquery" or []);
     deps = [
-      self.full."sliced"."0.0.5"
-      self.full."debug"."0.7.0"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."debug"."0.7.0"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
   };
-  full."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ms"."0.1.0" =
+    self.by-version."ms"."0.1.0";
+  by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ms-0.1.0";
     src = [
       (fetchurl {
@@ -9109,14 +7931,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ms"."0.1.0" or []);
+      (self.nativeDeps."ms" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
   };
-  full."msgpack".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."msgpack".">= 0.0.1" =
+    self.by-version."msgpack"."0.2.1";
+  by-version."msgpack"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "msgpack-0.2.1";
     src = [
       (fetchurl {
@@ -9125,14 +7949,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."msgpack".">= 0.0.1" or []);
+      (self.nativeDeps."msgpack" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
   };
-  full."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."multiparty"."2.2.0" =
+    self.by-version."multiparty"."2.2.0";
+  by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "multiparty-2.2.0";
     src = [
       (fetchurl {
@@ -9141,16 +7967,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."multiparty"."2.2.0" or []);
+      (self.nativeDeps."multiparty" or []);
     deps = [
-      self.full."readable-stream"."~1.1.9"
-      self.full."stream-counter"."~0.2.0"
+      self.by-version."readable-stream"."1.1.9"
+      self.by-version."stream-counter"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
-  full."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."muri"."0.3.1" =
+    self.by-version."muri"."0.3.1";
+  by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "muri-0.3.1";
     src = [
       (fetchurl {
@@ -9159,14 +7987,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."muri"."0.3.1" or []);
+      (self.nativeDeps."muri" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
   };
-  full."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mute-stream"."0.0.3" =
+    self.by-version."mute-stream"."0.0.3";
+  by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "mute-stream-0.0.3";
     src = [
       (fetchurl {
@@ -9175,14 +8005,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."0.0.3" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mute-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "mute-stream-0.0.4";
     src = [
       (fetchurl {
@@ -9191,14 +8023,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."~0.0.4" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mv"."0.0.5" =
+    self.by-version."mv"."0.0.5";
+  by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "mv-0.0.5";
     src = [
       (fetchurl {
@@ -9207,14 +8041,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mv"."0.0.5" or []);
+      (self.nativeDeps."mv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
   };
-  full."nan"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "nan-0.3.2";
     src = [
       (fetchurl {
@@ -9223,14 +8059,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nan"."~0.3.0" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  full."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nan"."~0.4.1" =
+    self.by-version."nan"."0.4.4";
+  by-version."nan"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "nan-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nan/-/nan-0.4.4.tgz";
+        sha1 = "9db58eae63cee119807a0d01afd0655d956bea75";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nan" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "nan" ];
+  };
+  by-spec."natural"."0.0.69" =
+    self.by-version."natural"."0.0.69";
+  by-version."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
     name = "natural-0.0.69";
     src = [
       (fetchurl {
@@ -9239,38 +8095,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."natural"."0.0.69" or []);
+      (self.nativeDeps."natural" or []);
     deps = [
-      self.full."sylvester".">= 0.0.12"
-      self.full."apparatus".">= 0.0.4"
-      self.full."underscore"."*"
+      self.by-version."sylvester"."0.0.21"
+      self.by-version."apparatus"."0.0.8"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "natural" ];
   };
-  full."nconf"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nconf-0.6.7";
+  by-spec."nconf"."*" =
+    self.by-version."nconf"."0.6.9";
+  by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage {
+    name = "nconf-0.6.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
-        sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
+        sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."*" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  "nconf" = self.full."nconf"."*";
-  full."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
+  "nconf" = self.by-version."nconf"."0.6.9";
+  by-spec."nconf"."0.6.7" =
+    self.by-version."nconf"."0.6.7";
+  by-version."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "nconf-0.6.7";
     src = [
       (fetchurl {
@@ -9279,18 +8138,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."0.6.7" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  full."ncp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nconf"."0.6.9" =
+    self.by-version."nconf"."0.6.9";
+  by-spec."ncp"."0.2.x" =
+    self.by-version."ncp"."0.2.7";
+  by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
     src = [
       (fetchurl {
@@ -9299,14 +8162,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.2.x" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
     src = [
       (fetchurl {
@@ -9315,14 +8180,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.4.2" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.4.x" =
+    self.by-version."ncp"."0.4.2";
+  by-spec."ncp"."~0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-spec."negotiator"."0.2.5" =
+    self.by-version."negotiator"."0.2.5";
+  by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "negotiator-0.2.5";
     src = [
       (fetchurl {
@@ -9331,14 +8202,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."negotiator"."0.2.5" or []);
+      (self.nativeDeps."negotiator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
   };
-  full."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."negotiator"."0.3.0" =
+    self.by-version."negotiator"."0.3.0";
+  by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "negotiator-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
+  by-spec."net-ping"."1.1.7" =
+    self.by-version."net-ping"."1.1.7";
+  by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "net-ping-1.1.7";
     src = [
       (fetchurl {
@@ -9347,15 +8238,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."net-ping"."1.1.7" or []);
+      (self.nativeDeps."net-ping" or []);
     deps = [
-      self.full."raw-socket"."*"
+      self.by-version."raw-socket"."1.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
   };
-  full."next-tick"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."next-tick"."0.1.x" =
+    self.by-version."next-tick"."0.1.0";
+  by-version."next-tick"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "next-tick-0.1.0";
     src = [
       (fetchurl {
@@ -9364,14 +8257,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."next-tick"."0.1.x" or []);
+      (self.nativeDeps."next-tick" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "next-tick" ];
   };
-  full."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nib"."0.5.0" =
+    self.by-version."nib"."0.5.0";
+  by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "nib-0.5.0";
     src = [
       (fetchurl {
@@ -9380,14 +8275,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nib"."0.5.0" or []);
+      (self.nativeDeps."nib" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
-  full."nijs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nijs"."*" =
+    self.by-version."nijs"."0.0.12";
+  by-version."nijs"."0.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "nijs-0.0.12";
     src = [
       (fetchurl {
@@ -9396,16 +8293,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nijs"."*" or []);
+      (self.nativeDeps."nijs" or []);
     deps = [
-      self.full."optparse".">= 1.0.3"
+      self.by-version."optparse"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.full."nijs"."*";
-  full."node-expat"."*" = lib.makeOverridable self.buildNodePackage {
+  "nijs" = self.by-version."nijs"."0.0.12";
+  by-spec."node-expat"."*" =
+    self.by-version."node-expat"."2.0.0";
+  by-version."node-expat"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-expat-2.0.0";
     src = [
       (fetchurl {
@@ -9414,126 +8313,95 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-expat"."*" or []);
+      (self.nativeDeps."node-expat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-expat" ];
   };
-  "node-expat" = self.full."node-expat"."*";
-  full."node-gyp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp"."*" or []);
-    deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.full."node-gyp"."*";
-  full."node-gyp"."~0.10.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-expat" = self.by-version."node-expat"."2.0.0";
+  by-spec."node-gyp"."*" =
+    self.by-version."node-gyp"."0.12.1";
+  by-version."node-gyp"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-0.12.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.12.1.tgz";
+        sha1 = "6da8a1c248b9dc73d2e14e1cd216efef3bdd7911";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.10" or []);
+      (self.nativeDeps."node-gyp" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."glob"."3.2.7"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."request"."2.27.0"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."semver"."2.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
-  full."node-gyp"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-gyp" = self.by-version."node-gyp"."0.12.1";
+  by-spec."node-gyp"."~0.12.0" =
+    self.by-version."node-gyp"."0.12.1";
+  by-spec."node-inspector"."*" =
+    self.by-version."node-inspector"."0.6.1";
+  by-version."node-inspector"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inspector-0.6.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.6.1.tgz";
+        sha1 = "9ed1b1dd4410fe4f2929b93c98c55378a3edd6f0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.2" or []);
+      (self.nativeDeps."node-inspector" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."express"."3.4.6"
+      self.by-version."async"."0.2.9"
+      self.by-version."glob"."3.2.7"
+      self.by-version."rc"."0.3.2"
+      self.by-version."strong-data-uri"."0.1.0"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-gyp" ];
+    passthru.names = [ "node-inspector" ];
   };
-  full."node-inspector"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inspector-0.5.0";
+  "node-inspector" = self.by-version."node-inspector"."0.6.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-swt-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.5.0.tgz";
-        sha1 = "3104821cb4d6436212331ef3f3539943fd370603";
+        url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
+        sha1 = "af0903825784be553b93dbae57d99d59060585dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-inspector"."*" or []);
+      (self.nativeDeps."node-swt" or []);
     deps = [
-      self.full."socket.io"."~0.9.14"
-      self.full."express"."~3.4"
-      self.full."async"."~0.2.8"
-      self.full."glob"."~3.2.1"
-      self.full."rc"."~0.3.0"
-      self.full."strong-data-uri"."~0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-inspector" ];
+    passthru.names = [ "node-swt" ];
   };
-  "node-inspector" = self.full."node-inspector"."*";
-  full."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-syslog"."1.1.3" =
+    self.by-version."node-syslog"."1.1.3";
+  by-version."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-syslog-1.1.3";
     src = [
       (fetchurl {
@@ -9542,14 +8410,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-syslog"."1.1.3" or []);
+      (self.nativeDeps."node-syslog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-syslog" ];
   };
-  full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
+    self.by-version."node-uptime"."3.2.0";
+  by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uptime-3.2.0";
     src = [
       (fetchurl {
@@ -9558,29 +8428,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" or []);
+      (self.nativeDeps."node-uptime" or []);
     deps = [
-      self.full."mongoose"."3.6.7"
-      self.full."mongoose-lifecycle"."1.0.0"
-      self.full."express"."3.2.0"
-      self.full."express-partials"."0.0.6"
-      self.full."connect-flash"."0.1.0"
-      self.full."ejs"."0.8.3"
-      self.full."config"."0.4.15"
-      self.full."async"."0.1.22"
-      self.full."socket.io"."0.9.14"
-      self.full."semver"."1.1.0"
-      self.full."moment"."2.1.0"
-      self.full."nodemailer"."0.3.35"
-      self.full."net-ping"."1.1.7"
-      self.full."js-yaml"."2.1.0"
+      self.by-version."mongoose"."3.6.7"
+      self.by-version."mongoose-lifecycle"."1.0.0"
+      self.by-version."express"."3.2.0"
+      self.by-version."express-partials"."0.0.6"
+      self.by-version."connect-flash"."0.1.0"
+      self.by-version."ejs"."0.8.3"
+      self.by-version."config"."0.4.15"
+      self.by-version."async"."0.1.22"
+      self.by-version."socket.io"."0.9.14"
+      self.by-version."semver"."1.1.0"
+      self.by-version."moment"."2.1.0"
+      self.by-version."nodemailer"."0.3.35"
+      self.by-version."net-ping"."1.1.7"
+      self.by-version."js-yaml"."2.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uptime" ];
   };
-  "node-uptime" = self.full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-  full."node-uuid"."*" = lib.makeOverridable self.buildNodePackage {
+  "node-uptime" = self.by-version."node-uptime"."3.2.0";
+  by-spec."node-uuid"."*" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.1";
     src = [
       (fetchurl {
@@ -9589,31 +8461,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."*" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  "node-uuid" = self.full."node-uuid"."*";
-  full."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.2.0.tgz";
-        sha1 = "81a9fe32934719852499b58b2523d2cd5fdfd65b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid"."1.2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  full."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  "node-uuid" = self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."1.3.3" =
+    self.by-version."node-uuid"."1.3.3";
+  by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.3.3";
     src = [
       (fetchurl {
@@ -9622,14 +8480,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.3.3" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."1.4.0" =
+    self.by-version."node-uuid"."1.4.0";
+  by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.0";
     src = [
       (fetchurl {
@@ -9638,30 +8498,39 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.4.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
+  by-spec."node-uuid"."1.4.1" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  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-wsfederation-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+        url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
+        sha1 = "9abf1dd3b20a3ab0a38f899c882c218d734e8a7b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."~1.4.0" or []);
+      (self.nativeDeps."node-wsfederation" or []);
     deps = [
+      self.by-version."xml2js"."0.4.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "node-uuid" ];
+    passthru.names = [ "node-wsfederation" ];
   };
-  full."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node.extend"."1.0.0" =
+    self.by-version."node.extend"."1.0.0";
+  by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node.extend-1.0.0";
     src = [
       (fetchurl {
@@ -9670,14 +8539,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node.extend"."1.0.0" or []);
+      (self.nativeDeps."node.extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
   };
-  full."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nodemailer"."0.3.35" =
+    self.by-version."nodemailer"."0.3.35";
+  by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
     src = [
       (fetchurl {
@@ -9686,52 +8557,59 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemailer"."0.3.35" or []);
+      (self.nativeDeps."nodemailer" or []);
     deps = [
-      self.full."mailcomposer".">= 0.1.27"
-      self.full."simplesmtp".">= 0.1.22"
-      self.full."optimist"."*"
+      self.by-version."mailcomposer"."0.2.6"
+      self.by-version."simplesmtp"."0.3.16"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
   };
-  full."nodemon"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-0.7.10";
+  by-spec."nodemon"."*" =
+    self.by-version."nodemon"."0.9.10";
+  by-version."nodemon"."0.9.10" = lib.makeOverridable self.buildNodePackage {
+    name = "nodemon-0.9.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.10.tgz";
-        sha1 = "695a01b9458b115b03bbe01696d361bd50b4fb9b";
+        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.9.10.tgz";
+        sha1 = "4faca02a4df262cda9334ef24bfadca14c5c3112";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemon"."*" or []);
+      (self.nativeDeps."nodemon" or []);
     deps = [
+      self.by-version."update-notifier"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
   };
-  "nodemon" = self.full."nodemon"."*";
-  full."nomnom"."1.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nomnom-1.6.1";
+  "nodemon" = self.by-version."nodemon"."0.9.10";
+  by-spec."nomnom"."1.6.x" =
+    self.by-version."nomnom"."1.6.2";
+  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "nomnom-1.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.1.tgz";
-        sha1 = "bfed4506642d81278738e891c557e80694c1e0c9";
+        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nomnom"."1.6.x" or []);
+      (self.nativeDeps."nomnom" or []);
     deps = [
-      self.full."colors"."0.5.x"
-      self.full."underscore"."~1.4.4"
+      self.by-version."colors"."0.5.1"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
   };
-  full."nopt"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2" =
+    self.by-version."nopt"."2.1.2";
+  by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
     src = [
       (fetchurl {
@@ -9740,15 +8618,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.0.0" =
+    self.by-version."nopt"."2.0.0";
+  by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
     src = [
       (fetchurl {
@@ -9757,32 +8637,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2.0.0" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."2.1.x" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.1.x" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~1.0.10" =
+    self.by-version."nopt"."1.0.10";
+  by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
     src = [
       (fetchurl {
@@ -9791,182 +8658,105 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~1.0.10" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.1" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."normalize-package-data"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "normalize-package-data-0.2.6";
+  by-spec."nopt"."~2.1.1" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~2.1.2" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."normalize-package-data"."~0.2.7" =
+    self.by-version."normalize-package-data"."0.2.7";
+  by-version."normalize-package-data"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.6.tgz";
-        sha1 = "830bda1412f7ccae09b903fc080edbcdbb0947c0";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.7.tgz";
+        sha1 = "0f075fa2d1f9ba23a854c4c56818c4077638f72a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."normalize-package-data"."~0.2" or []);
+      (self.nativeDeps."normalize-package-data" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."github-url-from-git"."~1.1.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
-  full."npm"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.11.tgz";
-        sha1 = "4bf7f005fe1038c4fe9207603b961c97bd0ba5a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."*" or []);
-    deps = [
-      self.full."semver"."~2.1.0"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.5"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.2"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.27.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.18"
-      self.full."fstream"."~0.1.23"
-      self.full."block-stream"."0.0.7"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.1"
-      self.full."node-gyp"."~0.10.10"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.4"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.28"
-      self.full."read-package-json"."~1.1.3"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.6"
-      self.full."init-package-json"."0.0.11"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.4.0"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.2"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.0.1"
-      self.full."sha"."~1.2.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-      self.full."github-url-from-git"."1.1.1"
+  by-spec."npm"."*" =
+    self.by-version."npm"."1.3.15";
+  by-version."npm"."1.3.15" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-1.3.15";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/npm/-/npm-1.3.15.tgz";
+        sha1 = "25987c35a87d01379ddacb9d5db58e3697369dc6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."npm" or []);
+    deps = [
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
+      self.by-version."slide"."1.1.5"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."request"."2.27.0"
+      self.by-version."which"."1.0.5"
+      self.by-version."tar"."0.1.18"
+      self.by-version."fstream"."0.1.25"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."node-gyp"."0.12.1"
+      self.by-version."fstream-npm"."0.1.6"
+      self.by-version."uid-number"."0.0.3"
+      self.by-version."archy"."0.0.2"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."ansi"."0.2.1"
+      self.by-version."npm-registry-client"."0.2.30"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."read-installed"."0.2.5"
+      self.by-version."glob"."3.2.7"
+      self.by-version."init-package-json"."0.0.13"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."lockfile"."0.4.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."once"."1.3.0"
+      self.by-version."npmconf"."0.1.6"
+      self.by-version."opener"."1.3.0"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."cmd-shim"."1.1.1"
+      self.by-version."sha"."1.2.3"
+      self.by-version."editor"."0.0.5"
+      self.by-version."child-process-close"."0.1.1"
+      self.by-version."npm-user-validate"."0.0.3"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.full."npm"."*";
-  full."npm"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.1.tgz";
-        sha1 = "c64f1c82362254cd4804a3dea5efbe6ec396460c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."1.3.1" or []);
-    deps = [
-      self.full."semver"."~2.0.8"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.4"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~1.2.2"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.1"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.21.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.17"
-      self.full."fstream"."~0.1.22"
-      self.full."block-stream"."*"
-      self.full."inherits"."1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.0"
-      self.full."node-gyp"."~0.10.2"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.3"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.25"
-      self.full."read-package-json"."~1.1.0"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.1"
-      self.full."init-package-json"."0.0.10"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.3.2"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.1"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.1.0"
-      self.full."sha"."~1.0.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm" ];
-  };
-  full."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
+  "npm" = self.by-version."npm"."1.3.15";
+  by-spec."npm"."~1.3.14" =
+    self.by-version."npm"."1.3.15";
+  by-spec."npm-registry-client"."0.2.27" =
+    self.by-version."npm-registry-client"."0.2.27";
+  by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
     name = "npm-registry-client-0.2.27";
     src = [
       (fetchurl {
@@ -9975,76 +8765,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."0.2.27" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.20.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.0.5"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.15"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.0.11"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.19"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.25" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
+  by-spec."npm-registry-client"."~0.2.29" =
+    self.by-version."npm-registry-client"."0.2.30";
+  by-version."npm-registry-client"."0.2.30" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-0.2.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.30.tgz";
+        sha1 = "f01cae5c51aa0a1c5dc2516cbad3ebde068d3eaa";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.25" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.19"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.28" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.28" or []);
-    deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-registry-client" ];
-  };
-  full."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npm-user-validate"."0.0.3" =
+    self.by-version."npm-user-validate"."0.0.3";
+  by-version."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "npm-user-validate-0.0.3";
     src = [
       (fetchurl {
@@ -10053,36 +8821,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-user-validate"."0.0.3" or []);
+      (self.nativeDeps."npm-user-validate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
-  full."npm2nix"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.1.0";
+  by-spec."npm2nix"."*" =
+    self.by-version."npm2nix"."5.4.0";
+  by-version."npm2nix"."5.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.1.0.tgz";
-        sha1 = "a6b21174d57fdc31cf67849ffc72083bcae0e2ed";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.4.0.tgz";
+        sha1 = "6185ed1261856a09f2a935eec733ccf1c1843726";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm2nix"."*" or []);
+      (self.nativeDeps."npm2nix" or []);
     deps = [
-      self.full."semver".">=2.0.10 <3.0.0"
-      self.full."argparse"."0.1.15"
-      self.full."npm-registry-client"."0.2.27"
-      self.full."npmconf"."0.1.1"
-      self.full."tar"."0.1.17"
+      self.by-version."semver"."2.2.1"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."npm-registry-client"."0.2.27"
+      self.by-version."npmconf"."0.1.1"
+      self.by-version."tar"."0.1.17"
+      self.by-version."temp"."0.6.0"
+      self.by-version."fs.extra"."1.2.1"
+      self.by-version."findit"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.full."npm2nix"."*";
-  full."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
+  "npm2nix" = self.by-version."npm2nix"."5.4.0";
+  by-spec."npmconf"."0.0.24" =
+    self.by-version."npmconf"."0.0.24";
+  by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.0.24";
     src = [
       (fetchurl {
@@ -10091,22 +8866,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.0.24" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."~1.1.0"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."1.1.4"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npmconf"."0.1.1" =
+    self.by-version."npmconf"."0.1.1";
+  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.1.1";
     src = [
       (fetchurl {
@@ -10115,156 +8892,113 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
+  by-spec."npmconf"."~0.1.2" =
+    self.by-version."npmconf"."0.1.6";
+  by-version."npmconf"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-0.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.6.tgz";
+        sha1 = "e23b5c028758877d31ef6daf8a566059442459b6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."once"."1.3.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.2" or []);
-    deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
-  full."npmlog"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."*" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."0" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.3";
+  by-spec."npmconf"."~0.1.6" =
+    self.by-version."npmconf"."0.1.6";
+  by-spec."npmlog"."*" =
+    self.by-version."npmlog"."0.0.6";
+  by-version."npmlog"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "npmlog-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.3.tgz";
-        sha1 = "c424ad1531af402eef8da201fc3d63bdbd37dacb";
+        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.6.tgz";
+        sha1 = "685043fe71aa1665d6e3b2acef180640caf40873";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.3" or []);
+      (self.nativeDeps."npmlog" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."ansi"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmlog" ];
   };
-  full."npmlog"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
+  by-spec."npmlog"."0" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."npmlog"."0.0.6" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."nssocket"."~0.5.1" =
+    self.by-version."nssocket"."0.5.1";
+  by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "nssocket-0.5.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+        url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
+        sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.4" or []);
+      (self.nativeDeps."nssocket" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."lazy"."1.0.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "npmlog" ];
+    passthru.names = [ "nssocket" ];
   };
-  full."nssocket"."~0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nssocket-0.5.1";
+  by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
+    self.by-version."oauth"."0.9.10";
+  by-version."oauth"."0.9.10" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-0.9.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
-        sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
+        url = "https://github.com/ciaranj/node-oauth/tarball/master";
+        sha256 = "c0c59efccbd34819ed51e912bc74b872e812a0157784dc8604434378a14cf64a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nssocket"."~0.5.1" or []);
+      (self.nativeDeps."oauth" or []);
     deps = [
-      self.full."eventemitter2"."~0.4.11"
-      self.full."lazy"."~1.0.11"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "nssocket" ];
+    passthru.names = [ "oauth" ];
   };
-  full."oauth-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.2.0" =
+    self.by-version."oauth-sign"."0.2.0";
+  by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.2.0";
     src = [
       (fetchurl {
@@ -10273,14 +9007,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.2.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."oauth-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.3.0";
     src = [
       (fetchurl {
@@ -10289,14 +9025,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.3.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."object-additions".">= 0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."object-additions".">= 0.5.0" =
+    self.by-version."object-additions"."0.5.1";
+  by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "object-additions-0.5.1";
     src = [
       (fetchurl {
@@ -10305,14 +9043,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."object-additions".">= 0.5.0" or []);
+      (self.nativeDeps."object-additions" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "object-additions" ];
   };
-  full."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."once"."1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "once-1.1.1";
     src = [
       (fetchurl {
@@ -10321,30 +9061,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."once"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.1.1";
+  by-spec."once"."~1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-spec."once"."~1.3.0" =
+    self.by-version."once"."1.3.0";
+  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "once-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
+        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."~1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.2" =
+    self.by-version."open"."0.0.2";
+  by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.2";
     src = [
       (fetchurl {
@@ -10353,14 +9099,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.2" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.4" =
+    self.by-version."open"."0.0.4";
+  by-version."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.4";
     src = [
       (fetchurl {
@@ -10369,46 +9117,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.4" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.4";
+  by-spec."open"."~0.0.3" =
+    self.by-version."open"."0.0.4";
+  by-spec."opener"."~1.3.0" =
+    self.by-version."opener"."1.3.0";
+  by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "opener-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz";
-        sha1 = "5de46a0858b9f49f9f211aa8f26628550657f262";
+        url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
+        sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."~0.0.3" or []);
+      (self.nativeDeps."opener" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "open" ];
+    passthru.names = [ "opener" ];
   };
-  full."opener"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "opener-1.3.0";
+  by-spec."openid".">=0.2.0" =
+    self.by-version."openid"."0.5.5";
+  by-version."openid"."0.5.5" = lib.makeOverridable self.buildNodePackage {
+    name = "openid-0.5.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
-        sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
+        url = "http://registry.npmjs.org/openid/-/openid-0.5.5.tgz";
+        sha1 = "a4ce534ca82d68f81ccf45109fc92b4547b2cdd1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."opener"."~1.3.0" or []);
+      (self.nativeDeps."openid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "opener" ];
+    passthru.names = [ "openid" ];
   };
-  full."optimist"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."*" =
+    self.by-version."optimist"."0.6.0";
+  by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.6.0";
     src = [
       (fetchurl {
@@ -10417,17 +9173,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."*" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."minimist"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  "optimist" = self.full."optimist"."*";
-  full."optimist"."0.2" = lib.makeOverridable self.buildNodePackage {
+  "optimist" = self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."0.2" =
+    self.by-version."optimist"."0.2.8";
+  by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.2.8";
     src = [
       (fetchurl {
@@ -10436,15 +9194,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.2" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap".">=0.0.1 <0.1.0"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.5" =
+    self.by-version."optimist"."0.3.5";
+  by-version."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.5";
     src = [
       (fetchurl {
@@ -10453,15 +9213,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.5" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.x" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.7";
     src = [
       (fetchurl {
@@ -10470,15 +9232,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.x" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.4.0" =
+    self.by-version."optimist"."0.4.0";
+  by-version."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.4.0";
     src = [
       (fetchurl {
@@ -10487,102 +9251,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.4.0" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."0.6.0" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.4" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.5" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.6.0" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."options".">=0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.4" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.5";
+  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "options-0.0.5";
     src = [
       (fetchurl {
@@ -10591,31 +9280,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."options".">=0.0.5" or []);
+      (self.nativeDeps."options" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "options" ];
   };
-  full."optparse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "optparse-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
-        sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optparse"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optparse" ];
-  };
-  "optparse" = self.full."optparse"."*";
-  full."optparse".">= 1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optparse"."*" =
+    self.by-version."optparse"."1.0.4";
+  by-version."optparse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "optparse-1.0.4";
     src = [
       (fetchurl {
@@ -10624,14 +9298,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optparse".">= 1.0.3" or []);
+      (self.nativeDeps."optparse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optparse" ];
   };
-  full."osenv"."0" = lib.makeOverridable self.buildNodePackage {
+  "optparse" = self.by-version."optparse"."1.0.4";
+  by-spec."optparse".">= 1.0.3" =
+    self.by-version."optparse"."1.0.4";
+  by-spec."osenv"."0" =
+    self.by-version."osenv"."0.0.3";
+  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "osenv-0.0.3";
     src = [
       (fetchurl {
@@ -10640,63 +9319,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."osenv"."0" or []);
+      (self.nativeDeps."osenv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
   };
-  full."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "osenv-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."osenv"."0.0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "osenv" ];
-  };
-  full."over"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "over-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/over/-/over-0.0.5.tgz";
-        sha1 = "f29852e70fd7e25f360e013a8ec44c82aedb5708";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."over"."~0.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "over" ];
-  };
-  full."owl-deepcopy"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "owl-deepcopy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
-        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."owl-deepcopy"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "owl-deepcopy" ];
-  };
-  "owl-deepcopy" = self.full."owl-deepcopy"."*";
-  full."owl-deepcopy"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."osenv"."0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-spec."owl-deepcopy"."*" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-version."owl-deepcopy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "owl-deepcopy-0.0.2";
     src = [
       (fetchurl {
@@ -10705,33 +9339,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."owl-deepcopy"."~0.0.1" or []);
+      (self.nativeDeps."owl-deepcopy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "owl-deepcopy" ];
   };
-  full."passport"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
+  "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."owl-deepcopy"."~0.0.1" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."p-throttler"."~0.0.1" =
+    self.by-version."p-throttler"."0.0.1";
+  by-version."p-throttler"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "p-throttler-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+        url = "http://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz";
+        sha1 = "c341e3589ec843852a035e6f88e6c1e96150029b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."*" or []);
+      (self.nativeDeps."p-throttler" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."q"."0.9.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "passport" ];
+    passthru.names = [ "p-throttler" ];
   };
-  "passport" = self.full."passport"."*";
-  full."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+  by-spec."passport"."*" =
+    self.by-version."passport"."0.1.17";
+  by-version."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "passport-0.1.17";
     src = [
       (fetchurl {
@@ -10740,52 +9379,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."0.1.17" or []);
+      (self.nativeDeps."passport" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
-  full."passport"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."~0.1.1" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."~0.1.3" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport-http"."*" = lib.makeOverridable self.buildNodePackage {
+  "passport" = self.by-version."passport"."0.1.17";
+  by-spec."passport"."0.1.17" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.1" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.3" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport-http"."*" =
+    self.by-version."passport-http"."0.2.2";
+  by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "passport-http-0.2.2";
     src = [
       (fetchurl {
@@ -10794,36 +9406,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-http"."*" or []);
+      (self.nativeDeps."passport-http" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.3"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-http" ];
   };
-  "passport-http" = self.full."passport-http"."*";
-  full."passport-local"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-local-0.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
-        sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-local"."*" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-local" ];
-  };
-  "passport-local" = self.full."passport-local"."*";
-  full."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  "passport-http" = self.by-version."passport-http"."0.2.2";
+  by-spec."passport-local"."*" =
+    self.by-version."passport-local"."0.1.6";
+  by-version."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "passport-local-0.1.6";
     src = [
       (fetchurl {
@@ -10832,16 +9427,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-local"."0.1.6" or []);
+      (self.nativeDeps."passport-local" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-local" ];
   };
-  full."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  "passport-local" = self.by-version."passport-local"."0.1.6";
+  by-spec."passport-local"."0.1.6" =
+    self.by-version."passport-local"."0.1.6";
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "pause-0.0.1";
     src = [
       (fetchurl {
@@ -10850,60 +9450,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pause"."0.0.1" or []);
+      (self.nativeDeps."pause" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pause" ];
   };
-  full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9" or []);
-    deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "phantomjs" ];
-  };
-  full."phantomjs"."~1.9.1-2" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
+  by-spec."phantomjs"."~1.9" =
+    self.by-version."phantomjs"."1.9.2-4";
+  by-version."phantomjs"."1.9.2-4" = lib.makeOverridable self.buildNodePackage {
+    name = "phantomjs-1.9.2-4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-4.tgz";
+        sha1 = "fbf6c8df9dc963f9a4020764495152e0099d6d42";
       })
     ];
     buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9.1-2" or []);
+      (self.nativeDeps."phantomjs" or []);
     deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
+      self.by-version."adm-zip"."0.2.1"
+      self.by-version."kew"."0.1.7"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."npmconf"."0.0.24"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "phantomjs" ];
   };
-  full."pkginfo"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."phantomjs"."~1.9.1-2" =
+    self.by-version."phantomjs"."1.9.2-4";
+  by-spec."pkginfo"."0.2.x" =
+    self.by-version."pkginfo"."0.2.3";
+  by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.2.3";
     src = [
       (fetchurl {
@@ -10912,14 +9495,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.2.x" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pkginfo"."0.3.0" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.3.0";
     src = [
       (fetchurl {
@@ -10928,80 +9513,77 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.0" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  full."pkginfo"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."pkginfo"."0.x.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."plist-native"."*" =
+    self.by-version."plist-native"."0.2.2";
+  by-version."plist-native"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "plist-native-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.2.tgz";
+        sha1 = "6abde856b07a52f0d6bc027f7750f4d97ff93858";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.x.x" or []);
+      (self.nativeDeps."plist-native" or []);
     deps = [
+      self.by-version."libxmljs"."0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pkginfo" ];
+    passthru.names = [ "plist-native" ];
   };
-  full."plist-native"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "plist-native-0.2.2";
+  "plist-native" = self.by-version."plist-native"."0.2.2";
+  by-spec."policyfile"."0.0.4" =
+    self.by-version."policyfile"."0.0.4";
+  by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "policyfile-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.2.tgz";
-        sha1 = "6abde856b07a52f0d6bc027f7750f4d97ff93858";
+        url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
+        sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."plist-native"."*" or []);
+      (self.nativeDeps."policyfile" or []);
     deps = [
-      self.full."libxmljs"."~0.8.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "plist-native" ];
+    passthru.names = [ "policyfile" ];
   };
-  "plist-native" = self.full."plist-native"."*";
-  full."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "policyfile-0.0.4";
+  by-spec."posix"."*" =
+    self.by-version."posix"."1.0.3";
+  by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "posix-1.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
-        sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
+        url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz";
+        sha1 = "f0efae90d59c56c4509c8f0ed222b421caa8188a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."policyfile"."0.0.4" or []);
+      (self.nativeDeps."posix" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "policyfile" ];
+    passthru.names = [ "posix" ];
   };
-  full."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "posix" = self.by-version."posix"."1.0.3";
+  by-spec."posix-getopt"."1.0.0" =
+    self.by-version."posix-getopt"."1.0.0";
+  by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "posix-getopt-1.0.0";
     src = [
       (fetchurl {
@@ -11010,14 +9592,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."posix-getopt"."1.0.0" or []);
+      (self.nativeDeps."posix-getopt" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "posix-getopt" ];
   };
-  full."promise"."~2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promise"."~2.0" =
+    self.by-version."promise"."2.0.0";
+  by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "promise-2.0.0";
     src = [
       (fetchurl {
@@ -11026,15 +9610,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promise"."~2.0" or []);
+      (self.nativeDeps."promise" or []);
     deps = [
-      self.full."is-promise"."~1"
+      self.by-version."is-promise"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
   };
-  full."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.11" =
+    self.by-version."prompt"."0.2.11";
+  by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.11";
     src = [
       (fetchurl {
@@ -11043,19 +9629,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.11" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.2.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.2.1"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.9" =
+    self.by-version."prompt"."0.2.9";
+  by-version."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.9";
     src = [
       (fetchurl {
@@ -11064,19 +9652,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.9" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."promptly"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promptly"."~0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promptly-0.2.0";
     src = [
       (fetchurl {
@@ -11085,15 +9675,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promptly"."~0.2.0" or []);
+      (self.nativeDeps."promptly" or []);
     deps = [
-      self.full."read"."~1.0.4"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promptly" ];
   };
-  full."promzard"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promzard"."~0.2.0" =
+    self.by-version."promzard"."0.2.0";
+  by-version."promzard"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promzard-0.2.0";
     src = [
       (fetchurl {
@@ -11102,15 +9694,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promzard"."~0.2.0" or []);
+      (self.nativeDeps."promzard" or []);
     deps = [
-      self.full."read"."1"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promzard" ];
   };
-  full."proto-list"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."proto-list"."~1.2.1" =
+    self.by-version."proto-list"."1.2.2";
+  by-version."proto-list"."1.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "proto-list-1.2.2";
     src = [
       (fetchurl {
@@ -11119,14 +9713,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."proto-list"."~1.2.1" or []);
+      (self.nativeDeps."proto-list" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "proto-list" ];
   };
-  full."ps-tree"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ps-tree"."0.0.x" =
+    self.by-version."ps-tree"."0.0.3";
+  by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "ps-tree-0.0.3";
     src = [
       (fetchurl {
@@ -11135,35 +9731,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ps-tree"."0.0.x" or []);
+      (self.nativeDeps."ps-tree" or []);
     deps = [
-      self.full."event-stream"."~0.5"
+      self.by-version."event-stream"."0.5.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
   };
-  full."pullstream"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "pullstream-0.4.0";
+  by-spec."punycode"."~1.2.3" =
+    self.by-version."punycode"."1.2.3";
+  by-version."punycode"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "punycode-1.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/pullstream/-/pullstream-0.4.0.tgz";
-        sha1 = "919f15ef376433b331351f116565dc17c6fcda77";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.2.3.tgz";
+        sha1 = "b4e304471082d783c73b3bafabf2fd9b6a486266";
       })
     ];
     buildInputs =
-      (self.nativeDeps."pullstream"."~0.4.0" or []);
+      (self.nativeDeps."punycode" or []);
     deps = [
-      self.full."over"."~0.0.5"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."slice-stream"."0.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "pullstream" ];
+    passthru.names = [ "punycode" ];
   };
-  full."q"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q"."0.9.x" =
+    self.by-version."q"."0.9.7";
+  by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.7";
     src = [
       (fetchurl {
@@ -11172,78 +9768,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."0.9.x" or []);
+      (self.nativeDeps."q" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."q".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.6" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."qs"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q".">= 0.0.1" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.2" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.6" =
+    self.by-version."q"."0.9.7";
+  by-spec."qs"."0.4.2" =
+    self.by-version."qs"."0.4.2";
+  by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.4.2";
     src = [
       (fetchurl {
@@ -11252,14 +9794,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.4.x" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.4.x" =
+    self.by-version."qs"."0.4.2";
+  by-spec."qs"."0.5.1" =
+    self.by-version."qs"."0.5.1";
+  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.1";
     src = [
       (fetchurl {
@@ -11268,14 +9814,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.1" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.2" =
+    self.by-version."qs"."0.5.2";
+  by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.2";
     src = [
       (fetchurl {
@@ -11284,14 +9832,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.2" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.5" =
+    self.by-version."qs"."0.5.5";
+  by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.5";
     src = [
       (fetchurl {
@@ -11300,30 +9850,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs"."0.6.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.6.5" =
+    self.by-version."qs"."0.6.5";
+  by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.6.5";
     src = [
       (fetchurl {
@@ -11332,30 +9868,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs".">= 0.4.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.6";
+  by-spec."qs".">= 0.4.0" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-0.6.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.5.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.5.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."~0.5.0" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.6";
     src = [
       (fetchurl {
@@ -11364,46 +9904,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.5.4" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
+  by-spec."qs"."~0.5.4" =
+    self.by-version."qs"."0.5.6";
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.6";
+  by-spec."rai"."~0.1" =
+    self.by-version."rai"."0.1.8";
+  by-version."rai"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "rai-0.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+        url = "http://registry.npmjs.org/rai/-/rai-0.1.8.tgz";
+        sha1 = "f4ac41063cfe544a1eb3735441f096908219654b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."~0.6.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."rai"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rai-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rai/-/rai-0.1.7.tgz";
-        sha1 = "1b50f1dcb4a493a67ef7a0a8c72167d789df52a0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rai"."~0.1" or []);
+      (self.nativeDeps."rai" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
   };
-  full."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."range-parser"."0.0.4" =
+    self.by-version."range-parser"."0.0.4";
+  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "range-parser-0.0.4";
     src = [
       (fetchurl {
@@ -11412,136 +9944,153 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."range-parser"."0.0.4" or []);
+      (self.nativeDeps."range-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
-  full."raw-socket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-socket-1.2.2";
+  by-spec."raven"."~0.6.0" =
+    self.by-version."raven"."0.6.0";
+  by-version."raven"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
-        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
+        url = "http://registry.npmjs.org/raven/-/raven-0.6.0.tgz";
+        sha1 = "440aa58143e95760cb7b73b7b23b3429ca9b5576";
       })
     ];
     buildInputs =
-      (self.nativeDeps."raw-socket"."*" or []);
+      (self.nativeDeps."raven" or []);
     deps = [
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."raw-stacktrace"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "raw-socket" ];
+    passthru.names = [ "raven" ];
   };
-  full."rbytes"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "rbytes-1.0.0";
+  by-spec."raw-body"."0.0.3" =
+    self.by-version."raw-body"."0.0.3";
+  by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-body-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
-        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
+        sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rbytes"."*" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rbytes" ];
+    passthru.names = [ "raw-body" ];
   };
-  "rbytes" = self.full."rbytes"."*";
-  full."rc"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.0";
+  by-spec."raw-body"."1.1.2" =
+    self.by-version."raw-body"."1.1.2";
+  by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-body-1.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.0.tgz";
-        sha1 = "caffdaafc17e8608e50db0c6ee63f1c344d9ac58";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz";
+        sha1 = "c74b3004dea5defd1696171106ac740ec31d62be";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."0.3.0" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
+      self.by-version."bytes"."0.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-body" ];
   };
-  full."rc"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.1";
+  by-spec."raw-socket"."*" =
+    self.by-version."raw-socket"."1.2.2";
+  by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-socket-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
-        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
+        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
+        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."~0.3.0" or []);
+      (self.nativeDeps."raw-socket" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-socket" ];
   };
-  full."read"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."raw-stacktrace"."1.0.0" =
+    self.by-version."raw-stacktrace"."1.0.0";
+  by-version."raw-stacktrace"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-stacktrace-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/raw-stacktrace/-/raw-stacktrace-1.0.0.tgz";
+        sha1 = "f308881f17667785a9acd7c8fbd442e1b2acf1db";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1" or []);
+      (self.nativeDeps."raw-stacktrace" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."traceback"."0.3.0"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "raw-stacktrace" ];
   };
-  full."read"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."rbytes"."*" =
+    self.by-version."rbytes"."1.0.0";
+  by-version."rbytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "rbytes-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
+        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1.0.x" or []);
+      (self.nativeDeps."rbytes" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rbytes" ];
   };
-  full."read"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  "rbytes" = self.by-version."rbytes"."1.0.0";
+  by-spec."rc"."~0.3.0" =
+    self.by-version."rc"."0.3.2";
+  by-version."rc"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rc/-/rc-0.3.2.tgz";
+        sha1 = "cd8f895690f764621ccec110516b225286e8f69f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.1" or []);
+      (self.nativeDeps."rc" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rc" ];
   };
-  full."read"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rc"."~0.3.1" =
+    self.by-version."rc"."0.3.2";
+  by-spec."read"."1" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "read-1.0.5";
     src = [
       (fetchurl {
@@ -11550,95 +10099,91 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.4" or []);
+      (self.nativeDeps."read" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."mute-stream"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read" ];
   };
-  full."read-installed"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "read-installed-0.2.4";
+  by-spec."read"."1.0.x" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.1" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.4" =
+    self.by-version."read"."1.0.5";
+  by-spec."read-installed"."0.2.2" =
+    self.by-version."read-installed"."0.2.2";
+  by-version."read-installed"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "read-installed-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.4.tgz";
-        sha1 = "9a45ca0a8ae1ecdb05972f362b63bc59450b572d";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.2.tgz";
+        sha1 = "f570ac84fb29c75f16faa3940a8c1e602c8eecab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-installed"."~0.2.2" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."slide"."~1.1.3"
-      self.full."read-package-json"."1"
-      self.full."graceful-fs"."~2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-installed" ];
   };
-  full."read-package-json"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json"."1" or []);
-    deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
-  };
-  full."read-package-json"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."read-installed"."~0.2.2" =
+    self.by-version."read-installed"."0.2.5";
+  by-version."read-installed"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "read-installed-0.2.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.5.tgz";
+        sha1 = "134df8b326d8b54b11e18f7dd8c81bf5e976ef86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.0" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read-package-json" ];
+    passthru.names = [ "read-installed" ];
   };
-  full."read-package-json"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."read-package-json"."1" =
+    self.by-version."read-package-json"."1.1.4";
+  by-version."read-package-json"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "read-package-json-1.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.4.tgz";
+        sha1 = "c4effa9fac527deaee1cd84659c419693aa5294a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.3" or []);
+      (self.nativeDeps."read-package-json" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."glob"."3.2.7"
+      self.by-version."lru-cache"."2.5.0"
+      self.by-version."normalize-package-data"."0.2.7"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-package-json" ];
   };
-  full."readable-stream"."1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."read-package-json"."~1.1.4" =
+    self.by-version."read-package-json"."1.1.4";
+  by-spec."readable-stream"."1.0" =
+    self.by-version."readable-stream"."1.0.17";
+  by-version."readable-stream"."1.0.17" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
@@ -11647,46 +10192,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."1.0" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.0.2" =
+    self.by-version."readable-stream"."1.0.17";
+  by-spec."readable-stream"."~1.1.8" =
+    self.by-version."readable-stream"."1.1.9";
+  by-version."readable-stream"."1.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.1.9";
     src = [
       (fetchurl {
@@ -11695,34 +10212,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.8" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
+      self.by-version."core-util-is"."1.0.0"
+      self.by-version."debuglog"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.1.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz";
-        sha1 = "d87130fbf8f9ee9c3b4058b3c58a3e30db2fcfdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.9" or []);
-    deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readdirp"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.9";
+  by-spec."readdirp"."~0.2.3" =
+    self.by-version."readdirp"."0.2.5";
+  by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "readdirp-0.2.5";
     src = [
       (fetchurl {
@@ -11731,15 +10234,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readdirp"."~0.2.3" or []);
+      (self.nativeDeps."readdirp" or []);
     deps = [
-      self.full."minimatch".">=0.2.4"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readdirp" ];
   };
-  full."redeyed"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.2";
+  by-version."redeyed"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "redeyed-0.4.2";
     src = [
       (fetchurl {
@@ -11748,32 +10253,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redeyed"."~0.4.0" or []);
+      (self.nativeDeps."redeyed" or []);
     deps = [
-      self.full."esprima"."~1.0.0"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redeyed" ];
   };
-  full."redis"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.9.1";
+  by-version."redis"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "redis-0.9.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/redis/-/redis-0.9.1.tgz";
+        sha1 = "eb7ad2355a2ea52c4c0bae043103fee96400439b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."*" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  "redis" = self.full."redis"."*";
-  full."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+  "redis" = self.by-version."redis"."0.9.1";
+  by-spec."redis"."0.7.2" =
+    self.by-version."redis"."0.7.2";
+  by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.2";
     src = [
       (fetchurl {
@@ -11782,15 +10291,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.2" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
-      self.full."hiredis"."*"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis"."0.7.3" =
+    self.by-version."redis"."0.7.3";
+  by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.3";
     src = [
       (fetchurl {
@@ -11799,30 +10310,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.3" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis".">= 0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis"."0.8.x" =
+    self.by-version."redis"."0.8.6";
+  by-version."redis"."0.8.6" = lib.makeOverridable self.buildNodePackage {
+    name = "redis-0.8.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz";
+        sha1 = "a7ae8f0d6fad24bdeaffe28158d6cd1f1c9d30b8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis".">= 0.6.6" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis".">= 0.6.6" =
+    self.by-version."redis"."0.9.1";
+  by-spec."reds"."0.1.4" =
+    self.by-version."reds"."0.1.4";
+  by-version."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "reds-0.1.4";
     src = [
       (fetchurl {
@@ -11831,107 +10348,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."reds"."0.1.4" or []);
+      (self.nativeDeps."reds" or []);
     deps = [
-      self.full."natural"."0.0.69"
-      self.full."redis".">= 0.6.6"
+      self.by-version."natural"."0.0.69"
+      self.by-version."redis"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "reds" ];
   };
-  full."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "regexp-clone-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
-        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."regexp-clone"."0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "regexp-clone" ];
-  };
-  full."replace"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.7";
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "reduce-component-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz";
-        sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda";
+        url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
       })
     ];
     buildInputs =
-      (self.nativeDeps."replace"."~0.2.4" or []);
+      (self.nativeDeps."reduce-component" or []);
     deps = [
-      self.full."nomnom"."1.6.x"
-      self.full."colors"."0.5.x"
-      self.full."minimatch"."~0.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "replace" ];
+    passthru.names = [ "reduce-component" ];
   };
-  full."request"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."regexp-clone"."0.0.1" =
+    self.by-version."regexp-clone"."0.0.1";
+  by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "regexp-clone-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2" or []);
+      (self.nativeDeps."regexp-clone" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "regexp-clone" ];
   };
-  full."request"."2 >=2.20.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."replace"."~0.2.4" =
+    self.by-version."replace"."0.2.7";
+  by-version."replace"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "replace-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz";
+        sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.20.0" or []);
+      (self.nativeDeps."replace" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."nomnom"."1.6.2"
+      self.by-version."colors"."0.5.1"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "replace" ];
   };
-  full."request"."2 >=2.25.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2" =
+    self.by-version."request"."2.27.0";
+  by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.27.0";
     src = [
       (fetchurl {
@@ -11940,26 +10425,32 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.25.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2 >=2.20.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2 >=2.25.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2.16.2" =
+    self.by-version."request"."2.16.2";
+  by-version."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.2";
     src = [
       (fetchurl {
@@ -11968,25 +10459,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.2" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.0"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.16.x" =
+    self.by-version."request"."2.16.6";
+  by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.6";
     src = [
       (fetchurl {
@@ -11995,25 +10488,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.x" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.9.x" =
+    self.by-version."request"."2.9.203";
+  by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.9.203";
     src = [
       (fetchurl {
@@ -12022,97 +10517,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.9.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request".">=2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request".">=2.12.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-        sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.16.6" or []);
-    deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      self.full."node-uuid"."~1.4.0"
-      self.full."cookie-jar"."~0.2.0"
-      self.full."aws-sign"."~0.2.0"
-      self.full."oauth-sign"."~0.2.0"
-      self.full."forever-agent"."~0.2.0"
-      self.full."tunnel-agent"."~0.2.0"
-      self.full."json-stringify-safe"."~3.0.0"
-      self.full."qs"."~0.5.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.21.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request".">=2.12.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2.16.6" =
+    self.by-version."request"."2.16.6";
+  by-spec."request"."~2.21.0" =
+    self.by-version."request"."2.21.0";
+  by-version."request"."2.21.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.21.0";
     src = [
       (fetchurl {
@@ -12121,54 +10541,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.21.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.9.11"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.22.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.22.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.22.0.tgz";
-        sha1 = "b883a769cc4a909571eb5004b344c43cf7e51592";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.22.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~0.13.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."0.0.8"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."4.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."hawk"."0.13.1"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.25.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.25.0" =
+    self.by-version."request"."2.25.0";
+  by-version."request"."2.25.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.25.0";
     src = [
       (fetchurl {
@@ -12177,54 +10571,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.25.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.27.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
+      self.by-version."qs"."0.6.6"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request-progress"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.27.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request-progress"."~0.3.0" =
+    self.by-version."request-progress"."0.3.1";
+  by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "request-progress-0.3.1";
     src = [
       (fetchurl {
@@ -12233,15 +10603,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-progress"."~0.3.0" or []);
+      (self.nativeDeps."request-progress" or []);
     deps = [
-      self.full."throttleit"."~0.0.2"
+      self.by-version."throttleit"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-progress" ];
   };
-  full."request-replay"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-replay-0.2.0";
     src = [
       (fetchurl {
@@ -12250,15 +10622,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-replay"."~0.2.0" or []);
+      (self.nativeDeps."request-replay" or []);
     deps = [
-      self.full."retry"."~0.6.0"
+      self.by-version."retry"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-replay" ];
   };
-  full."requirejs"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."requirejs"."~2.1" =
+    self.by-version."requirejs"."2.1.9";
+  by-version."requirejs"."2.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "requirejs-2.1.9";
     src = [
       (fetchurl {
@@ -12267,14 +10641,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."requirejs"."~2.1.0" or []);
+      (self.nativeDeps."requirejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "requirejs" ];
   };
-  full."resolve"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."requirejs"."~2.1.0" =
+    self.by-version."requirejs"."2.1.9";
+  by-spec."resolve"."0.5.x" =
+    self.by-version."resolve"."0.5.1";
+  by-version."resolve"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.5.1";
     src = [
       (fetchurl {
@@ -12283,14 +10661,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."0.5.x" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."resolve"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."resolve"."~0.3.1" =
+    self.by-version."resolve"."0.3.1";
+  by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.3.1";
     src = [
       (fetchurl {
@@ -12299,14 +10679,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."~0.3.1" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."restify"."2.4.1" =
+    self.by-version."restify"."2.4.1";
+  by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "restify-2.4.1";
     src = [
       (fetchurl {
@@ -12315,31 +10697,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."restify"."2.4.1" or []);
+      (self.nativeDeps."restify" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."backoff"."2.1.0"
-      self.full."bunyan"."0.21.1"
-      self.full."deep-equal"."0.0.0"
-      self.full."formidable"."1.0.13"
-      self.full."http-signature"."0.9.11"
-      self.full."keep-alive-agent"."0.0.1"
-      self.full."lru-cache"."2.3.0"
-      self.full."mime"."1.2.9"
-      self.full."negotiator"."0.2.5"
-      self.full."node-uuid"."1.4.0"
-      self.full."once"."1.1.1"
-      self.full."qs"."0.5.5"
-      self.full."semver"."1.1.4"
-      self.full."spdy"."1.7.1"
-      self.full."verror"."1.3.6"
-      self.full."dtrace-provider"."0.2.8"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."backoff"."2.1.0"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."deep-equal"."0.0.0"
+      self.by-version."formidable"."1.0.13"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."keep-alive-agent"."0.0.1"
+      self.by-version."lru-cache"."2.3.0"
+      self.by-version."mime"."1.2.9"
+      self.by-version."negotiator"."0.2.5"
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."qs"."0.5.5"
+      self.by-version."semver"."1.1.4"
+      self.by-version."spdy"."1.7.1"
+      self.by-version."verror"."1.3.6"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "restify" ];
   };
-  full."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "retry-0.6.0";
     src = [
       (fetchurl {
@@ -12348,30 +10732,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."retry"."0.6.0" or []);
+      (self.nativeDeps."retry" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
   };
-  full."retry"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "retry-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."retry"."~0.6.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "retry" ];
-  };
-  full."revalidator"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."~0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-spec."revalidator"."0.1.x" =
+    self.by-version."revalidator"."0.1.5";
+  by-version."revalidator"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "revalidator-0.1.5";
     src = [
       (fetchurl {
@@ -12380,14 +10752,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."revalidator"."0.1.x" or []);
+      (self.nativeDeps."revalidator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "revalidator" ];
   };
-  full."rimraf"."1.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."1.x.x" =
+    self.by-version."rimraf"."1.0.9";
+  by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-1.0.9";
     src = [
       (fetchurl {
@@ -12396,65 +10770,39 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."1.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."2" or []);
-    deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."2.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."2.x.x" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.4";
+  by-version."rimraf"."2.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.4.tgz";
+        sha1 = "9f0b530f829f7b655a6e4d2fd8cf4c042336ef58";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."2.x.x" =
+    self.by-version."rimraf"."2.2.4";
+  by-spec."rimraf"."~2" =
+    self.by-version."rimraf"."2.2.4";
+  by-spec."rimraf"."~2.0.2" =
+    self.by-version."rimraf"."2.0.3";
+  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.0.3";
     src = [
       (fetchurl {
@@ -12463,32 +10811,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.0.2" or []);
-    deps = [
-      self.full."graceful-fs"."~1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2.1" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.1.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."~2.0.3" =
+    self.by-version."rimraf"."2.0.3";
+  by-spec."rimraf"."~2.1" =
+    self.by-version."rimraf"."2.1.4";
+  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.1.4";
     src = [
       (fetchurl {
@@ -12497,52 +10832,50 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.1.4" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
+  by-spec."rimraf"."~2.1.4" =
+    self.by-version."rimraf"."2.1.4";
+  by-spec."rimraf"."~2.2.0" =
+    self.by-version."rimraf"."2.2.4";
+  by-spec."rimraf"."~2.2.2" =
+    self.by-version."rimraf"."2.2.4";
+  by-spec."s3http"."*" =
+    self.by-version."s3http"."0.0.3";
+  by-version."s3http"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "s3http-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+        url = "http://registry.npmjs.org/s3http/-/s3http-0.0.3.tgz";
+        sha1 = "4d8965ae1c62c7fc2bbdc3fb6b95067429aac87a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.2.0" or []);
+      (self.nativeDeps."s3http" or []);
     deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."s3http"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "s3http-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/s3http/-/s3http-0.0.2.tgz";
-        sha1 = "e0c8bdee66981c6ddef2dfc41bb1fe51765984e5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."s3http"."*" or []);
-    deps = [
-      self.full."aws-sdk".">=1.2.0 <2"
-      self.full."commander"."0.5.1"
-      self.full."http-auth"."1.2.7"
+      self.by-version."aws-sdk"."1.13.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"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "s3http" ];
   };
-  "s3http" = self.full."s3http"."*";
-  full."sauce-connect-launcher"."~0.1.10" = lib.makeOverridable self.buildNodePackage {
+  "s3http" = self.by-version."s3http"."0.0.3";
+  by-spec."sauce-connect-launcher"."~0.1.10" =
+    self.by-version."sauce-connect-launcher"."0.1.11";
+  by-version."sauce-connect-launcher"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "sauce-connect-launcher-0.1.11";
     src = [
       (fetchurl {
@@ -12551,33 +10884,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sauce-connect-launcher"."~0.1.10" or []);
+      (self.nativeDeps."sauce-connect-launcher" or []);
     deps = [
-      self.full."lodash"."~1.3.1"
-      self.full."async"."~0.2.9"
-      self.full."adm-zip"."~0.4.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."adm-zip"."0.4.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sauce-connect-launcher" ];
   };
-  full."sax"."0.5.x" = lib.makeOverridable self.buildNodePackage {
-    name = "sax-0.5.5";
+  by-spec."saucelabs"."~0.1.0" =
+    self.by-version."saucelabs"."0.1.1";
+  by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "saucelabs-0.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.5.tgz";
-        sha1 = "b1ec13d77397248d059bcc18bb9530d8210bb5d3";
+        url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
+        sha1 = "5e0ea1cf3d735d6ea15fde94b5bda6bc15d2c06d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax"."0.5.x" or []);
+      (self.nativeDeps."saucelabs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sax" ];
+    passthru.names = [ "saucelabs" ];
   };
-  full."sax".">=0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax"."0.5.x" =
+    self.by-version."sax"."0.5.5";
+  by-version."sax"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "sax-0.5.5";
     src = [
       (fetchurl {
@@ -12586,14 +10923,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax".">=0.4.2" or []);
+      (self.nativeDeps."sax" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
-  full."selenium-webdriver"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax".">=0.4.2" =
+    self.by-version."sax"."0.5.5";
+  by-spec."selenium-webdriver"."*" =
+    self.by-version."selenium-webdriver"."2.37.0";
+  by-version."selenium-webdriver"."2.37.0" = lib.makeOverridable self.buildNodePackage {
     name = "selenium-webdriver-2.37.0";
     src = [
       (fetchurl {
@@ -12602,32 +10943,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."selenium-webdriver"."*" or []);
+      (self.nativeDeps."selenium-webdriver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
   };
-  "selenium-webdriver" = self.full."selenium-webdriver"."*";
-  full."semver"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.37.0";
+  by-spec."semver"."*" =
+    self.by-version."semver"."2.2.1";
+  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."*" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  "semver" = self.full."semver"."*";
-  full."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "semver" = self.by-version."semver"."2.2.1";
+  by-spec."semver"."1.1.0" =
+    self.by-version."semver"."1.1.0";
+  by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
     src = [
       (fetchurl {
@@ -12636,110 +10981,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."1.1.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.8.tgz";
-        sha1 = "f5c28ba4a6d56bd1d9dbe34aed288d69366a73c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver".">=2.0.10 <3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver".">=2.0.10 <3.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~1.1.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
     src = [
       (fetchurl {
@@ -12748,14 +10999,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~1.1.4" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."2" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."2.x" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver".">=2.0.10 <3.0.0" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."^2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."~1.1.0" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~2.0.5" =
+    self.by-version."semver"."2.0.11";
+  by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.0.11";
     src = [
       (fetchurl {
@@ -12764,62 +11029,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.1" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.1.0" =
+    self.by-version."semver"."2.1.0";
+  by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
     src = [
       (fetchurl {
@@ -12828,14 +11047,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.1.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."send"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."send"."*" =
+    self.by-version."send"."0.1.4";
+  by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "send-0.1.4";
     src = [
       (fetchurl {
@@ -12844,78 +11067,66 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."*" or []);
-    deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  full."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
-        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send"."0.1.0" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."1.2.6"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.1";
+  by-spec."send"."0.0.3" =
+    self.by-version."send"."0.0.3";
+  by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
+        url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
+        sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.1" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.4";
+  by-spec."send"."0.1.0" =
+    self.by-version."send"."0.1.0";
+  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
+        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.4" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."sequence"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."send"."0.1.4" =
+    self.by-version."send"."0.1.4";
+  by-spec."sequence"."*" =
+    self.by-version."sequence"."2.2.1";
+  by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "sequence-2.2.1";
     src = [
       (fetchurl {
@@ -12924,63 +11135,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sequence"."*" or []);
+      (self.nativeDeps."sequence" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sequence" ];
   };
-  full."sequence".">= 2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sequence-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sequence".">= 2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sequence" ];
-  };
-  full."setimmediate"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "setimmediate-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
-        sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."setimmediate"."~1.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "setimmediate" ];
-  };
-  full."sha"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sha-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.0.1.tgz";
-        sha1 = "9b87a92113103e7406f7e7ef00006f3fa1975122";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sha"."~1.0.1" or []);
-    deps = [
-      self.full."graceful-fs"."1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sha" ];
-  };
-  full."sha"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sequence".">= 2.2.1" =
+    self.by-version."sequence"."2.2.1";
+  by-spec."sha"."~1.2.1" =
+    self.by-version."sha"."1.2.3";
+  by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "sha-1.2.3";
     src = [
       (fetchurl {
@@ -12989,32 +11155,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sha"."~1.2.1" or []);
+      (self.nativeDeps."sha" or []);
     deps = [
-      self.full."graceful-fs"."2"
-      self.full."readable-stream"."1.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  full."shelljs"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "shelljs-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
-        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shelljs"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shelljs" ];
-  };
-  full."shelljs"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."shelljs"."0.1.x" =
+    self.by-version."shelljs"."0.1.4";
+  by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "shelljs-0.1.4";
     src = [
       (fetchurl {
@@ -13023,31 +11175,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."shelljs"."~0.1.4" or []);
+      (self.nativeDeps."shelljs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "shelljs" ];
   };
-  full."should"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "should-2.0.1";
+  by-spec."shelljs"."~0.1.4" =
+    self.by-version."shelljs"."0.1.4";
+  by-spec."should"."*" =
+    self.by-version."should"."2.1.0";
+  by-version."should"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "should-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/should/-/should-2.0.1.tgz";
-        sha1 = "d244c90bb919f3e51dca472ef7d93c244eb7b79a";
+        url = "http://registry.npmjs.org/should/-/should-2.1.0.tgz";
+        sha1 = "6bffa59a47892206fed91fe0f2b7217bda61e9ca";
       })
     ];
     buildInputs =
-      (self.nativeDeps."should"."*" or []);
+      (self.nativeDeps."should" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "should" ];
   };
-  "should" = self.full."should"."*";
-  full."sigmund"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "should" = self.by-version."should"."2.1.0";
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "sigmund-1.0.0";
     src = [
       (fetchurl {
@@ -13056,46 +11214,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sigmund"."~1.0.0" or []);
+      (self.nativeDeps."sigmund" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sigmund" ];
   };
-  full."signals"."<2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals"."<2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."signals".">0.7 <2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals".">0.7 <2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."signals"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."signals"."<2.0" =
+    self.by-version."signals"."1.0.0";
+  by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "signals-1.0.0";
     src = [
       (fetchurl {
@@ -13104,49 +11232,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals"."~1.0.0" or []);
+      (self.nativeDeps."signals" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "signals" ];
   };
-  full."simplesmtp".">= 0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "simplesmtp-0.3.10";
+  by-spec."signals".">0.7 <2.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."signals"."~1.0.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."simplesmtp".">= 0.1.22" =
+    self.by-version."simplesmtp"."0.3.16";
+  by-version."simplesmtp"."0.3.16" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.16";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.10.tgz";
-        sha1 = "f395f4b118de45f82ac4fdae4bd88f12dc326f5d";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.16.tgz";
+        sha1 = "c82ab64b957a5f979b10b96787094e3612877814";
       })
     ];
     buildInputs =
-      (self.nativeDeps."simplesmtp".">= 0.1.22" or []);
+      (self.nativeDeps."simplesmtp" or []);
     deps = [
-      self.full."rai"."~0.1"
-      self.full."xoauth2"."~0.1"
+      self.by-version."rai"."0.1.8"
+      self.by-version."xoauth2"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "simplesmtp" ];
   };
-  full."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "slice-stream-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slice-stream/-/slice-stream-0.0.0.tgz";
-        sha1 = "8183df87ad44ae0b48c0625134eac6e349747860";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slice-stream"."0.0.0" or []);
-    deps = [
-      self.full."readable-stream"."~1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slice-stream" ];
-  };
-  full."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.3" =
+    self.by-version."sliced"."0.0.3";
+  by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.3";
     src = [
       (fetchurl {
@@ -13155,14 +11274,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.3" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.4" =
+    self.by-version."sliced"."0.0.4";
+  by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.4";
     src = [
       (fetchurl {
@@ -13171,14 +11292,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.4" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.5" =
+    self.by-version."sliced"."0.0.5";
+  by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.5";
     src = [
       (fetchurl {
@@ -13187,30 +11310,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.5" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."slide"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide"."~1.1.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."slide"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.3" =
+    self.by-version."slide"."1.1.5";
+  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "slide-1.1.5";
     src = [
       (fetchurl {
@@ -13219,30 +11328,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.4" or []);
+      (self.nativeDeps."slide" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "slide" ];
   };
-  full."slide"."~1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide"."~1.1.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."smartdc"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.5" =
+    self.by-version."slide"."1.1.5";
+  by-spec."smartdc"."*" =
+    self.by-version."smartdc"."7.1.1";
+  by-version."smartdc"."7.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-7.1.1";
     src = [
       (fetchurl {
@@ -13251,22 +11348,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc"."*" or []);
+      (self.nativeDeps."smartdc" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."lru-cache"."2.2.0"
-      self.full."nopt"."2.0.0"
-      self.full."restify"."2.4.1"
-      self.full."bunyan"."0.21.1"
-      self.full."clone"."0.1.6"
-      self.full."smartdc-auth"."1.0.1"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."lru-cache"."2.2.0"
+      self.by-version."nopt"."2.0.0"
+      self.by-version."restify"."2.4.1"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."clone"."0.1.6"
+      self.by-version."smartdc-auth"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
   };
-  "smartdc" = self.full."smartdc"."*";
-  full."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  "smartdc" = self.by-version."smartdc"."7.1.1";
+  by-spec."smartdc-auth"."1.0.1" =
+    self.by-version."smartdc-auth"."1.0.1";
+  by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-auth-1.0.1";
     src = [
       (fetchurl {
@@ -13275,19 +11374,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc-auth"."1.0.1" or []);
+      (self.nativeDeps."smartdc-auth" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."clone"."0.1.5"
-      self.full."ssh-agent"."0.2.1"
-      self.full."once"."1.1.1"
-      self.full."vasync"."1.3.3"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."clone"."0.1.5"
+      self.by-version."ssh-agent"."0.2.1"
+      self.by-version."once"."1.1.1"
+      self.by-version."vasync"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc-auth" ];
   };
-  full."sntp"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.1.x" =
+    self.by-version."sntp"."0.1.4";
+  by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.1.4";
     src = [
       (fetchurl {
@@ -13296,15 +11397,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.1.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."sntp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.2.4";
     src = [
       (fetchurl {
@@ -13313,15 +11416,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.2.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.14" =
+    self.by-version."socket.io"."0.9.14";
+  by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.14";
     src = [
       (fetchurl {
@@ -13330,18 +11435,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.14" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.11"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.11"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.16" =
+    self.by-version."socket.io"."0.9.16";
+  by-version."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.16";
     src = [
       (fetchurl {
@@ -13350,58 +11457,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.16" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.16"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io"."~0.9.13" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.13" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io"."~0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.14" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."~0.9.13" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io"."~0.9.14" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io-client"."0.9.11" =
+    self.by-version."socket.io-client"."0.9.11";
+  by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.11";
     src = [
       (fetchurl {
@@ -13410,18 +11483,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.11" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io-client"."0.9.16" =
+    self.by-version."socket.io-client"."0.9.16";
+  by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.16";
     src = [
       (fetchurl {
@@ -13430,18 +11505,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.16" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."sockjs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sockjs"."*" =
+    self.by-version."sockjs"."0.3.8";
+  by-version."sockjs"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "sockjs-0.3.8";
     src = [
       (fetchurl {
@@ -13450,69 +11527,47 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sockjs"."*" or []);
+      (self.nativeDeps."sockjs" or []);
     deps = [
-      self.full."node-uuid"."1.3.3"
-      self.full."faye-websocket"."0.7.0"
+      self.by-version."node-uuid"."1.3.3"
+      self.by-version."faye-websocket"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sockjs" ];
   };
-  "sockjs" = self.full."sockjs"."*";
-  full."source-map"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
+  "sockjs" = self.by-version."sockjs"."0.3.8";
+  by-spec."source-map"."*" =
+    self.by-version."source-map"."0.1.31";
+  by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
+        sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map"."*" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
-  "source-map" = self.full."source-map"."*";
-  full."source-map".">= 0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map".">= 0.1.2" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map"."~0.1.7" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  full."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
+  "source-map" = self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."0.1.x" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map".">= 0.1.2" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."~0.1.30" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."spdy"."1.7.1" =
+    self.by-version."spdy"."1.7.1";
+  by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "spdy-1.7.1";
     src = [
       (fetchurl {
@@ -13521,14 +11576,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."spdy"."1.7.1" or []);
+      (self.nativeDeps."spdy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "spdy" ];
   };
-  full."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ssh-agent"."0.2.1" =
+    self.by-version."ssh-agent"."0.2.1";
+  by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ssh-agent-0.2.1";
     src = [
       (fetchurl {
@@ -13537,33 +11594,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh-agent"."0.2.1" or []);
+      (self.nativeDeps."ssh-agent" or []);
     deps = [
-      self.full."ctype"."0.5.0"
-      self.full."posix-getopt"."1.0.0"
+      self.by-version."ctype"."0.5.0"
+      self.by-version."posix-getopt"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh-agent" ];
   };
-  full."ssh2"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "ssh2-0.2.8";
+  by-spec."ssh2"."~0.2.14" =
+    self.by-version."ssh2"."0.2.14";
+  by-version."ssh2"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "ssh2-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.8.tgz";
-        sha1 = "50acd6d7a7fb4da18ef4364737bb9a5066bf689d";
+        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.14.tgz";
+        sha1 = "6f93df62f1475cbe5b45924da568643b9ac7388a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh2"."0.2.8" or []);
+      (self.nativeDeps."ssh2" or []);
     deps = [
-      self.full."streamsearch"."0.1.2"
+      self.by-version."streamsearch"."0.1.2"
+      self.by-version."asn1"."0.1.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh2" ];
   };
-  full."stack-trace"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.7";
+  by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "stack-trace-0.0.7";
     src = [
       (fetchurl {
@@ -13572,14 +11634,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stack-trace"."0.0.x" or []);
+      (self.nativeDeps."stack-trace" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
   };
-  full."statsd"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."statsd"."*" =
+    self.by-version."statsd"."0.6.0";
+  by-version."statsd"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "statsd-0.6.0";
     src = [
       (fetchurl {
@@ -13588,17 +11652,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."statsd"."*" or []);
+      (self.nativeDeps."statsd" or []);
     deps = [
-      self.full."node-syslog"."1.1.3"
-      self.full."winser"."=0.0.11"
+      self.by-version."node-syslog"."1.1.3"
+      self.by-version."winser"."0.0.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "statsd" ];
   };
-  "statsd" = self.full."statsd"."*";
-  full."stream-counter"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "statsd" = self.by-version."statsd"."0.6.0";
+  by-spec."stream-counter"."~0.1.0" =
+    self.by-version."stream-counter"."0.1.0";
+  by-version."stream-counter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.1.0";
     src = [
       (fetchurl {
@@ -13607,15 +11673,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.1.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-counter"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stream-counter"."~0.2.0" =
+    self.by-version."stream-counter"."0.2.0";
+  by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.2.0";
     src = [
       (fetchurl {
@@ -13624,33 +11692,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.2.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.1.8"
+      self.by-version."readable-stream"."1.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-splitter-transform"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stream-splitter-transform-0.0.3";
+  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 = "stream-splitter-transform-0.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.3.tgz";
-        sha1 = "5ccd3bd497ffee4c2fc7c1cc9d7b697b54c42eef";
+        url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz";
+        sha1 = "0de54e94680633a8d703b252b20fa809ed99331c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-splitter-transform"."*" or []);
+      (self.nativeDeps."stream-splitter-transform" or []);
     deps = [
-      self.full."buffertools".">=1.1.1 <2.0.0"
+      self.by-version."buffertools"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
   };
-  "stream-splitter-transform" = self.full."stream-splitter-transform"."*";
-  full."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.4";
+  by-spec."streamsearch"."0.1.2" =
+    self.by-version."streamsearch"."0.1.2";
+  by-version."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "streamsearch-0.1.2";
     src = [
       (fetchurl {
@@ -13659,14 +11731,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."streamsearch"."0.1.2" or []);
+      (self.nativeDeps."streamsearch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "streamsearch" ];
   };
-  full."stringify-object"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."string"."1.6.1" =
+    self.by-version."string"."1.6.1";
+  by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "string-1.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
+        sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."string" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "string" ];
+  };
+  by-spec."stringify-object"."~0.1.4" =
+    self.by-version."stringify-object"."0.1.7";
+  by-version."stringify-object"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "stringify-object-0.1.7";
     src = [
       (fetchurl {
@@ -13675,14 +11767,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stringify-object"."~0.1.4" or []);
+      (self.nativeDeps."stringify-object" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stringify-object" ];
   };
-  full."strong-data-uri"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."strong-data-uri"."~0.1.0" =
+    self.by-version."strong-data-uri"."0.1.0";
+  by-version."strong-data-uri"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "strong-data-uri-0.1.0";
     src = [
       (fetchurl {
@@ -13691,36 +11785,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."strong-data-uri"."~0.1.0" or []);
+      (self.nativeDeps."strong-data-uri" or []);
     deps = [
-      self.full."truncate"."~1.0.2"
+      self.by-version."truncate"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
-  full."stylus"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.38.0";
+  by-spec."stylus"."*" =
+    self.by-version."stylus"."0.41.0";
+  by-version."stylus"."0.41.0" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.41.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.38.0.tgz";
-        sha1 = "6bd0581db0ee0491251639d338685f7232ca0610";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.41.0.tgz";
+        sha1 = "b9609d5663c9624d11b28952f3e6b23cde10ac28";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."*" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
-      self.full."sax"."0.5.x"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.4"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.full."stylus"."*";
-  full."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
+  "stylus" = self.by-version."stylus"."0.41.0";
+  by-spec."stylus"."0.27.2" =
+    self.by-version."stylus"."0.27.2";
+  by-version."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
     name = "stylus-0.27.2";
     src = [
       (fetchurl {
@@ -13729,17 +11827,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."0.27.2" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  full."sudo-block"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sudo-block"."~0.2.0" =
+    self.by-version."sudo-block"."0.2.1";
+  by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "sudo-block-0.2.1";
     src = [
       (fetchurl {
@@ -13748,60 +11848,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sudo-block"."~0.2.0" or []);
+      (self.nativeDeps."sudo-block" or []);
     deps = [
-      self.full."chalk"."~0.1.1"
+      self.by-version."chalk"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sudo-block" ];
   };
-  full."superagent"."0.14.7" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.14.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.14.7.tgz";
-        sha1 = "5740625d9c6343381b03b2ff95a3c988415fc406";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent"."0.14.7" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
-  full."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.15.1";
+  by-spec."superagent"."0.15.7" =
+    self.by-version."superagent"."0.15.7";
+  by-version."superagent"."0.15.7" = lib.makeOverridable self.buildNodePackage {
+    name = "superagent-0.15.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.15.1.tgz";
-        sha1 = "f0df9954c2b90f29e4ae54ad308e4a2b432cc56a";
+        url = "http://registry.npmjs.org/superagent/-/superagent-0.15.7.tgz";
+        sha1 = "095c70b8afffbc072f1458f39684d4854d6333a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."0.15.1" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-      self.full."debug"."~0.7.2"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.4"
+      self.by-version."reduce-component"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."superagent"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."superagent"."~0.13.0" =
+    self.by-version."superagent"."0.13.0";
+  by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
     name = "superagent-0.13.0";
     src = [
       (fetchurl {
@@ -13810,39 +11893,45 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."~0.13.0" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.5.2"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."0.0.6"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
+      self.by-version."qs"."0.5.2"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."0.0.6"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."supertest"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "supertest-0.8.0";
+  by-spec."superagent"."~0.15.7" =
+    self.by-version."superagent"."0.15.7";
+  by-spec."supertest"."*" =
+    self.by-version."supertest"."0.8.2";
+  by-version."supertest"."0.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "supertest-0.8.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.0.tgz";
-        sha1 = "c8dd008358ed60175cfd4dfab0ab1af81d0dc55b";
+        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.2.tgz";
+        sha1 = "2da3519f7c9dcfa8759e2de9c794f1d4acc0333b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."supertest"."*" or []);
+      (self.nativeDeps."supertest" or []);
     deps = [
-      self.full."superagent"."0.15.1"
-      self.full."methods"."0.0.1"
+      self.by-version."superagent"."0.15.7"
+      self.by-version."methods"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "supertest" ];
   };
-  "supertest" = self.full."supertest"."*";
-  full."swig"."0.14.x" = lib.makeOverridable self.buildNodePackage {
+  "supertest" = self.by-version."supertest"."0.8.2";
+  by-spec."swig"."0.14.x" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
     name = "swig-0.14.0";
     src = [
       (fetchurl {
@@ -13851,32 +11940,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."swig"."0.14.x" or []);
+      (self.nativeDeps."swig" or []);
     deps = [
-      self.full."underscore".">=1.1.7"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "swig" ];
   };
-  "swig" = self.full."swig"."0.14.x";
-  full."sylvester".">= 0.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "sylvester-0.0.21";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-        sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.12" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sylvester" ];
-  };
-  full."sylvester".">= 0.0.8" = lib.makeOverridable self.buildNodePackage {
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."sylvester".">= 0.0.12" =
+    self.by-version."sylvester"."0.0.21";
+  by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
     name = "sylvester-0.0.21";
     src = [
       (fetchurl {
@@ -13885,14 +11960,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.8" or []);
+      (self.nativeDeps."sylvester" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
   };
-  full."tar"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sylvester".">= 0.0.8" =
+    self.by-version."sylvester"."0.0.21";
+  by-spec."tar"."*" =
+    self.by-version."tar"."0.1.18";
+  by-version."tar"."0.1.18" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.18";
     src = [
       (fetchurl {
@@ -13901,37 +11980,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."*" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.25"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  "tar" = self.full."tar"."*";
-  full."tar"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."0" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+  "tar" = self.by-version."tar"."0.1.18";
+  by-spec."tar"."0" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."0.1.17" =
+    self.by-version."tar"."0.1.17";
+  by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.17";
     src = [
       (fetchurl {
@@ -13940,72 +12004,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."0.1.17" or []);
-    deps = [
-      self.full."inherits"."1.x"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.17" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.18" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.25"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "taskgroup-3.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.3.tgz";
-        sha1 = "5bbfa9fb0312f04251140f2f858f8f4ee0086958";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."taskgroup"."~3.2.0" or []);
-    deps = [
-      self.full."ambi"."~2.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "taskgroup" ];
-  };
-  full."temp"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tar"."~0.1.17" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."~0.1.18" =
+    self.by-version."tar"."0.1.18";
+  by-spec."temp"."*" =
+    self.by-version."temp"."0.6.0";
+  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "temp-0.6.0";
     src = [
       (fetchurl {
@@ -14014,35 +12029,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."temp"."*" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
   };
-  "temp" = self.full."temp"."*";
-  full."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "temp-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."temp"."0.6.0" or []);
-    deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "temp" ];
-  };
-  full."text-table"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  "temp" = self.by-version."temp"."0.6.0";
+  by-spec."temp"."0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-spec."text-table"."~0.1.1" =
+    self.by-version."text-table"."0.1.1";
+  by-version."text-table"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "text-table-0.1.1";
     src = [
       (fetchurl {
@@ -14051,14 +12052,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."text-table"."~0.1.1" or []);
+      (self.nativeDeps."text-table" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "text-table" ];
   };
-  full."throttleit"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."throttleit"."~0.0.2" =
+    self.by-version."throttleit"."0.0.2";
+  by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "throttleit-0.0.2";
     src = [
       (fetchurl {
@@ -14067,14 +12070,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."throttleit"."~0.0.2" or []);
+      (self.nativeDeps."throttleit" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "throttleit" ];
   };
-  full."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timespan"."2.0.1" =
+    self.by-version."timespan"."2.0.1";
+  by-version."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "timespan-2.0.1";
     src = [
       (fetchurl {
@@ -14083,14 +12088,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timespan"."2.0.1" or []);
+      (self.nativeDeps."timespan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
   };
-  full."timezone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timezone"."*" =
+    self.by-version."timezone"."0.0.23";
+  by-version."timezone"."0.0.23" = lib.makeOverridable self.buildNodePackage {
     name = "timezone-0.0.23";
     src = [
       (fetchurl {
@@ -14099,15 +12106,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timezone"."*" or []);
+      (self.nativeDeps."timezone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
   };
-  "timezone" = self.full."timezone"."*";
-  full."tinycolor"."0.x" = lib.makeOverridable self.buildNodePackage {
+  "timezone" = self.by-version."timezone"."0.0.23";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "tinycolor-0.0.1";
     src = [
       (fetchurl {
@@ -14116,30 +12125,71 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tinycolor"."0.x" or []);
+      (self.nativeDeps."tinycolor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
   };
-  full."tmp"."~0.0.20" = lib.makeOverridable self.buildNodePackage {
-    name = "tmp-0.0.21";
+  by-spec."tmp"."~0.0.20" =
+    self.by-version."tmp"."0.0.22";
+  by-version."tmp"."0.0.22" = lib.makeOverridable self.buildNodePackage {
+    name = "tmp-0.0.22";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz";
-        sha1 = "6d263fede6570dc4d4510ffcc2efc640223b1153";
+        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.22.tgz";
+        sha1 = "92133c8a93785fbbd3971c9454561921d58283cd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."tmp"."~0.0.20" or []);
+      (self.nativeDeps."tmp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
   };
-  full."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."touch"."0.0.2" =
+    self.by-version."touch"."0.0.2";
+  by-version."touch"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "touch-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/touch/-/touch-0.0.2.tgz";
+        sha1 = "a65a777795e5cbbe1299499bdc42281ffb21b5f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."touch" or []);
+    deps = [
+      self.by-version."nopt"."1.0.10"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "touch" ];
+  };
+  by-spec."traceback".">=0.3.0 && < 0.4" =
+    self.by-version."traceback"."0.3.0";
+  by-version."traceback"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "traceback-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traceback/-/traceback-0.3.0.tgz";
+        sha1 = "4e147f07cd332fbd0330ba510b942a5c9256a0ab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traceback" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "traceback" ];
+  };
+  by-spec."transformers"."2.1.0" =
+    self.by-version."transformers"."2.1.0";
+  by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "transformers-2.1.0";
     src = [
       (fetchurl {
@@ -14148,17 +12198,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."transformers"."2.1.0" or []);
+      (self.nativeDeps."transformers" or []);
     deps = [
-      self.full."promise"."~2.0"
-      self.full."css"."~1.0.8"
-      self.full."uglify-js"."~2.2.5"
+      self.by-version."promise"."2.0.0"
+      self.by-version."css"."1.0.8"
+      self.by-version."uglify-js"."2.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
   };
-  full."traverse".">=0.3.0 <0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage {
     name = "traverse-0.3.9";
     src = [
       (fetchurl {
@@ -14167,14 +12219,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."traverse".">=0.3.0 <0.4" or []);
+      (self.nativeDeps."traverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "traverse" ];
   };
-  full."truncate"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."truncate"."~1.0.2" =
+    self.by-version."truncate"."1.0.2";
+  by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "truncate-1.0.2";
     src = [
       (fetchurl {
@@ -14183,14 +12237,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."truncate"."~1.0.2" or []);
+      (self.nativeDeps."truncate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
   };
-  full."tunnel-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.2.0" =
+    self.by-version."tunnel-agent"."0.2.0";
+  by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.2.0";
     src = [
       (fetchurl {
@@ -14199,14 +12255,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.2.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."tunnel-agent"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.3.0";
     src = [
       (fetchurl {
@@ -14215,14 +12273,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.3.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."type-detect"."0.1.1" =
+    self.by-version."type-detect"."0.1.1";
+  by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "type-detect-0.1.1";
     src = [
       (fetchurl {
@@ -14231,46 +12291,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."type-detect"."0.1.1" or []);
+      (self.nativeDeps."type-detect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
   };
-  full."typechecker"."~2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typechecker" ];
-  };
-  full."typechecker"."~2.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
+  by-spec."typechecker"."~2.0.1" =
+    self.by-version."typechecker"."2.0.8";
+  by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "typechecker-2.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.6" or []);
+      (self.nativeDeps."typechecker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
   };
-  full."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."1.2.5" =
+    self.by-version."uglify-js"."1.2.5";
+  by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
     src = [
       (fetchurl {
@@ -14279,14 +12327,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."1.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."2.4.0" =
+    self.by-version."uglify-js"."2.4.0";
+  by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
@@ -14295,18 +12345,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."2.4.0" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.2.5" =
+    self.by-version."uglify-js"."2.2.5";
+  by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.2.5";
     src = [
       (fetchurl {
@@ -14315,16 +12367,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.3.6";
     src = [
       (fetchurl {
@@ -14333,37 +12387,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.3" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.0";
+  by-spec."uglify-js"."~2.4.0" =
+    self.by-version."uglify-js"."2.4.6";
+  by-version."uglify-js"."2.4.6" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
-        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.6.tgz";
+        sha1 = "31766a4d822babf5f32c14096251ed9259298ad3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.4.0" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
-      self.full."uglify-to-browserify"."~1.0.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-to-browserify"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-to-browserify"."~1.0.0" =
+    self.by-version."uglify-to-browserify"."1.0.1";
+  by-version."uglify-to-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-to-browserify-1.0.1";
     src = [
       (fetchurl {
@@ -14372,14 +12430,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-to-browserify"."~1.0.0" or []);
+      (self.nativeDeps."uglify-to-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-to-browserify" ];
   };
-  full."uid-number"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid-number"."0" =
+    self.by-version."uid-number"."0.0.3";
+  by-version."uid-number"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "uid-number-0.0.3";
     src = [
       (fetchurl {
@@ -14388,14 +12448,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid-number"."0" or []);
+      (self.nativeDeps."uid-number" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid-number" ];
   };
-  full."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid2"."0.0.2" =
+    self.by-version."uid2"."0.0.2";
+  by-version."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "uid2-0.0.2";
     src = [
       (fetchurl {
@@ -14404,63 +12466,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid2"."0.0.2" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid2" ];
   };
-  full."underscore"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."uid2"."0.0.3" =
+    self.by-version."uid2"."0.0.3";
+  by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "uid2-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  "underscore" = self.full."underscore"."*";
-  full."underscore"."1.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."1.4.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore".">=1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.1.7" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "uid2" ];
   };
-  full."underscore".">=1.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore"."*" =
+    self.by-version."underscore"."1.5.2";
+  by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.5.2";
     src = [
       (fetchurl {
@@ -14469,30 +12502,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.4.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4.3" = lib.makeOverridable self.buildNodePackage {
+  "underscore" = self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."1.4.x" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.4.4";
     src = [
       (fetchurl {
@@ -14501,46 +12521,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4.3" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.5.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore.string"."~2.2.0rc" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore".">=1.4.3" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore".">=1.5.x" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."~1.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.3" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.5.2" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore.string"."~2.2.1" =
+    self.by-version."underscore.string"."2.2.1";
+  by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.2.1";
     src = [
       (fetchurl {
@@ -14549,14 +12553,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.2.0rc" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."underscore.string"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore.string"."~2.3.1" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.3.3";
     src = [
       (fetchurl {
@@ -14565,101 +12571,86 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.3.1" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.3.2.tgz";
-        sha1 = "bb52c4af06280e81c6499cc92f13436e0fefa0d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ungit"."*" or []);
-    deps = [
-      self.full."express"."3.2.6"
-      self.full."superagent"."0.14.7"
-      self.full."lodash.debounce"."~2.2.0"
-      self.full."lodash.find"."~2.2.0"
-      self.full."lodash.throttle"."~2.2.0"
-      self.full."temp"."0.6.0"
-      self.full."socket.io"."0.9.16"
-      self.full."moment"."2.0.0"
-      self.full."async"."0.2.9"
-      self.full."ssh2"."0.2.8"
-      self.full."rc"."0.3.0"
-      self.full."uuid"."1.4.1"
-      self.full."winston"."0.7.1"
-      self.full."passport"."0.1.17"
-      self.full."passport-local"."0.1.6"
-      self.full."npm"."1.3.1"
-      self.full."semver"."2.0.8"
-      self.full."forever-monitor"."1.1.0"
-      self.full."open"."0.0.4"
-      self.full."optimist"."0.6.0"
-      self.full."crossroads"."~0.12.0"
-      self.full."signals"."~1.0.0"
-      self.full."hasher"."~1.1.4"
-      self.full."blueimp-md5"."~1.0.3"
-      self.full."color"."~0.4.4"
-      self.full."keen.io"."0.0.3"
-      self.full."getmac"."~1.0.5"
-      self.full."deep-extend"."~0.2.6"
+  by-spec."ungit"."*" =
+    self.by-version."ungit"."0.6.0";
+  by-version."ungit"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.6.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.6.0.tgz";
+        sha1 = "fffc26cafc5d138bc6b3585fef3f15744f5f3d31";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ungit" or []);
+    deps = [
+      self.by-version."express"."3.4.6"
+      self.by-version."superagent"."0.15.7"
+      self.by-version."lodash"."2.3.0"
+      self.by-version."temp"."0.6.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."moment"."2.4.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."ssh2"."0.2.14"
+      self.by-version."rc"."0.3.2"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."winston"."0.7.2"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-local"."0.1.6"
+      self.by-version."npm"."1.3.15"
+      self.by-version."semver"."2.2.1"
+      self.by-version."forever-monitor"."1.1.0"
+      self.by-version."open"."0.0.4"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."crossroads"."0.12.0"
+      self.by-version."signals"."1.0.0"
+      self.by-version."hasher"."1.2.0"
+      self.by-version."blueimp-md5"."1.1.0"
+      self.by-version."color"."0.4.4"
+      self.by-version."keen.io"."0.0.3"
+      self.by-version."getmac"."1.0.6"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."raven"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ungit" ];
   };
-  "ungit" = self.full."ungit"."*";
-  full."unzip"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "unzip-0.1.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/unzip/-/unzip-0.1.9.tgz";
-        sha1 = "12ac4d05c0a19fc4546df4c50ae0a7f4706a9424";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."unzip"."~0.1.7" or []);
-    deps = [
-      self.full."fstream"."~0.1.21"
-      self.full."pullstream"."~0.4.0"
-      self.full."binary"."~0.3.0"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."match-stream"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "unzip" ];
-  };
-  full."update-notifier"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "update-notifier-0.1.6";
+  "ungit" = self.by-version."ungit"."0.6.0";
+  by-spec."update-notifier"."~0.1.3" =
+    self.by-version."update-notifier"."0.1.7";
+  by-version."update-notifier"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "update-notifier-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.6.tgz";
-        sha1 = "c814e7eabaadaba789f75c3f652366db8efec471";
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz";
+        sha1 = "b37fb55004835240fd2e7e360c52ccffde5219c9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."update-notifier"."~0.1.3" or []);
+      (self.nativeDeps."update-notifier" or []);
     deps = [
-      self.full."request"."~2.22.0"
-      self.full."configstore"."~0.1.0"
-      self.full."semver"."~2.0.0"
-      self.full."chalk"."~0.1.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."semver"."2.1.0"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
   };
-  full."useragent"."~2.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."update-notifier"."~0.1.5" =
+    self.by-version."update-notifier"."0.1.7";
+  by-spec."useragent"."~2.0.4" =
+    self.by-version."useragent"."2.0.7";
+  by-version."useragent"."2.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "useragent-2.0.7";
     src = [
       (fetchurl {
@@ -14668,54 +12659,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."useragent"."~2.0.4" or []);
+      (self.nativeDeps."useragent" or []);
     deps = [
-      self.full."lru-cache"."2.2.x"
+      self.by-version."lru-cache"."2.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "useragent" ];
   };
-  full."util".">= 0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "util-0.4.9";
+  by-spec."util"."0.10.0" =
+    self.by-version."util"."0.10.0";
+  by-version."util"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "util-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
-        sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
+        url = "http://registry.npmjs.org/util/-/util-0.10.0.tgz";
+        sha1 = "b11c0823c74c077ea6911ad334394055b680fb5e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."util".">= 0.4.9" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."events.node".">= 0.4.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
-  full."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
+  by-spec."util"."0.4.9" =
+    self.by-version."util"."0.4.9";
+  by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "util-0.4.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+        url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
+        sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.7" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."events.node"."0.4.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "utile" ];
+    passthru.names = [ "util" ];
   };
-  full."utile"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "utile-0.1.7";
     src = [
       (fetchurl {
@@ -14724,64 +12715,52 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.x" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."1.0.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.2.0";
+  by-spec."utile"."0.1.x" =
+    self.by-version."utile"."0.1.7";
+  by-spec."utile"."0.2.1" =
+    self.by-version."utile"."0.2.1";
+  by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "utile-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.2.0.tgz";
-        sha1 = "91a2423ca2eb3322390e211ee3d71cf4fa193aea";
+        url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
+        sha1 = "930c88e99098d6220834c356cbd9a770522d90d7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.2.x" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."2.x.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."rimraf"."2.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile"."~0.1.7" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
-  };
-  full."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.2.x" =
+    self.by-version."utile"."0.2.1";
+  by-spec."utile"."~0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-spec."uuid"."1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "uuid-1.4.1";
     src = [
       (fetchurl {
@@ -14790,14 +12769,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uuid"."1.4.1" or []);
+      (self.nativeDeps."uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
   };
-  full."validator"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."validator"."0.4.x" =
+    self.by-version."validator"."0.4.28";
+  by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
     name = "validator-0.4.28";
     src = [
       (fetchurl {
@@ -14806,14 +12787,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."validator"."0.4.x" or []);
+      (self.nativeDeps."validator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
   };
-  full."vargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vargs"."~0.1.0" =
+    self.by-version."vargs"."0.1.0";
+  by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "vargs-0.1.0";
     src = [
       (fetchurl {
@@ -14822,14 +12805,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vargs"."~0.1.0" or []);
+      (self.nativeDeps."vargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
   };
-  full."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vasync"."1.3.3" =
+    self.by-version."vasync"."1.3.3";
+  by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "vasync-1.3.3";
     src = [
       (fetchurl {
@@ -14838,16 +12823,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vasync"."1.3.3" or []);
+      (self.nativeDeps."vasync" or []);
     deps = [
-      self.full."jsprim"."0.3.0"
-      self.full."verror"."1.1.0"
+      self.by-version."jsprim"."0.3.0"
+      self.by-version."verror"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
   };
-  full."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.1.0" =
+    self.by-version."verror"."1.1.0";
+  by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.1.0";
     src = [
       (fetchurl {
@@ -14856,15 +12843,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.1.0" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.3" =
+    self.by-version."verror"."1.3.3";
+  by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.3";
     src = [
       (fetchurl {
@@ -14873,15 +12862,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.3" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.6" =
+    self.by-version."verror"."1.3.6";
+  by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.6";
     src = [
       (fetchurl {
@@ -14890,15 +12881,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.6" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.2"
+      self.by-version."extsprintf"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."view-helpers"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."view-helpers"."*" =
+    self.by-version."view-helpers"."0.1.3";
+  by-version."view-helpers"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "view-helpers-0.1.3";
     src = [
       (fetchurl {
@@ -14907,15 +12900,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."view-helpers"."*" or []);
+      (self.nativeDeps."view-helpers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
   };
-  "view-helpers" = self.full."view-helpers"."*";
-  full."vows".">=0.5.13" = lib.makeOverridable self.buildNodePackage {
+  "view-helpers" = self.by-version."view-helpers"."0.1.3";
+  by-spec."vows".">=0.5.13" =
+    self.by-version."vows"."0.7.0";
+  by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "vows-0.7.0";
     src = [
       (fetchurl {
@@ -14924,16 +12919,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vows".">=0.5.13" or []);
+      (self.nativeDeps."vows" or []);
     deps = [
-      self.full."eyes".">=0.1.6"
-      self.full."diff"."~1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
   };
-  full."walk"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."walk"."*" =
+    self.by-version."walk"."2.2.1";
+  by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "walk-2.2.1";
     src = [
       (fetchurl {
@@ -14942,16 +12939,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."walk"."*" or []);
+      (self.nativeDeps."walk" or []);
     deps = [
-      self.full."forEachAsync"."~2.2"
+      self.by-version."forEachAsync"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
   };
-  "walk" = self.full."walk"."*";
-  full."watch"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  "walk" = self.by-version."walk"."2.2.1";
+  by-spec."walk"."~2.2.1" =
+    self.by-version."walk"."2.2.1";
+  by-spec."watch"."0.5.x" =
+    self.by-version."watch"."0.5.1";
+  by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.5.1";
     src = [
       (fetchurl {
@@ -14960,14 +12961,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.5.x" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."watch"."0.7.0" =
+    self.by-version."watch"."0.7.0";
+  by-version."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.7.0";
     src = [
       (fetchurl {
@@ -14976,14 +12979,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.7.0" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."wd"."~0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wd"."~0.1.5" =
+    self.by-version."wd"."0.1.5";
+  by-version."wd"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "wd-0.1.5";
     src = [
       (fetchurl {
@@ -14992,60 +12997,68 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wd"."~0.1.5" or []);
+      (self.nativeDeps."wd" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."vargs"."~0.1.0"
-      self.full."q"."0.9.x"
-      self.full."request"."~2.21.0"
-      self.full."archiver"."~0.4.6"
-      self.full."lodash"."~1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."vargs"."0.1.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.21.0"
+      self.by-version."archiver"."0.4.10"
+      self.by-version."lodash"."1.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
   };
-  full."webdrvr"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "webdrvr-2.35.0-6";
+  by-spec."webdrvr"."*" =
+    self.by-version."webdrvr"."2.37.0-1";
+  by-version."webdrvr"."2.37.0-1" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.37.0-1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.35.0-6.tgz";
-        sha1 = "1dffadb2960c82c7b9baba6512cd6f35f6e8d706";
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.37.0-1.tgz";
+        sha1 = "8f1f2fbcc184b8964d26f0fca73264e0c1d595ea";
       })
     ];
     buildInputs =
-      (self.nativeDeps."webdrvr"."*" or []);
+      (self.nativeDeps."webdrvr" or []);
     deps = [
-      self.full."adm-zip"."~0.4.3"
-      self.full."kew"."~0.1.7"
-      self.full."mkdirp"."~0.3.5"
-      self.full."npmconf"."~0.1.2"
-      self.full."phantomjs"."~1.9.1-2"
-      self.full."tmp"."~0.0.20"
-      self.full."follow-redirects"."0.0.3"
+      self.by-version."adm-zip"."0.4.3"
+      self.by-version."kew"."0.1.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."npmconf"."0.1.6"
+      self.by-version."phantomjs"."1.9.2-4"
+      self.by-version."tmp"."0.0.22"
+      self.by-version."follow-redirects"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
   };
-  "webdrvr" = self.full."webdrvr"."*";
-  full."websocket-driver".">=0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "websocket-driver-0.3.0";
+  "webdrvr" = self.by-version."webdrvr"."2.37.0-1";
+  by-spec."websocket-driver".">=0.3.0" =
+    self.by-version."websocket-driver"."0.3.1";
+  by-version."websocket-driver"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "websocket-driver-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.0.tgz";
-        sha1 = "497b258c508b987249ab9b6f79f0c21dd3467c64";
+        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.1.tgz";
+        sha1 = "25f86b4e7ca9d8f8136cd225ffcee71a3d2869cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."websocket-driver".">=0.3.0" or []);
+      (self.nativeDeps."websocket-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  full."when"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."websocket-driver".">=0.3.1" =
+    self.by-version."websocket-driver"."0.3.1";
+  by-spec."when"."~2.2.1" =
+    self.by-version."when"."2.2.1";
+  by-version."when"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "when-2.2.1";
     src = [
       (fetchurl {
@@ -15054,14 +13067,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."when"."~2.2.1" or []);
+      (self.nativeDeps."when" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
   };
-  full."which"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."*" =
+    self.by-version."which"."1.0.5";
+  by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
     src = [
       (fetchurl {
@@ -15070,46 +13085,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."1" or []);
+      (self.nativeDeps."which" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "which" ];
   };
-  full."which"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which"."1.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
-  };
-  full."which"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which"."~1.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
-  };
-  full."winser"."=0.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1" =
+    self.by-version."which"."1.0.5";
+  by-spec."which"."1.0.x" =
+    self.by-version."which"."1.0.5";
+  by-spec."which"."~1.0.5" =
+    self.by-version."which"."1.0.5";
+  by-spec."winser"."=0.0.11" =
+    self.by-version."winser"."0.0.11";
+  by-version."winser"."0.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "winser-0.0.11";
     src = [
       (fetchurl {
@@ -15118,16 +13109,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winser"."=0.0.11" or []);
+      (self.nativeDeps."winser" or []);
     deps = [
-      self.full."sequence"."*"
-      self.full."commander"."*"
+      self.by-version."sequence"."2.2.1"
+      self.by-version."commander"."2.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winser" ];
   };
-  full."winston"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."*" =
+    self.by-version."winston"."0.7.2";
+  by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.2";
     src = [
       (fetchurl {
@@ -15136,45 +13129,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."*" or []);
-    deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
-  };
-  "winston" = self.full."winston"."*";
-  full."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston"."0.6.2" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."winston"."0.6.x" = lib.makeOverridable self.buildNodePackage {
+  "winston" = self.by-version."winston"."0.7.2";
+  by-spec."winston"."0.6.2" =
+    self.by-version."winston"."0.6.2";
+  by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.6.2";
     src = [
       (fetchurl {
@@ -15183,21 +13155,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.6.x" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."request"."2.9.203"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."0.6.x" =
+    self.by-version."winston"."0.6.2";
+  by-spec."winston"."0.7.1" =
+    self.by-version."winston"."0.7.1";
+  by-version."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.1";
     src = [
       (fetchurl {
@@ -15206,21 +13182,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.7.1" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."with"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."0.7.2" =
+    self.by-version."winston"."0.7.2";
+  by-spec."winston"."~0.7.2" =
+    self.by-version."winston"."0.7.2";
+  by-spec."with"."~1.1.0" =
+    self.by-version."with"."1.1.1";
+  by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "with-1.1.1";
     src = [
       (fetchurl {
@@ -15229,15 +13211,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."with"."~1.1.0" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."uglify-js"."2.4.0"
+      self.by-version."uglify-js"."2.4.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
   };
-  full."wordwrap"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wordwrap"."0.0.x" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "wordwrap-0.0.2";
     src = [
       (fetchurl {
@@ -15246,46 +13230,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap"."0.0.x" or []);
+      (self.nativeDeps."wordwrap" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
   };
-  full."wordwrap".">=0.0.1 <0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
+  by-spec."wordwrap".">=0.0.1 <0.1.0" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wrench"."~1.4.3" =
+    self.by-version."wrench"."1.4.4";
+  by-version."wrench"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "wrench-1.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "http://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz";
+        sha1 = "7f523efdb71b0100e77dce834c06523cbe3d54e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap".">=0.0.1 <0.1.0" or []);
+      (self.nativeDeps."wrench" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "wordwrap" ];
+    passthru.names = [ "wrench" ];
   };
-  full."wordwrap"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wordwrap"."~0.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wordwrap" ];
-  };
-  full."ws"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ws"."0.4.x" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.31";
     src = [
       (fetchurl {
@@ -15294,18 +13270,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ws"."0.4.x" or []);
+      (self.nativeDeps."ws" or []);
     deps = [
-      self.full."commander"."~0.6.1"
-      self.full."nan"."~0.3.0"
-      self.full."tinycolor"."0.x"
-      self.full."options".">=0.0.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."nan"."0.3.2"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
   };
-  full."wu"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wu"."*" =
+    self.by-version."wu"."0.1.8";
+  by-version."wu"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "wu-0.1.8";
     src = [
       (fetchurl {
@@ -15314,15 +13292,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wu"."*" or []);
+      (self.nativeDeps."wu" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
   };
-  "wu" = self.full."wu"."*";
-  full."x509"."*" = lib.makeOverridable self.buildNodePackage {
+  "wu" = self.by-version."wu"."0.1.8";
+  by-spec."x509"."*" =
+    self.by-version."x509"."0.0.6";
+  by-version."x509"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "x509-0.0.6";
     src = [
       (fetchurl {
@@ -15331,15 +13311,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."x509"."*" or []);
+      (self.nativeDeps."x509" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
   };
-  "x509" = self.full."x509"."*";
-  full."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+  "x509" = self.by-version."x509"."0.0.6";
+  by-spec."xml2js"."0.2.4" =
+    self.by-version."xml2js"."0.2.4";
+  by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.4";
     src = [
       (fetchurl {
@@ -15348,15 +13330,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.4" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax".">=0.4.2"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xml2js"."0.2.x" =
+    self.by-version."xml2js"."0.2.8";
+  by-version."xml2js"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.8";
     src = [
       (fetchurl {
@@ -15365,48 +13349,58 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.x" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.8";
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.4.0";
+  by-version."xml2js"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "xml2js-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
-        sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.0.tgz";
+        sha1 = "124fc4114b4129c810800ecb2ac86cf25462cb9a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js".">= 0.0.1" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.5"
+      self.by-version."xmlbuilder"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xmlbuilder"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
+  by-spec."xml2js".">=0.1.7" =
+    self.by-version."xml2js"."0.4.0";
+  by-spec."xmlbuilder"."*" =
+    self.by-version."xmlbuilder"."1.0.2";
+  by-version."xmlbuilder"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "xmlbuilder-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-1.0.2.tgz";
+        sha1 = "f3939d049e91c8c8af6165411944380798ed8e82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."*" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xmlbuilder"."0.4.2" =
+    self.by-version."xmlbuilder"."0.4.2";
+  by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlbuilder-0.4.2";
     src = [
       (fetchurl {
@@ -15415,14 +13409,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."0.4.2" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xmlbuilder".">=0.4.2" =
+    self.by-version."xmlbuilder"."1.0.2";
+  by-spec."xmlhttprequest"."1.4.2" =
+    self.by-version."xmlhttprequest"."1.4.2";
+  by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlhttprequest-1.4.2";
     src = [
       (fetchurl {
@@ -15431,14 +13429,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlhttprequest"."1.4.2" or []);
+      (self.nativeDeps."xmlhttprequest" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlhttprequest" ];
   };
-  full."xoauth2"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xoauth2"."~0.1" =
+    self.by-version."xoauth2"."0.1.8";
+  by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "xoauth2-0.1.8";
     src = [
       (fetchurl {
@@ -15447,14 +13447,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xoauth2"."~0.1" or []);
+      (self.nativeDeps."xoauth2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xoauth2" ];
   };
-  full."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yaml"."0.2.3" =
+    self.by-version."yaml"."0.2.3";
+  by-version."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "yaml-0.2.3";
     src = [
       (fetchurl {
@@ -15463,30 +13465,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yaml"."0.2.3" or []);
+      (self.nativeDeps."yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yaml" ];
   };
-  full."ycssmin".">=1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ycssmin-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ycssmin/-/ycssmin-1.0.1.tgz";
-        sha1 = "7cdde8db78cfab00d2901c3b2301e304faf4df16";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ycssmin".">=1.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ycssmin" ];
-  };
-  full."yeoman-generator"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.10.0" =
+    self.by-version."yeoman-generator"."0.10.5";
+  by-version."yeoman-generator"."0.10.5" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.10.5";
     src = [
       (fetchurl {
@@ -15495,101 +13483,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.10.0" or []);
-    deps = [
-      self.full."cheerio"."~0.10.8"
-      self.full."request"."~2.16.6"
-      self.full."rimraf"."~2.1.4"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.1.1"
-      self.full."mkdirp"."~0.3.5"
-      self.full."read"."~1.0.4"
-      self.full."glob"."~3.1.21"
-      self.full."nopt"."~2.1.1"
-      self.full."cli-table"."~0.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yeoman-generator"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.0" or []);
-    deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yeoman-generator"."~0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.1" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.10.8"
+      self.by-version."request"."2.16.6"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."glob"."3.1.21"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."cli-table"."0.2.0"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."0.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yeoman-generator"."~0.13.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.0" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-version."yeoman-generator"."0.13.4" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
@@ -15598,62 +13516,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.2" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.3.1"
-      self.full."iconv-lite"."~0.2.10"
-      self.full."shelljs"."~0.1.4"
-      self.full."findup-sync"."~0.1.2"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.12.4"
+      self.by-version."request"."2.25.0"
+      self.by-version."rimraf"."2.2.4"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.7"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."0.1.9"
+      self.by-version."dargs"."0.1.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."text-table"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
-        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yo"."*" or []);
-    deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
-    ];
-    peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
-    ];
-    passthru.names = [ "yo" ];
-  };
-  "yo" = self.full."yo"."*";
-  full."yo".">=1.0.0-rc.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.1" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yeoman-generator"."~0.13.2" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yo"."*" =
+    self.by-version."yo"."1.0.4";
+  by-version."yo"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "yo-1.0.4";
     src = [
       (fetchurl {
@@ -15662,25 +13558,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yo".">=1.0.0-rc.1.1" or []);
+      (self.nativeDeps."yo" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.2.0"
-      self.full."sudo-block"."~0.2.0"
-      self.full."async"."~0.2.9"
-      self.full."open"."0.0.4"
-      self.full."chalk"."~0.2.0"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."insight"."0.2.0"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."open"."0.0.4"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
+      self.by-version."grunt-cli"."0.1.11"
+      self.by-version."bower"."1.2.8"
     ];
     passthru.names = [ "yo" ];
   };
-  full."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  "yo" = self.by-version."yo"."1.0.4";
+  by-spec."yo".">=1.0.0-rc.1.1" =
+    self.by-version."yo"."1.0.4";
+  by-spec."zeparser"."0.0.5" =
+    self.by-version."zeparser"."0.0.5";
+  by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "zeparser-0.0.5";
     src = [
       (fetchurl {
@@ -15689,14 +13590,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zeparser"."0.0.5" or []);
+      (self.nativeDeps."zeparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "zeparser" ];
   };
-  full."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."zlib-browserify"."0.0.1" =
+    self.by-version."zlib-browserify"."0.0.1";
+  by-version."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "zlib-browserify-0.0.1";
     src = [
       (fetchurl {
@@ -15705,7 +13608,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zlib-browserify"."0.0.1" or []);
+      (self.nativeDeps."zlib-browserify" or []);
     deps = [
     ];
     peerDependencies = [
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1057e3f6f287..6e525d7bd4f5 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -84,6 +84,7 @@
 , "grunt-contrib-cssmin"
 , "grunt-contrib-uglify"
 , "grunt-karma"
+, "grunt-bower-task"
 , "grunt-sed"
 , "karma"
 , "karma-mocha"
@@ -107,4 +108,6 @@
 , "x509"
 , "owl-deepcopy"
 , "meat"
+, "hipache"
+, "posix"
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 8725ce1e9cd7..3daaa262280f 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,10 +1,10 @@
-{ pkgs, stdenv, nodejs, fetchurl, neededNatives, self, generated ? ./node-packages-generated.nix }:
+{ pkgs, stdenv, nodejs, fetchurl, fetchgit, neededNatives, self, generated ? ./node-packages-generated.nix }:
 
-{
+rec {
   nativeDeps = {
-    "node-expat"."*" = [ pkgs.expat ];
-    "rbytes"."*" = [ pkgs.openssl ];
-    "phantomjs"."~1.9" = [ pkgs.phantomjs ];
+    "node-expat" = [ pkgs.expat ];
+    "rbytes" = [ pkgs.openssl ];
+    "phantomjs" = [ pkgs.phantomjs ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
@@ -12,15 +12,19 @@
     inherit (pkgs) runCommand;
   };
 
-  patchLatest = srcAttrs:
-    let src = fetchurl srcAttrs; in pkgs.runCommand src.name {} ''
+  patchSource = fn: srcAttrs:
+    let src = fn srcAttrs; in pkgs.runCommand src.name {} ''
       mkdir unpack
       cd unpack
-      tar xf ${src}
+      unpackFile ${src}
+      chmod -R +w */
       mv */ package 2>/dev/null || true
-      sed -i -e "s/: \"latest\"/: \"*\"/" package/package.json
-      tar cf $out *
+      sed -i -e "s/:\s*\"latest\"/:  \"*\"/" -e "s/:\s*\"\(https\?\|git\(\+\(ssh\|http\|https\)\)\?\):\/\/[^\"]*\"/: \"*\"/" package/package.json
+      mv */ $out
     '';
 
+  # Backwards compat
+  patchLatest = patchSource fetchurl;
+
   /* Put manual packages below here (ideally eventually managed by npm2nix */
-} // import generated { inherit self fetchurl; inherit (pkgs) lib; }
+} // import generated { inherit self fetchurl fetchgit; inherit (pkgs) lib; }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 90058aec2426..05a6aec35a22 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1925,10 +1925,14 @@ rec {
   };
 
   DateManip = buildPerlPackage {
-    name = "DateManip-5.54";
+    name = "Date-Manip-6.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-5.54.tar.gz;
-      sha256 = "0ap2jgqx7yvjsyph9zsvadsih41cj991j3jwgz5261sq7q74y7xn";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.41.tar.gz;
+      sha256 = "f7f654d8a85836bfbb248e21dd2ad39e592aa259f247bf77ef791ff19360de09";
+    };
+    propagatedBuildInputs = [ TestInter ];
+    meta = {
+      description = "Date manipulation routines";
     };
   };
 
@@ -3534,6 +3538,20 @@ rec {
     propagatedBuildInputs = [ TestScript ];
   };
 
+  FinanceQuote = buildPerlPackage {
+    name = "Finance-Quote-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.18.tar.gz;
+      sha256 = "4240faabe0646defd4ec76ca9e111977b9e8060eaec41adeb284eb422a428393";
+    };
+    propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP ];
+    meta = {
+      homepage = http://finance-quote.sourceforge.net/;
+      description = "Get stock and mutual fund quotes from various exchanges";
+      license = "gpl";
+    };
+  };
+
   FontAFM = buildPerlPackage rec {
     name = "Font-AFM-1.20";
     src = fetchurl {
@@ -3800,6 +3818,15 @@ rec {
     buildInputs = [ pkgs.unzip ];
   };
 
+  HTMLElementExtended = buildPerlPackage {
+    name = "HTML-Element-Extended-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz;
+      sha256 = "f3ef1af108f27fef15ebec66479f251ce08aa49bd00b0462c9c80c86b4b6b32b";
+    };
+    propagatedBuildInputs = [ HTMLTree ];
+  };
+
   HTMLFromANSI = buildPerlPackage {
     name = "HTML-FromANSI-2.03";
     src = fetchurl {
@@ -3894,6 +3921,15 @@ rec {
     propagatedBuildInputs = [HTMLParser];
   };
 
+  HTMLTableExtract = buildPerlPackage {
+    name = "HTML-TableExtract-2.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.11.tar.gz;
+      sha256 = "1861d55a2aa1728ef56ea2d08d630b9a008456f1106994e4e49e76f56e4955ee";
+    };
+    propagatedBuildInputs = [ HTMLElementExtended HTMLParser ];
+  };
+
   HTMLTagset = buildPerlPackage rec {
     name = "HTML-Tagset-3.20";
     src = fetchurl {
@@ -7591,7 +7627,7 @@ rec {
   };
 
   Switch = buildPerlPackage rec {
-    name = "Switch";
+    name = "Switch-2.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz";
       sha256 = "1n7rgp1q3zwglv1pka3bnhq5g41334lwc53g31w6g44my8kqz31h";
@@ -8568,6 +8604,18 @@ rec {
     };
   };
 
+  TestInter = buildPerlPackage {
+    name = "Test-Inter-1.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.05.tar.gz;
+      sha256 = "bda95ef503f1c1b39a5cd1ea686d18a67a63b56a8eb458f0614fc2acc51f7988";
+    };
+    meta = {
+      description = "Framework for more readable interactive test scripts";
+      license = "perl";
+    };
+  };
+
   TextMarkdown = buildPerlPackage rec {
     name = "Text-Markdown-1.0.26";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3dc6a36bb7e0..baf5003ccda3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -126,9 +126,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     inherit python buildPythonPackage pygobject pycairo;
   };
 
-  # A patched version of buildout, useful for buildout based development on Nix
-  zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { };
-
   # packages defined here
 
   aafigure = buildPythonPackage rec {
@@ -162,18 +159,19 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   actdiag = buildPythonPackage rec {
-    name = "actdiag-0.4.3";
+    name = "actdiag-0.5.1";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/a/actdiag/${name}.tar.gz";
-      md5 = "428aaab849f04668fa12388b964a56ea";
+      md5 = "171c47bc1f70e5fadfffd9df0c3157be";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
     propagatedBuildInputs = [ blockdiag ];
 
-    # One test fails, because of missing simple.diag input file
+    # One test fails:
+    #   UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128)
     doCheck = false;
 
     meta = with stdenv.lib; {
@@ -187,20 +185,29 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   afew = buildPythonPackage rec {
-    rev = "6bb3915636aaf86f046a017ffffd9a4ef395e199";
+    rev = "d5d0ddeae0c5758a3f6cf5de77913804d88e906a";
     name = "afew-1.0_${rev}";
 
     src = fetchurl {
       url = "https://github.com/teythoon/afew/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384";
+      sha256 = "0al7hz994sh0yrpixqafr25acglvniq4zsbs9aj89zr7yzq1g1j0";
     };
 
-    propagatedBuildInputs = [ pythonPackages.notmuch pkgs.dbacl ];
+    buildInputs = [ pkgs.dbacl ];
+
+    propagatedBuildInputs = [
+      pythonPackages.notmuch
+      pythonPackages.subprocess32
+      pythonPackages.chardet
+    ];
 
-    # error: invalid command 'test'
     doCheck = false;
 
+    preConfigure = ''
+      substituteInPlace afew/DBACL.py --replace "'dbacl'" "'${pkgs.dbacl}/bin/dbacl'"
+    '';
+
     postInstall = ''
       wrapProgram $out/bin/afew \
         --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib
@@ -289,13 +296,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   alot = buildPythonPackage rec {
-    rev = "0711cf8efaf1a4cca24617c3406210a415006457";
-    name = "alot-0.3.4_${rev}";
+    rev = "fa10bfc2de105da819c8e11e913a44c3c1ac60a4";
+    name = "alot-0.3.5_${rev}";
 
     src = fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "1rxkx9cjajsv9x1dl4xp1r3vr0kb66sglxaqzjiwaknqzahmmji5";
+      sha256 = "0zd4jiwxqb7m672xkr5jcqkfpk9jx1kmkllyvjjvswkgjjqdrhax";
     };
 
     # error: invalid command 'test'
@@ -567,16 +574,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   blockdiag = buildPythonPackage rec {
-    name = "blockdiag-1.2.4";
+    name = "blockdiag-1.3.2";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/b/blockdiag/${name}.tar.gz";
-      md5 = "244334f60cc10b0cb73b5df5279bcdd1";
+      md5 = "602a8750f312eeee84d6d138055dfae7";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ pil webcolors funcparserlib ];
+    propagatedBuildInputs = [ pillow webcolors funcparserlib ];
 
     # One test fails:
     #   ...
@@ -716,7 +723,26 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   buildout = zc_buildout;
   buildout152 = zc_buildout152;
 
+  # A patched version of buildout, useful for buildout based development on Nix
+  zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { };
+
   zc_buildout = zc_buildout171;
+  zc_buildout2 = zc_buildout221;
+  zc_buildout221 = buildPythonPackage rec {
+    name = "zc.buildout-2.2.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz";
+      md5 = "476a06eed08506925c700109119b6e41";
+    };
+
+   meta = {
+      homepage = "http://www.buildout.org";
+      description = "A software build and configuration system";
+      license = pkgs.lib.licenses.zpt21;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
   zc_buildout171 = buildPythonPackage rec {
     name = "zc.buildout-1.7.1";
 
@@ -918,11 +944,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   colander = buildPythonPackage rec {
-    name = "colander-1.0a5";
+    name = "colander-1.0b1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz";
-      md5 = "569dea523561f5d94338ef9d9a98d249";
+      md5 = "89f2cf4b5c87d43f7917d6a0d4872e6a";
     };
 
     propagatedBuildInputs = [ pythonPackages.translationstring ];
@@ -1255,11 +1281,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   deform = buildPythonPackage rec {
-    name = "deform-0.9.8";
+    name = "deform-0.9.9";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
-      sha256 = "15500rm33n6kxsdpqyn3ih25y3rvab4nxy2yzsj2754kdlhlyjpx";
+      sha256 = "0ympsjhxz5v8h4hi1mv811h064221bh26d68l9hv1x6m7sxbxpd0";
     };
 
     buildInputs = [] ++ optional isPy26 unittest2;
@@ -1581,11 +1607,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyramid = buildPythonPackage rec {
-    name = "pyramid-1.4.3";
+    name = "pyramid-1.4.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz";
-      md5 = "28fabf42cf585ecec7a57b5acc1174e3";
+      md5 = "321731aad69e9788b7819e257a50be1a";
     };
 
     buildInputs = [
@@ -1655,11 +1681,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyramid_exclog = buildPythonPackage rec {
-    name = "pyramid_exclog-0.6";
+    name = "pyramid_exclog-0.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz";
-      md5 = "5c18706f5500605416afff311120c933";
+      md5 = "05df86758b0d30ee6f8339ff36cef7a0";
     };
 
     propagatedBuildInputs = [ pyramid ];
@@ -1883,11 +1909,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   repoze_lru = buildPythonPackage rec {
-    name = "repoze.lru-0.4";
+    name = "repoze.lru-0.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz";
-      md5 = "9f6ab7a4ff871ba795cadf56c20fb0f0";
+      md5 = "2c3b64b17a8e18b405f55d46173e14dd";
     };
 
     meta = {
@@ -1941,11 +1967,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zope_deprecation = buildPythonPackage rec {
-    name = "zope.deprecation-3.5.0";
+    name = "zope.deprecation-3.5.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz";
-      md5 = "1e7db82583013127aab3e7e790b1f2b6";
+      md5 = "836cfea5fad548cd5a0d9af1300ec05e";
     };
 
     buildInputs = [ zope_testing ];
@@ -2119,13 +2145,33 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-  django = buildPythonPackage rec {
+  django = django_1_6;
+  
+  django_1_6 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.4.1";
+    version = "1.6";
 
     src = fetchurl {
-      url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz";
-      sha256 = "16s0anvpaccbqmdrhl71z73k0dy2sl166nnc2fbd5lshlgmj13ad";
+      url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz";
+      sha256 = "165bd5wmv2an9h365d12k0112z0l375dxsy7dlxa7r8kyg4gvnfk";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
+
+  django_1_5 = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.5.5";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz";
+      sha256 = "07fp8ycx76q2nz96mxld1svvpfsrivjgpql0mr20r7gwzcfrrrka";
     };
 
     # error: invalid command 'test'
@@ -2137,6 +2183,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  django_1_4 = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.4.10";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz";
+      sha256 = "1pi9mi14f19xlp29j2c8dz8rs749c1m41d9j1i0b3nlz0cy0h7rx";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
 
   django_1_3 = buildPythonPackage rec {
     name = "Django-1.3.7";
@@ -2416,14 +2479,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   flake8 = buildPythonPackage (rec {
-    name = "flake8-2.0";
+    name = "flake8-2.1.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
-      md5 = "176c6b3613777122721db181560aa1e3";
+      md5 = "cf326cfb88a1db6c5b29a3a6d9efb257";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = [ nose mock ];
     propagatedBuildInputs = [ pyflakes pep8 mccabe ];
 
     # 3 failing tests
@@ -2564,6 +2627,26 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  fs = buildPythonPackage rec {
+    name = "fs-0.4.0";
+
+    src = fetchurl {
+      url    = "https://pyfilesystem.googlecode.com/files/fs-0.4.0.tar.gz";
+      sha256 = "1fk7ilwd01qgj4anw9k1vjp0amxswzzxbp6bk4nncp7210cxp3vz";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Filesystem abstraction";
+      homepage    = http://pypi.python.org/pypi/fs;
+      license     = licenses.bsd3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    # Fails: "error: invalid command 'test'"
+    doCheck = false;
+  };
+
   fuse = buildPythonPackage (rec {
     baseName = "fuse";
     version = "0.2.1";
@@ -2724,6 +2807,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  goobook = buildPythonPackage rec {
+    name = "goobook-1.5";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz";
+      sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Search your google contacts from the command-line or mutt.";
+      homepage    = "https://pypi.python.org/pypi/goobook";
+      license     = licenses.gpl3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    propagatedBuildInputs = [ distribute gdata hcs_utils keyring simplejson ];
+  };
 
   greenlet = buildPythonPackage rec {
     name = "greenlet-0.3.1";
@@ -2762,6 +2863,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  hcs_utils = buildPythonPackage rec {
+    name = "hcs_utils-1.3";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/h/hcs_utils/hcs_utils-1.3.tar.gz";
+      sha256 = "0mcjfc0ssil86i74dg323z7mikkw1xazqyr92347x1y33zyffgxh";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Library collecting some useful snippets";
+      homepage    = https://pypi.python.org/pypi/hcs_utils/1.3;
+      license     = licenses.isc;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+  };
+
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
@@ -2899,6 +3017,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+
+  ipaddr = buildPythonPackage {
+    name = "ipaddr-2.1.7";
+    src = fetchurl {
+      url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.7.tar.gz";
+      md5 = "71a2be9f1d528d9a945ef555de312685";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "Google's IP address manipulation library";
+      homepage = http://code.google.com/p/ipaddr-py/;
+      license = pkgs.lib.licenses.asl20;
+    };
+  };
+
   ipdb = buildPythonPackage {
     name = "ipdb-0.7";
     src = fetchurl {
@@ -2919,11 +3055,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   jedi = buildPythonPackage (rec {
-    name = "jedi-0.6.0";
+    name = "jedi-0.7.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz";
-      sha256 = "0k27nai69ypi9whipg45s1myqr477wj7jaryqv37bqqij4jc85hg";
+      sha256 = "1afs06k1j6raasdps1fvdqywyk3if1qchdpl4mivnliqzxqd1w01";
     };
 
     meta = {
@@ -2974,6 +3110,25 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  keyring = buildPythonPackage rec {
+    name = "keyring-3.2";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/k/keyring/${name}.zip";
+      sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Store and access your passwords safely";
+      homepage    = "https://pypi.python.org/pypi/keyring";
+      license     = licenses.psfl;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    buildInputs =
+      [ pkgs.unzip fs gdata python_keyczar mock pyasn1 pycrypto pytest ];
+  };
 
   pylast = buildPythonPackage rec {
     name = "pylast-${version}";
@@ -3442,6 +3597,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  mpmath = buildPythonPackage rec {
+    name = "mpmath-0.17";
+
+    src = fetchurl {
+      url    = "https://mpmath.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh";
+    };
+
+    meta = with stdenv.lib; {
+      homepage    = http://mpmath.googlecode.com;
+      description = "A pure-Python library for multiprecision floating arithmetic";
+      license     = licenses.bsd3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+  };
+
+
   mrbob = buildPythonPackage rec {
     name = "mrbob-${version}";
     version = "0.1a9";
@@ -3866,11 +4042,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   nwdiag = buildPythonPackage rec {
-    name = "nwdiag-0.9.4";
+    name = "nwdiag-1.0.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/n/nwdiag/${name}.tar.gz";
-      md5 = "199b22f66ec3012c3999177d376a3842";
+      md5 = "d81581a028840f8f7362ab21bf73e941";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
@@ -4218,11 +4394,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-2.1.0";
+    name = "Pillow-2.2.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip";
-      md5 = "ec630d8ae15d4a3c4ae7b7efdeac8200";
+      md5 = "d1d20d3db5d1ab312da0951ff061e6bf";
     };
 
     buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ];
@@ -4348,6 +4524,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   protobuf = buildPythonPackage rec {
     inherit (pkgs.protobuf) name src;
 
+    buildPhase = ''
+      python setup.py build
+    '';
+
     propagatedBuildInputs = [pkgs.protobuf];
     sourceRoot = "${name}/python";
 
@@ -4781,11 +4961,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   pyodbc = buildPythonPackage rec {
-    name = "pyodbc-3.0.6";
+    name = "pyodbc-3.0.7";
 
     src = fetchurl {
       url = "https://pyodbc.googlecode.com/files/${name}.zip";
-      sha256 = "0v9nymllw5zq5294rqp8ip3l0g6l3l3mljwhxn5jajyzxlnz39z5";
+      sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq";
     };
 
     buildInputs = [ pkgs.unzip pkgs.libiodbc ];
@@ -4888,6 +5068,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+  python_keyczar = buildPythonPackage rec {
+    name = "python-keyczar-0.71c";
+
+    src = fetchurl {
+      url    = "https://pypi.python.org/packages/source/p/python-keyczar/${name}.tar.gz";
+      sha256 = "18mhiwqq6vp65ykmi8x3i5l3gvrvrrr8z2kv11z1rpixmyr7sw1p";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Toolkit for safe and simple cryptography";
+      homepage    = https://pypi.python.org/pypi/python-keyczar;
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    buildInputs = [ pyasn1 pycrypto ];
+  };
 
   pyudev = buildPythonPackage rec {
     name = "pyudev-${version}";
@@ -5446,6 +5644,67 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+
+  robotframework = buildPythonPackage rec {
+    version = "2.8.1";
+    name = "robotframework-${version}";
+
+    src = fetchurl {
+      url = "https://robotframework.googlecode.com/files/${name}.tar.gz";
+      sha256 = "04zwjri1j5py3fpbhy1xlc18bhbmdm2gbd58fwa2jnhmrha5dgnw";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Generic test automation framework";
+      homepage = http://robotframework.org/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
+  robotframework-ride = buildPythonPackage rec {
+    version = "1.2.2";
+    name = "robotframework-ride-${version}";
+
+    src = fetchurl {
+      url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1yfvl0hdjjkwk90w3f3i23dxxk3yiyv4pbvnp4l7yd6cmxsia8f3";
+    };
+
+    propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ];
+
+    # Stop copying (read-only) permission bits from the nix store into $HOME,
+    # because that leads to this:
+    #   IOError: [Errno 13] Permission denied: '/home/bfo/.robotframework/ride/settings.cfg'
+    postPatch = ''
+      sed -i "s|shutil\.copy(|shutil.copyfile(|" src/robotide/preferences/settings.py
+    '';
+
+    # ride_postinstall.py checks that needed deps are installed and creates a
+    # desktop shortcut. We don't really need it and it clutters up bin/ so
+    # remove it.
+    postInstall = ''
+      rm -f "$out/bin/ride_postinstall.py"
+    '';
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Light-weight and intuitive editor for Robot Framework test case files";
+      homepage = https://code.google.com/p/robotframework-ride/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
   rope = buildPythonPackage rec {
     version = "0.9.4";
     name = "rope-${version}";
@@ -5521,20 +5780,20 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   seqdiag = buildPythonPackage rec {
-    name = "seqdiag-0.8.2";
+    name = "seqdiag-0.9.0";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/s/seqdiag/${name}.tar.gz";
-      md5 = "61b3da29b5efaa89701b4db6d2d4d5fa";
+      md5 = "92946555ce219df18002e6c88b4055d3";
     };
 
     buildInputs = [ pep8 nose unittest2 docutils ];
 
     propagatedBuildInputs = [ blockdiag ];
 
-    # Some tests fail (because of missing input files?):
+    # Tests fail:
     #   ...
-    #   IOError: [Errno 2] No such file or directory: '/tmp/nix-build-python2.7-seqdiag-0.8.2.drv-0/seqdiag-0.8.2/src/seqdiag/tests/diagrams/separators.diag'
+    #   ERROR: Failure: OSError ([Errno 2] No such file or directory: '/tmp/nix-build-python2.7-seqdiag-0.9.0.drv-0/seqdiag-0.9.0/src/seqdiag/tests/diagrams/')
     doCheck = false;
 
     meta = with stdenv.lib; {
@@ -5938,6 +6197,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  subprocess32 = buildPythonPackage rec {
+    name = "subprocess32-3.2.5rc1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz";
+      md5 = "f5f46106368be6336b54af95d048fea9";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = "https://pypi.python.org/pypi/subprocess32";
+      description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x.";
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
+
 
   sphinx = buildPythonPackage (rec {
     name = "Sphinx-1.1.3";
@@ -6346,11 +6622,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   turses = buildPythonPackage (rec {
-    name = "turses-0.2.13";
+    name = "turses-0.2.19";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
-      sha256 = "0sygm40z04zifcfqwby8wwwnj3i1bpl41r7xgnjcipxwirjmnp2k";
+      sha256 = "1g58ahxpaf0wqn6gg5a2n3fkvc3vbx6jpylwqncxnl16qcczmjxn";
     };
 
     propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
@@ -6369,11 +6645,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   });
 
   tweepy = buildPythonPackage (rec {
-    name = "tweepy-2.0";
+    name = "tweepy-2.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
-      sha256 = "1b95xcw11b5871gd4br78hxbvcq8y9f0i0sqga85dgg9hnmvdcx0";
+      sha256 = "1irzwfva7g1k7db708mlxy2qribd6938zwn5xzjzn6i43j5mjysm";
     };
 
     meta = {
@@ -6507,11 +6783,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   waitress = buildPythonPackage rec {
-    name = "waitress-0.8.5";
+    name = "waitress-0.8.7";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz";
-      md5 = "7a3094d812c0dffb948d1334ef5fd56f";
+      md5 = "714f3d458d82a47f12fb168460de8366";
     };
 
     doCheck = false;
@@ -7205,11 +7481,11 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   zope_sqlalchemy = buildPythonPackage rec {
-    name = "zope.sqlalchemy-0.7.2";
+    name = "zope.sqlalchemy-0.7.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
-      md5 = "b654e5d144ed141e13b42591a21a4868";
+      md5 = "8b317b41244fc2e67f2f286890ba59a0";
     };
 
     buildInputs = [ pkgs.unzip sqlalchemy zope_testing zope_interface setuptools ];
@@ -7398,10 +7674,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   tissue = buildPythonPackage rec {
-    name = "tissue-0.7";
+    name = "tissue-0.9.2";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz";
-      md5 = "c9f3772407eb7499a949daaa9b859fdf";
+      md5 = "87dbcdafff41bfa1b424413f79aa9153";
     };
 
     buildInputs = [ nose ];
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 3280df09dd54..e2f5309ced33 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -119,14 +119,12 @@ rec {
 
   # May fail as much as it wishes, we will catch the error.
   processPackage = attrSet:
-    if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
+    if attrSet.recurseForDerivations or false then
       packagesWithMetaPlatform attrSet
-    else if attrSet ? recurseForRelease && attrSet.recurseForRelease then
+    else if attrSet.recurseForRelease or false then
       packagesWithMetaPlatform attrSet
     else
-      if attrSet ? meta && attrSet.meta ? platforms
-        then attrSet.meta.platforms
-        else [];
+      attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
 
 
   /* Common platform groups on which to test packages. */
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index a3d42f6b68b6..7963277d94a6 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -140,7 +140,6 @@ let
       gphoto2 = linux;
       gpm = linux;
       gprolog = linux;
-      gpsbabel = all;
       gpscorrelate = linux;
       gpsd = linux;
       gqview = gtkSupported;
@@ -212,7 +211,6 @@ let
       mysql = linux;
       mysql51 = linux;
       mysql55 = linux;
-      namazu = all;
       nano = allBut "i686-cygwin";
       ncat = linux;
       netcat = all;