about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix88
-rw-r--r--pkgs/applications/audio/easytag/default.nix9
-rw-r--r--pkgs/applications/audio/flac/default.nix2
-rw-r--r--pkgs/applications/audio/fldigi/default.nix4
-rw-r--r--pkgs/applications/audio/gpodder/default.nix38
-rw-r--r--pkgs/applications/audio/guitarix/default.nix4
-rw-r--r--pkgs/applications/audio/ingen/default.nix6
-rw-r--r--pkgs/applications/audio/moc/default.nix14
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rwxr-xr-xpkgs/applications/audio/mpc/default.nix10
-rw-r--r--pkgs/applications/audio/musescore/default.nix33
-rwxr-xr-xpkgs/applications/audio/ncmpc/default.nix9
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix7
-rw-r--r--pkgs/applications/audio/opusfile/default.nix7
-rw-r--r--pkgs/applications/audio/pamixer/default.nix2
-rw-r--r--pkgs/applications/audio/snd/default.nix20
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix6
-rw-r--r--pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--pkgs/applications/editors/atom/default.nix43
-rw-r--r--pkgs/applications/editors/eclipse/default.nix17
-rw-r--r--pkgs/applications/editors/ed/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-modes/cask/default.nix47
-rw-r--r--pkgs/applications/editors/emacs-modes/dash/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/ensime/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/s/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/scala-mode/v2.nix6
-rw-r--r--pkgs/applications/editors/idea/default.nix243
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix115
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix4
-rw-r--r--pkgs/applications/editors/scite/default.nix2
-rw-r--r--pkgs/applications/editors/sublime3/default.nix12
-rw-r--r--pkgs/applications/editors/vanubi/default.nix28
-rw-r--r--pkgs/applications/editors/zed/default.nix29
-rw-r--r--pkgs/applications/editors/zed/node.nix921
-rw-r--r--pkgs/applications/editors/zile/default.nix16
-rw-r--r--pkgs/applications/gis/qgis/default.nix (renamed from pkgs/applications/misc/qgis/default.nix)0
-rw-r--r--pkgs/applications/gis/saga/default.nix24
-rw-r--r--pkgs/applications/graphics/freecad/default.nix2
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix30
-rw-r--r--pkgs/applications/graphics/k3d/default.nix24
-rw-r--r--pkgs/applications/graphics/k3d/k3d_gtkmm224.patch40
-rw-r--r--pkgs/applications/graphics/k3d/libpng-1.4.patch53
-rw-r--r--pkgs/applications/graphics/kgraphviewer/default.nix21
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix2
-rw-r--r--pkgs/applications/graphics/ocrad/default.nix18
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix9
-rw-r--r--pkgs/applications/graphics/openscad/default.nix3
-rw-r--r--pkgs/applications/graphics/panotools/default.nix4
-rw-r--r--pkgs/applications/graphics/photivo/default.nix2
-rw-r--r--pkgs/applications/graphics/processing/default.nix21
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix2
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix45
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix4
-rw-r--r--pkgs/applications/graphics/xournal/default.nix12
-rw-r--r--pkgs/applications/misc/arbtt/default.nix4
-rw-r--r--pkgs/applications/misc/batti/default.nix45
-rw-r--r--pkgs/applications/misc/bitcoin/altcoins.nix47
-rw-r--r--pkgs/applications/misc/bitcoin/dogecoin.nix71
-rw-r--r--pkgs/applications/misc/blender/default.nix2
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/camlistore/default.nix6
-rw-r--r--pkgs/applications/misc/cura/default.nix12
-rw-r--r--pkgs/applications/misc/curaengine/default.nix37
-rw-r--r--pkgs/applications/misc/fme/default.nix33
-rw-r--r--pkgs/applications/misc/freicoin/default.nix2
-rw-r--r--pkgs/applications/misc/galculator/default.nix10
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix8
-rw-r--r--pkgs/applications/misc/k3b/default.nix6
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/2.0.nix6
-rw-r--r--pkgs/applications/misc/lilyterm/default.nix10
-rw-r--r--pkgs/applications/misc/monero/default.nix37
-rw-r--r--pkgs/applications/misc/namecoin/default.nix37
-rw-r--r--pkgs/applications/misc/namecoin/qt.nix33
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix31
-rw-r--r--pkgs/applications/misc/openbox-menu/default.nix24
-rw-r--r--pkgs/applications/misc/openbox-menu/with-svg.patch11
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix6
-rw-r--r--pkgs/applications/misc/pstree/default.nix2
-rw-r--r--pkgs/applications/misc/redshift/default.nix4
-rw-r--r--pkgs/applications/misc/roxterm/default.nix62
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix2
-rw-r--r--pkgs/applications/misc/spacefm/default.nix4
-rw-r--r--pkgs/applications/misc/synergy/default.nix6
-rw-r--r--pkgs/applications/misc/termite/default.nix26
-rw-r--r--pkgs/applications/misc/tilda/default.nix3
-rw-r--r--pkgs/applications/misc/twmn/default.nix2
-rw-r--r--pkgs/applications/misc/vym/default.nix8
-rw-r--r--pkgs/applications/misc/xiphos/default.nix57
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/dillo/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix362
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb4
-rw-r--r--pkgs/applications/networking/browsers/firefox/30.nix211
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix44
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix2
-rw-r--r--pkgs/applications/networking/copy-com/default.nix58
-rw-r--r--pkgs/applications/networking/davmail/default.nix6
-rw-r--r--pkgs/applications/networking/dropbox/default.nix7
-rw-r--r--pkgs/applications/networking/ids/daq/default.nix1
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix1
-rw-r--r--pkgs/applications/networking/ike/default.nix (renamed from pkgs/applications/ike/default.nix)0
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram-cli/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix4
-rw-r--r--pkgs/applications/networking/linssid/default.nix34
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix18
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix28
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix225
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb5
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix5
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix10
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix43
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix46
-rw-r--r--pkgs/applications/networking/sync/backintime/default.nix78
-rw-r--r--pkgs/applications/networking/sync/backintime/gnome.nix37
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix26
-rw-r--r--pkgs/applications/office/abiword/default.nix29
-rw-r--r--pkgs/applications/office/ledger/3.0.nix8
-rw-r--r--pkgs/applications/office/libreoffice/default.nix8
-rw-r--r--pkgs/applications/office/scribus/default.nix4
-rw-r--r--pkgs/applications/office/zim/default.nix103
-rw-r--r--pkgs/applications/office/zotero/default.nix6
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix2
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix6
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix13
-rw-r--r--pkgs/applications/science/logic/ott/default.nix43
-rw-r--r--pkgs/applications/science/logic/stp/default.nix2
-rw-r--r--pkgs/applications/science/math/fricas/default.nix2
-rw-r--r--pkgs/applications/science/math/mathematica/9.nix124
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix28
-rw-r--r--pkgs/applications/science/math/pari/default.nix9
-rw-r--r--pkgs/applications/science/math/pcalc/default.nix26
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix6
-rw-r--r--pkgs/applications/science/misc/golly/default.nix60
-rw-r--r--pkgs/applications/science/misc/golly/default.upstream4
-rw-r--r--pkgs/applications/science/misc/golly/src-for-default.nix9
-rw-r--r--pkgs/applications/science/misc/golly/src-info-for-default.nix5
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix5
-rw-r--r--pkgs/applications/version-management/gource/default.nix5
-rw-r--r--pkgs/applications/version-management/meld/default.nix2
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix64
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/aegisub/default.nix14
-rw-r--r--pkgs/applications/video/cmplayer/default.nix80
-rw-r--r--pkgs/applications/video/cmplayer/fix-gcc48.patch22
-rw-r--r--pkgs/applications/video/gnash/default.nix2
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix3
-rw-r--r--pkgs/applications/video/mplayer2/default.nix7
-rw-r--r--pkgs/applications/video/mpv/default.nix17
-rw-r--r--pkgs/applications/video/omxplayer/default.nix4
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix2
-rw-r--r--pkgs/applications/video/wxcam/default.nix51
-rw-r--r--pkgs/applications/video/xbmc/default.nix1
-rw-r--r--pkgs/applications/video/xvidcap/default.nix11
-rw-r--r--pkgs/applications/virtualization/8086tiny/default.nix3
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix17
-rw-r--r--pkgs/applications/virtualization/docker/default.nix8
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix1
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix9
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/window-managers/afterstep/default.nix42
-rw-r--r--pkgs/applications/window-managers/bar/default.nix4
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/fluxbox/default.nix19
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix8
-rw-r--r--pkgs/applications/window-managers/ratpoison/default.nix36
-rw-r--r--pkgs/applications/window-managers/trayer/default.nix2
-rw-r--r--pkgs/applications/window-managers/windowmaker/default.nix19
-rw-r--r--pkgs/build-support/agda/default.nix95
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/default.nix207
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/destroy.sh.in5
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/init.sh.in3
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/mount.sh.in3
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/umount.sh.in2
-rw-r--r--pkgs/build-support/fetchgit/default.nix6
-rw-r--r--pkgs/build-support/gcc-wrapper/gcc-wrapper.sh1
-rw-r--r--pkgs/build-support/grsecurity/default.nix2
-rw-r--r--pkgs/build-support/upstream-updater/update-walker-service-specific.sh4
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh10
-rw-r--r--pkgs/build-support/vm/default.nix2
-rw-r--r--pkgs/build-support/vm/rpm/rpm-closure.pl2
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/default.nix2
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/documentation/pthread-man-pages/default.nix2
-rw-r--r--pkgs/data/fonts/arkpandora/default.nix1
-rw-r--r--pkgs/data/fonts/baekmuk-ttf/default.nix29
-rw-r--r--pkgs/data/fonts/proggyfonts/default.nix40
-rw-r--r--pkgs/data/fonts/stix-otf/default.nix30
-rw-r--r--pkgs/data/fonts/symbola/default.nix2
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix4
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix4
-rw-r--r--pkgs/data/misc/miscfiles/default.nix9
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/desktops/e19/default.nix26
-rw-r--r--pkgs/desktops/e19/econnman.nix23
-rwxr-xr-xpkgs/desktops/e19/efl-setup-hook.sh8
-rw-r--r--pkgs/desktops/e19/efl.nix33
-rw-r--r--pkgs/desktops/e19/elementary.nix20
-rw-r--r--pkgs/desktops/e19/emotion.nix20
-rw-r--r--pkgs/desktops/e19/enlightenment.nix38
-rw-r--r--pkgs/desktops/e19/evas.nix17
-rw-r--r--pkgs/desktops/e19/terminology.nix23
-rw-r--r--pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix50
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/empathy/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch72
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/tracker/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch214
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/geary/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix3
-rw-r--r--pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch36
-rw-r--r--pkgs/desktops/kde-4.12/kde-workspace.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/pykde4.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kig.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/rocs.nix6
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix5
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kget.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdenetwork/kopete.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdepim-runtime.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdepim.nix6
-rw-r--r--pkgs/desktops/kde-4.12/kdepimlibs.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdeplasma-addons.nix4
-rw-r--r--pkgs/desktops/kde-4.12/kdesdk/umbrello.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kgpg.nix2
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix2
-rw-r--r--pkgs/desktops/kde-4.12/support/akonadi/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix12
-rw-r--r--pkgs/development/compilers/agda/default.nix2
-rw-r--r--pkgs/development/compilers/agda/stdlib.nix31
-rw-r--r--pkgs/development/compilers/ats2/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix26
-rw-r--r--pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch28
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix18
-rw-r--r--pkgs/development/compilers/gcl/default.nix6
-rw-r--r--pkgs/development/compilers/gforth/default.nix10
-rw-r--r--pkgs/development/compilers/go/1.1.nix2
-rw-r--r--pkgs/development/compilers/go/1.2.nix2
-rw-r--r--pkgs/development/compilers/go/1.3.nix33
-rw-r--r--pkgs/development/compilers/gwydion-dylan/binary-builder.sh9
-rw-r--r--pkgs/development/compilers/gwydion-dylan/binary.nix10
-rw-r--r--pkgs/development/compilers/gwydion-dylan/builder.sh8
-rw-r--r--pkgs/development/compilers/gwydion-dylan/default.nix13
-rw-r--r--pkgs/development/compilers/hhvm/default.nix6
-rw-r--r--pkgs/development/compilers/idris/default.nix5
-rw-r--r--pkgs/development/compilers/lessc/default.nix11
-rw-r--r--pkgs/development/compilers/mezzo/default.nix29
-rw-r--r--pkgs/development/compilers/nvidia-cg-toolkit/default.nix13
-rw-r--r--pkgs/development/compilers/ocaml/4.02.0.nix74
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix6
-rw-r--r--pkgs/development/compilers/orc/default.nix12
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch32
-rw-r--r--pkgs/development/compilers/rustc/head.nix20
-rw-r--r--pkgs/development/compilers/rustc/local_stage0.HEAD.patch16
-rw-r--r--pkgs/development/compilers/sbcl/1.2.0.nix78
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/interpreters/acl2/default.nix4
-rw-r--r--pkgs/development/interpreters/chibi/default.nix37
-rw-r--r--pkgs/development/interpreters/elixir/default.nix6
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix9
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix15
-rw-r--r--pkgs/development/interpreters/falcon/default.nix41
-rw-r--r--pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix32
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix10
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix16
-rw-r--r--pkgs/development/interpreters/lua-5/sec.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/zip.nix28
-rw-r--r--pkgs/development/interpreters/lua-5/zip.patch23
-rw-r--r--pkgs/development/interpreters/octave/default.nix3
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix6
-rw-r--r--pkgs/development/interpreters/php/5.4.nix4
-rw-r--r--pkgs/development/interpreters/pypy/2.4/default.nix (renamed from pkgs/development/interpreters/pypy/2.3/default.nix)9
-rw-r--r--pkgs/development/interpreters/pypy/2.4/setup-hook.sh (renamed from pkgs/development/interpreters/pypy/2.3/setup-hook.sh)4
-rw-r--r--pkgs/development/interpreters/regina/default.nix12
-rw-r--r--pkgs/development/interpreters/regina/default.upstream5
-rw-r--r--pkgs/development/interpreters/ruby/config.nix6
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix862
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix2
-rw-r--r--pkgs/development/interpreters/ruby/ruby-1.8.7.nix94
-rw-r--r--pkgs/development/interpreters/ruby/ruby-1.9.3.nix112
-rw-r--r--pkgs/development/interpreters/ruby/ruby-18.nix63
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix80
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.0.nix (renamed from pkgs/development/interpreters/ruby/ruby-2.0.nix)43
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.0.nix110
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.1.nix109
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.2.nix56
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix8
-rw-r--r--pkgs/development/interpreters/ruby/rvm-patchsets.nix8
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix7
-rw-r--r--pkgs/development/interpreters/self/default.nix2
-rw-r--r--pkgs/development/libraries/CGAL/default.nix2
-rw-r--r--pkgs/development/libraries/LASzip/default.nix21
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix12
-rw-r--r--pkgs/development/libraries/agda/AgdaSheaves/default.nix23
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/contextfile213
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/default.nix25
-rw-r--r--pkgs/development/libraries/agda/aaron-stump-stdlib/default.nix26
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/default.nix23
-rw-r--r--pkgs/development/libraries/agda/bitvector/default.nix23
-rw-r--r--pkgs/development/libraries/agda/categories/default.nix23
-rw-r--r--pkgs/development/libraries/agda/pretty/contextfile7
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix25
-rw-r--r--pkgs/development/libraries/apr-util/default.nix5
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix2
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix2
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix4
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix6
-rw-r--r--pkgs/development/libraries/boost/1.55.nix4
-rw-r--r--pkgs/development/libraries/boost/1.56.nix146
-rw-r--r--pkgs/development/libraries/boost/header-only-wrapper.nix30
-rw-r--r--pkgs/development/libraries/botan/default.nix5
-rw-r--r--pkgs/development/libraries/botan/unstable.nix5
-rw-r--r--pkgs/development/libraries/cimg/builder.sh12
-rw-r--r--pkgs/development/libraries/cimg/default.nix26
-rw-r--r--pkgs/development/libraries/cloog/default.nix2
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix4
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix5
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix10
-rw-r--r--pkgs/development/libraries/directfb/src-for-default.nix10
-rw-r--r--pkgs/development/libraries/dotconf/default.nix22
-rw-r--r--pkgs/development/libraries/exempi/default.nix7
-rw-r--r--pkgs/development/libraries/fcgi/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix5
-rw-r--r--pkgs/development/libraries/ffmpeg/2.3.x.nix108
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix4
-rw-r--r--pkgs/development/libraries/flite/default.nix9
-rw-r--r--pkgs/development/libraries/fribidi/default.nix9
-rw-r--r--pkgs/development/libraries/ganv/default.nix13
-rw-r--r--pkgs/development/libraries/gdal/default.nix13
-rw-r--r--pkgs/development/libraries/gdome2/default.nix1
-rw-r--r--pkgs/development/libraries/gecode/default.nix21
-rw-r--r--pkgs/development/libraries/glew/default.nix10
-rw-r--r--pkgs/development/libraries/glibc/2.19/common.nix1
-rw-r--r--pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch206
-rw-r--r--pkgs/development/libraries/gmock/default.nix32
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch25
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix2
-rw-r--r--pkgs/development/libraries/gperftools/default.nix12
-rw-r--r--pkgs/development/libraries/gpgme/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix7
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix16
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix35
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/DAV/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/HPDF/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTF/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadPrompt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ShellCheck/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/ad/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/aeson-qq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/aeson-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.6.nix (renamed from pkgs/development/libraries/haskell/async/2.0.1.5.nix)4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix (renamed from pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix)8
-rw-r--r--pkgs/development/libraries/haskell/auto-update/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/aws/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/base-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-markup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boomerang/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/default.nix (renamed from pkgs/development/libraries/haskell/boundingboxes/0.2.nix)6
-rw-r--r--pkgs/development/libraries/haskell/bv/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bytes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabalg/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix (renamed from pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/checkers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/clock/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/code-builder/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/compdata-param/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/conduit-combinators/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-api/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/contrib.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/rasterific.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-heist/default.nix4
-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/directory-layout/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fay/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fb/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/file-location/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/formatting/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fsnotify/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/functor-infix/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/generic-aeson/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/geniplate/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix51
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix (renamed from pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix)18
-rw-r--r--pkgs/development/libraries/haskell/ghc-server/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-dom/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-accelerate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haddock-api/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/haddock-library/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/haskell-generate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/haskintex/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskoin/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haste-compiler/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hindent/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/holy-project/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh6
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local.diff28
-rw-r--r--pkgs/development/libraries/haskell/hoogle/local.nix106
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hsimport/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hspec-wai/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-common/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-streams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hxt-charproperties/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/io-streams/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ixset/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/json-rpc/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/json-schema/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/jwt/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/kan-extensions/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/language-c-inline/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/language-java/0.2.6.nix (renamed from pkgs/development/libraries/haskell/language-java/default.nix)2
-rw-r--r--pkgs/development/libraries/haskell/language-java/0.2.7.nix24
-rw-r--r--pkgs/development/libraries/haskell/lens-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens-family-th/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lens-family/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/leveldb-haskell/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/libmpd/0.8.0.5.nix (renamed from pkgs/development/libraries/haskell/libmpd/default.nix)1
-rw-r--r--pkgs/development/libraries/haskell/libmpd/0.9.0.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/managed/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/markdown/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/minioperational/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/miniutter/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/mono-traversable/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/multipart/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/ncurses/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network-uri/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network/2.6.0.2.nix (renamed from pkgs/development/libraries/haskell/network/2.6.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/openssl-streams/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix (renamed from pkgs/development/libraries/haskell/optparse-applicative/default.nix)1
-rw-r--r--pkgs/development/libraries/haskell/pandoc-citeproc/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.6.nix (renamed from pkgs/development/libraries/haskell/parsec/3.1.5.nix)7
-rw-r--r--pkgs/development/libraries/haskell/parsers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pcap-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/persistent-mysql/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pipes-binary/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-csv/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pipes-http/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-text/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pipes-zlib/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/protobuf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-instances/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/reducers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regular-xmlpickler/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-client/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/rest-happstack/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-snap/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-stringmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-wai/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/retry/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rope/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/rvar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.3.1.nix (renamed from pkgs/development/libraries/haskell/scientific/0.3.3.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/sdl2/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/setlocale/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/shell-conduit/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/shellmate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/snap-cors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix7
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tables/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tagstream-conduit/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/tasty-program/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tasty-rerun/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/text/1.1.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/time/1.5.nix (renamed from pkgs/development/libraries/haskell/time/1.4.2.nix)10
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/tls/1.1.5.nix27
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix (renamed from pkgs/development/libraries/haskell/tls/1.2.8.nix)4
-rw-r--r--pkgs/development/libraries/haskell/tostring/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/tuple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/twitter-conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/unix-memory/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/uri-encode/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uuid/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vado/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/vty/5.2.2.nix (renamed from pkgs/development/libraries/haskell/vty/5.2.1.nix)6
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/webdriver/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/websockets-snap/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/x509/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xlsx/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/xmlhtml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/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-persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/icu/default.nix11
-rw-r--r--pkgs/development/libraries/ilixi/default.nix1
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix2
-rw-r--r--pkgs/development/libraries/isl/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/bcel/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/fileupload/default.nix23
-rw-r--r--pkgs/development/libraries/java/commons/io/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/lang/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/math/default.nix24
-rwxr-xr-xpkgs/development/libraries/java/jakarta-bcel/builder.sh6
-rw-r--r--pkgs/development/libraries/java/jakarta-bcel/default.nix14
-rwxr-xr-xpkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh6
-rw-r--r--pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix11
-rw-r--r--pkgs/development/libraries/java/jakarta-regexp/default.nix18
-rwxr-xr-xpkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh6
-rw-r--r--pkgs/development/libraries/javascript/jquery-ui/default.nix20
-rw-r--r--pkgs/development/libraries/javascript/jquery/default.nix36
-rw-r--r--pkgs/development/libraries/json-glib/default.nix4
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix8
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix6
-rw-r--r--pkgs/development/libraries/libHX/default.nix29
-rw-r--r--pkgs/development/libraries/libav/default.nix10
-rw-r--r--pkgs/development/libraries/libbluray/default.nix52
-rw-r--r--pkgs/development/libraries/libc++/default.nix2
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix2
-rw-r--r--pkgs/development/libraries/libchamplain/0.6.nix37
-rw-r--r--pkgs/development/libraries/libchardet/default.nix21
-rw-r--r--pkgs/development/libraries/libedit/default.nix9
-rw-r--r--pkgs/development/libraries/libewf/default.nix13
-rw-r--r--pkgs/development/libraries/libewf/default.upstream7
-rw-r--r--pkgs/development/libraries/libfm/default.nix18
-rw-r--r--pkgs/development/libraries/libfreefare/default.nix21
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix12
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libharu/default.nix8
-rw-r--r--pkgs/development/libraries/libibmad/default.nix19
-rw-r--r--pkgs/development/libraries/libibumad/default.nix17
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix2
-rw-r--r--pkgs/development/libraries/liboauth/default.nix4
-rw-r--r--pkgs/development/libraries/libogg/default.nix7
-rw-r--r--pkgs/development/libraries/libotr/default.nix25
-rw-r--r--pkgs/development/libraries/libpng/12.nix3
-rw-r--r--pkgs/development/libraries/libpng/15.nix7
-rw-r--r--pkgs/development/libraries/libpng/default.nix10
-rw-r--r--pkgs/development/libraries/libresample/default.nix2
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix2
-rw-r--r--pkgs/development/libraries/libvirt/default.nix1
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix7
-rw-r--r--pkgs/development/libraries/libyaml-cpp/0.3.x.nix18
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix10
-rw-r--r--pkgs/development/libraries/libyaml/default.nix2
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--pkgs/development/libraries/lirc/default.nix11
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix12
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/muparser/default.nix15
-rw-r--r--pkgs/development/libraries/mythes/default.nix4
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix13
-rw-r--r--pkgs/development/libraries/opencv/default.nix10
-rw-r--r--pkgs/development/libraries/openldap/default.nix7
-rw-r--r--pkgs/development/libraries/openmpi/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/default.nix7
-rw-r--r--pkgs/development/libraries/osip/default.nix5
-rw-r--r--pkgs/development/libraries/osip/default.upstream3
-rw-r--r--pkgs/development/libraries/pcre/default.nix4
-rw-r--r--pkgs/development/libraries/protobufc/default.nix27
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix47
-rw-r--r--pkgs/development/libraries/quazip/default.nix23
-rw-r--r--pkgs/development/libraries/readline/5.x.nix (renamed from pkgs/development/libraries/readline/readline5.nix)7
-rw-r--r--pkgs/development/libraries/readline/6.2.nix (renamed from pkgs/development/libraries/readline/readline6.nix)0
-rw-r--r--pkgs/development/libraries/readline/6.3.nix (renamed from pkgs/development/libraries/readline/readline6.3.nix)37
-rw-r--r--pkgs/development/libraries/readline/readline-6.3-patches.nix12
-rw-r--r--pkgs/development/libraries/readline/readline4.nix10
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix15
-rw-r--r--pkgs/development/libraries/serf/default.nix8
-rw-r--r--pkgs/development/libraries/simgear/default.nix64
-rw-r--r--pkgs/development/libraries/slang/default.nix21
-rw-r--r--pkgs/development/libraries/snappy/default.nix26
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/spandsp/default.nix9
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix10
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix13
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/sword/default.nix14
-rw-r--r--pkgs/development/libraries/v8/default.nix17
-rw-r--r--pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch27
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix8
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/lua-modules/generic/default.nix24
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml577
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix37
-rw-r--r--pkgs/development/mobile/androidenv/build-tools.nix17
-rw-r--r--pkgs/development/mobile/androidenv/default.nix36
-rw-r--r--pkgs/development/mobile/androidenv/emulate-app.nix4
-rwxr-xr-xpkgs/development/mobile/androidenv/fetch.sh (renamed from pkgs/development/mobile/androidenv/fetch)5
-rw-r--r--pkgs/development/mobile/androidenv/generate-addons.xsl6
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-platforms.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-platforms.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages-others.xsl21
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-sysimages.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/make-standalone-toolchain.patch13
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix10
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix10
-rw-r--r--pkgs/development/mobile/androidenv/repository-10.xml1562
-rw-r--r--pkgs/development/mobile/androidenv/repository-8.xml1277
-rw-r--r--pkgs/development/mobile/androidenv/support-repository.nix17
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-mips.xml132
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-x86.xml154
-rw-r--r--pkgs/development/mobile/androidenv/sys-img.xml712
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix82
-rw-r--r--pkgs/development/mobile/xpwn/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/calendar/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.2.nix4
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix40
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/csv/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix50
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/fix/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/functory/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/2.14.0.nix37
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/configure.patch63
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix37
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pprint/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/sexplib/108.08.00.nix27
-rw-r--r--pkgs/development/ocaml-modules/sexplib/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch167
-rw-r--r--pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch29
-rw-r--r--pkgs/development/ocaml-modules/sqlite3EZ/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/twt/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/typeconv/108.08.00.nix28
-rw-r--r--pkgs/development/ocaml-modules/typeconv/3.0.5.nix23
-rw-r--r--pkgs/development/ocaml-modules/typeconv/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/uucd/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix15
-rw-r--r--pkgs/development/pharo/vm/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/python-modules/generic/default.nix9
-rw-r--r--pkgs/development/python-modules/h5py/default.nix42
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix56
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--pkgs/development/python-modules/rbtools/default.nix8
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix6
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix4
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/2.8.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix4
-rw-r--r--pkgs/development/r-modules/cran-packages.nix8
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/massif-visualizer/default.nix20
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix39
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix2
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix4
-rw-r--r--pkgs/development/tools/boost-build/default.nix44
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/builder.sh (renamed from pkgs/misc/maven/builder.sh)0
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix (renamed from pkgs/misc/maven/default.nix)6
-rw-r--r--pkgs/development/tools/build-managers/cargo/common.nix52
-rw-r--r--pkgs/development/tools/build-managers/cargo/snapshot.nix7
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix (renamed from pkgs/development/tools/build-managers/simple-build-tool/default.nix)3
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix16
-rw-r--r--pkgs/development/tools/documentation/haddock/2.15.0.nix20
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cake3/default.nix4
-rw-r--r--pkgs/development/tools/haskell/codex/default.nix4
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix2
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix4
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix2
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix4
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch16
-rw-r--r--pkgs/development/tools/misc/bossa/default.nix2
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix2
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix1
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/go-repo-root/default.nix33
-rw-r--r--pkgs/development/tools/misc/go-repo-root/deps.nix67
-rw-r--r--pkgs/development/tools/misc/grafana/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/kibana/default.nix29
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace/default.nix2
-rw-r--r--pkgs/development/tools/misc/swig/default.nix2
-rw-r--r--pkgs/development/tools/neoload/default.nix3
-rw-r--r--pkgs/development/tools/node-webkit/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix46
-rw-r--r--pkgs/development/tools/ocaml/camlp5/5.15.nix2
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff10
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix21
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/1.0.0.nix4
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix2
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/tools/vagrant/default.nix16
-rw-r--r--pkgs/development/web/grails/default.nix52
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix199
-rw-r--r--pkgs/development/web/nodejs/default.nix4
-rw-r--r--pkgs/games/asc/default.nix12
-rw-r--r--pkgs/games/bsdgames/default.nix2
-rw-r--r--pkgs/games/chocolate-doom/default.nix23
-rw-r--r--pkgs/games/chocolate-doom/master.nix24
-rw-r--r--pkgs/games/dwarf-fortress/df2014.nix50
-rw-r--r--pkgs/games/eternity-engine/default.nix29
-rw-r--r--pkgs/games/globulation/default.nix5
-rw-r--r--pkgs/games/gtypist/default.nix24
-rw-r--r--pkgs/games/minecraft-server/default.nix2
-rw-r--r--pkgs/games/mudlet/default.nix36
-rw-r--r--pkgs/games/mudlet/libs.patch13
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/openxcom/default.nix4
-rw-r--r--pkgs/games/pingus/default.nix2
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/spring/springlobby.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix71
-rw-r--r--pkgs/games/steam/default.nix105
-rw-r--r--pkgs/games/stepmania/default.nix2
-rw-r--r--pkgs/games/tibia/default.nix10
-rw-r--r--pkgs/games/ue4demos/default.nix192
-rw-r--r--pkgs/games/warzone2100/default.nix12
-rw-r--r--pkgs/games/wesnoth/default.nix5
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix33
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix34
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix25
-rw-r--r--pkgs/misc/emulators/hatari/default.nix7
-rw-r--r--pkgs/misc/emulators/higan/builder.sh20
-rw-r--r--pkgs/misc/emulators/higan/default.nix64
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix11
-rw-r--r--pkgs/misc/emulators/mednafen/server.nix8
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix232
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix4
-rw-r--r--pkgs/misc/emulators/retroarch/master.nix31
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix36
-rw-r--r--pkgs/misc/emulators/stella/default.nix31
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix6
-rw-r--r--pkgs/misc/phabricator/default.nix28
-rw-r--r--pkgs/misc/screensavers/alock/default.nix41
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix7
-rw-r--r--pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix23
-rw-r--r--pkgs/misc/vim-plugins/default.nix10
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh239
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix32
-rw-r--r--pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch18
-rw-r--r--pkgs/os-specific/linux/atop/default.nix8
-rw-r--r--pkgs/os-specific/linux/atop/default.upstream4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix2
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix4
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix9
-rw-r--r--pkgs/os-specific/linux/iproute/device-checking.patch32
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix50
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam_mount/default.nix29
-rw-r--r--pkgs/os-specific/linux/paxctl/default.nix4
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix53
-rw-r--r--pkgs/os-specific/linux/smem/default.nix33
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix6
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix23
-rw-r--r--pkgs/os-specific/linux/sysstat/no-install-statedir.patch37
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch2476
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix6
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--pkgs/servers/computing/torque/default.nix41
-rw-r--r--pkgs/servers/consul/default.nix34
-rw-r--r--pkgs/servers/consul/deps.nix160
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/dict/default.nix2
-rw-r--r--pkgs/servers/dict/libmaa.nix2
-rw-r--r--pkgs/servers/diod/default.nix8
-rw-r--r--pkgs/servers/dns/nsd/default.nix30
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix11
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix78
-rw-r--r--pkgs/servers/http/openresty/default.nix10
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix27
-rw-r--r--pkgs/servers/http/tomcat/7.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/8.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/recent.nix24
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix6
-rw-r--r--pkgs/servers/monitoring/seyren/default.nix4
-rw-r--r--pkgs/servers/news/leafnode/default.nix6
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix10
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix35
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix8
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix2
-rw-r--r--pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch51
-rw-r--r--pkgs/servers/openafs-client/default.nix13
-rw-r--r--pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch130
-rw-r--r--pkgs/servers/pulseaudio/default.nix13
-rw-r--r--pkgs/servers/rippled/default.nix12
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix20
-rw-r--r--pkgs/servers/search/sphinxsearch/default.nix30
-rw-r--r--pkgs/servers/sql/mysql/5.1.x.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.3.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/9.4.x.nix44
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch12
-rw-r--r--pkgs/servers/x11/xorg/default.nix30
-rw-r--r--pkgs/servers/x11/xorg/extra.list4
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list6
-rw-r--r--pkgs/shells/bash/bash-4.2-patches.nix1
-rw-r--r--pkgs/shells/bash/cve-2014-7169.patch13
-rw-r--r--pkgs/shells/bash/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix2
-rw-r--r--pkgs/stdenv/generic/default.nix3
-rw-r--r--pkgs/stdenv/linux/default.nix294
-rw-r--r--pkgs/test/openftd/default.nix2
-rw-r--r--pkgs/tools/X11/keynav/default.nix20
-rw-r--r--pkgs/tools/archivers/unrar/default.nix27
-rw-r--r--pkgs/tools/audio/gvolicon/default.nix4
-rw-r--r--pkgs/tools/audio/volumeicon/default.nix23
-rw-r--r--pkgs/tools/backup/duply/default.nix4
-rw-r--r--pkgs/tools/backup/httrack/default.nix5
-rw-r--r--pkgs/tools/backup/wal-e/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix29
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/vobsub2srt/default.nix6
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix31
-rw-r--r--pkgs/tools/compression/xz/default.nix3
-rw-r--r--pkgs/tools/filesystems/bashmount/default.nix36
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix13
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch13
-rw-r--r--pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch42
-rw-r--r--pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch25
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix64
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/grive/default.nix2
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix8
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix65
-rw-r--r--pkgs/tools/filesystems/xfsprogs/xfsprogs-3.1.11-sharelibs.patch106
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix6
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix2
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix42
-rw-r--r--pkgs/tools/graphics/pdf2svg/default.nix20
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix4
-rw-r--r--pkgs/tools/graphics/qrencode/default.nix4
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix80
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/makefix.patch24
-rw-r--r--pkgs/tools/inputmethods/fcitx/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix24
-rw-r--r--pkgs/tools/misc/binwalk/default.nix32
-rw-r--r--pkgs/tools/misc/bmon/default.nix32
-rw-r--r--pkgs/tools/misc/cpuminer-multi/default.nix12
-rw-r--r--pkgs/tools/misc/escoger/default.nix33
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/go-bindata/default.nix29
-rw-r--r--pkgs/tools/misc/go-bindata/deps.nix28
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/grc/default.nix5
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix74
-rw-r--r--pkgs/tools/misc/ised/default.nix11
-rw-r--r--pkgs/tools/misc/ised/default.upstream4
-rw-r--r--pkgs/tools/misc/less/default.nix6
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix7
-rw-r--r--pkgs/tools/misc/memtest86/default.nix6
-rw-r--r--pkgs/tools/misc/mstflint/default.nix19
-rw-r--r--pkgs/tools/misc/ngrok/default.nix103
-rw-r--r--pkgs/tools/misc/ngrok/deps.nix141
-rw-r--r--pkgs/tools/misc/parallel/default.nix12
-rw-r--r--pkgs/tools/misc/pv/default.nix4
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix7
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix55
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix6
-rw-r--r--pkgs/tools/misc/snapper/default.nix52
-rw-r--r--pkgs/tools/misc/sutils/default.nix4
-rw-r--r--pkgs/tools/misc/xdaliclock/default.nix13
-rw-r--r--pkgs/tools/misc/xdo/default.nix4
-rw-r--r--pkgs/tools/misc/xtitle/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/airfield/default.nix38
-rw-r--r--pkgs/tools/networking/airfield/package.nix1495
-rw-r--r--pkgs/tools/networking/aria2/default.nix4
-rw-r--r--pkgs/tools/networking/atftp/default.nix51
-rw-r--r--pkgs/tools/networking/chrony/default.nix4
-rw-r--r--pkgs/tools/networking/cjdns/default.nix13
-rw-r--r--pkgs/tools/networking/cjdns/makekey.patch64
-rw-r--r--pkgs/tools/networking/cmst/default.nix37
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix24
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/fping/default.nix5
-rw-r--r--pkgs/tools/networking/getmail/default.nix9
-rw-r--r--pkgs/tools/networking/httptunnel/default.nix19
-rw-r--r--pkgs/tools/networking/iftop/default.nix2
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix5
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/builder.sh27
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/default.nix24
-rw-r--r--pkgs/tools/networking/radvd/default.nix4
-rw-r--r--pkgs/tools/networking/s6-dns/default.nix53
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix63
-rw-r--r--pkgs/tools/networking/socat/2.x.nix2
-rw-r--r--pkgs/tools/networking/socat/default.nix2
-rw-r--r--pkgs/tools/networking/spiped/default.nix20
-rw-r--r--pkgs/tools/networking/spiped/no-dev-stderr.patch26
-rw-r--r--pkgs/tools/networking/sproxy-web/default.nix1
-rw-r--r--pkgs/tools/networking/sshpass/default.nix18
-rw-r--r--pkgs/tools/networking/strongswan/default.nix24
-rw-r--r--pkgs/tools/networking/strongswan/no-sysconfdir-write.patch36
-rw-r--r--pkgs/tools/networking/strongswan/respect-path.patch19
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/tinc/pre.nix32
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix25
-rw-r--r--pkgs/tools/networking/wavemon/default.nix13
-rw-r--r--pkgs/tools/networking/wicd/default.nix2
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix8
-rw-r--r--pkgs/tools/package-management/disnix/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix2
-rw-r--r--pkgs/tools/package-management/gem-nix/default.nix23
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/package-management/nox/default.nix12
-rw-r--r--pkgs/tools/package-management/python2nix/default.nix21
-rw-r--r--pkgs/tools/security/aespipe/default.nix2
-rw-r--r--pkgs/tools/security/ccid/default.nix13
-rw-r--r--pkgs/tools/security/clamav/default.nix14
-rw-r--r--pkgs/tools/security/gnupg/default.nix29
-rw-r--r--pkgs/tools/security/gnupg/git.nix57
-rw-r--r--pkgs/tools/security/haveged/default.nix2
-rw-r--r--pkgs/tools/security/john/default.nix28
-rw-r--r--pkgs/tools/security/logkeys/default.nix27
-rw-r--r--pkgs/tools/security/meo/default.nix2
-rw-r--r--pkgs/tools/security/mfoc/default.nix23
-rw-r--r--pkgs/tools/security/mfoc/mf_mini.patch96
-rw-r--r--pkgs/tools/security/pcsclite/default.nix2
-rw-r--r--pkgs/tools/security/pius/default.nix6
-rw-r--r--pkgs/tools/security/sudo/default.nix9
-rw-r--r--pkgs/tools/security/super/default.nix14
-rw-r--r--pkgs/tools/security/thc-hydra/default.nix27
-rw-r--r--pkgs/tools/system/at/default.nix16
-rw-r--r--pkgs/tools/system/dcfldd/default.nix23
-rw-r--r--pkgs/tools/system/dfc/default.nix21
-rw-r--r--pkgs/tools/system/dog/default.nix25
-rw-r--r--pkgs/tools/system/freeipmi/default.nix9
-rw-r--r--pkgs/tools/system/ioping/default.nix12
-rw-r--r--pkgs/tools/system/ioping/default.upstream5
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix12
-rw-r--r--pkgs/tools/system/ipmiutil/default.upstream4
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix6
-rw-r--r--pkgs/tools/system/sleuthkit/default.upstream5
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/tools/text/dos2unix/default.nix6
-rw-r--r--pkgs/tools/text/highlight/default.nix15
-rw-r--r--pkgs/tools/text/numdiff/default.nix4
-rw-r--r--pkgs/tools/text/replace/default.nix4
-rw-r--r--pkgs/tools/text/wdiff/default.nix4
-rw-r--r--pkgs/tools/typesetting/biber/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdfjam/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix2
-rw-r--r--pkgs/top-level/all-packages.nix830
-rw-r--r--pkgs/top-level/haskell-defaults.nix1
-rw-r--r--pkgs/top-level/haskell-packages.nix161
-rw-r--r--pkgs/top-level/lua-packages.nix53
-rw-r--r--pkgs/top-level/node-packages-generated.nix13507
-rw-r--r--pkgs/top-level/node-packages.json1
-rw-r--r--pkgs/top-level/perl-packages.nix19
-rw-r--r--pkgs/top-level/python-packages-generated.nix2
-rw-r--r--pkgs/top-level/python-packages.json4
-rw-r--r--pkgs/top-level/python-packages.nix919
-rw-r--r--pkgs/top-level/release-lib.nix2
-rw-r--r--pkgs/top-level/release.nix75
1147 files changed, 31245 insertions, 14389 deletions
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
new file mode 100644
index 0000000000000..b09ef2bc711e9
--- /dev/null
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -0,0 +1,88 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk
+# input plugins
+, vorbisSupport ? true, libvorbis ? null
+, mp123Support ? true, libmad ? null
+, flacSupport ? true, flac ? null
+, wavSupport ? true, libsndfile ? null
+, cdaSupport ? true, libcdio ? null, libcddb ? null
+, aacSupport ? true, faad2 ? null
+, wavpackSupport ? false, wavpack ? null
+, ffmpegSupport ? false, ffmpeg ? null
+# misc plugins
+, zipSupport ? true, libzip ? null
+, artworkSupport ? true, imlib2 ? null
+, hotkeysSupport ? true, libX11 ? null
+, osdSupport ? true, dbus ? null
+# output plugins
+, alsaSupport ? true, alsaLib ? null
+, pulseSupport ? true, pulseaudio ? null
+# effect plugins
+, resamplerSupport ? true, libsamplerate ? null
+, overloadSupport ? true, zlib ? null
+# transports
+, remoteSupport ? true, curl ? null
+}:
+
+assert vorbisSupport -> libvorbis != null;
+assert mp123Support -> libmad != null;
+assert flacSupport -> flac != null;
+assert wavSupport -> libsndfile != null;
+assert cdaSupport -> (libcdio != null && libcddb != null);
+assert aacSupport -> faad2 != null;
+assert zipSupport -> libzip != null;
+assert ffmpegSupport -> ffmpeg != null;
+assert artworkSupport -> imlib2 != null;
+assert hotkeysSupport -> libX11 != null;
+assert osdSupport -> dbus != null;
+assert alsaSupport -> alsaLib != null;
+assert pulseSupport -> pulseaudio != null;
+assert resamplerSupport -> libsamplerate != null;
+assert overloadSupport -> zlib != null;
+assert wavpackSupport -> wavpack != null;
+assert remoteSupport -> curl != null;
+
+# DeaDBeeF installs working .desktop file(s) all by itself, so we don't need to
+# handle that.
+
+stdenv.mkDerivation rec {
+  name = "deadbeef-0.6.2";
+
+  src = fetchurl {
+    url = "http://garr.dl.sourceforge.net/project/deadbeef/${name}.tar.bz2";
+    sha256 = "06jfsqyakpvq0xhah7dlyvdzh5ym3hhb4yfczczw11ijd1kbjcrl";
+  };
+
+  buildInputs = with stdenv.lib;
+    [ gtk ]
+    ++ optional vorbisSupport libvorbis
+    ++ optional mp123Support libmad
+    ++ optional flacSupport flac
+    ++ optional wavSupport libsndfile
+    ++ optionals cdaSupport [libcdio libcddb]
+    ++ optional aacSupport faad2
+    ++ optional zipSupport libzip
+    ++ optional ffmpegSupport ffmpeg
+    ++ optional artworkSupport imlib2
+    ++ optional hotkeysSupport libX11
+    ++ optional osdSupport dbus
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport pulseaudio
+    ++ optional resamplerSupport libsamplerate
+    ++ optional overloadSupport zlib
+    ++ optional wavpackSupport wavpack
+    ++ optional remoteSupport curl
+    ;
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Ultimate Music Player for GNU/Linux";
+    homepage = http://deadbeef.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.abbradar ];
+    repositories.git = https://github.com/Alexey-Yakovenko/deadbeef;
+  };
+}
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index c421dcc60cbd2..15f4710e8c6bc 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, glib, libid3tag, id3lib, taglib
-, libvorbis, libogg, flac
+, libvorbis, libogg, flac, itstool, libxml2
 }:
 
 stdenv.mkDerivation rec {
   name = "easytag-${version}";
-  version = "2.1.8";
+  version = "2.2.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/easytag/2.1/${name}.tar.xz";
-    sha256 = "1ab5iv0a83cdf07qzi81ydfk5apay06nxags9m07msqalz4pabqs";
+    url = "mirror://gnome/sources/easytag/2.2/${name}.tar.xz";
+    sha256 = "1cxfmr4fr6a75i0ril40nc4kcy0960dc5vfvkfwswzx6d34av77l";
   };
 
   preConfigure = ''
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
+    itstool libxml2
   ];
 
   meta = {
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index fe4b43539d440..cb3ec1da97cff 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://xiph.org/flac/;
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
     platforms = platforms.all;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix
index e78095a9c5dff..e0250055ccdac 100644
--- a/pkgs/applications/audio/fldigi/default.nix
+++ b/pkgs/applications/audio/fldigi/default.nix
@@ -2,13 +2,13 @@
   libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "3.21.82";
+  version = "3.21.83";
   pname = "fldigi";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz";
-    sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs";
+    sha256 = "1fyg6dc6xnxb620rrhws60wj10lsgbwsmnhz8vc6ncspx8mx7019";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 19b61ebc76d4e..de5ef0551254c 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,5 +1,6 @@
 { pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
-  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }:
+  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "",
+  gnome3, hicolor_icon_theme }:
 
 with pkgs.lib;
 
@@ -7,14 +8,18 @@ let
   inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
 
 in buildPythonPackage rec {
-  name = "gpodder-3.7.0";
+  name = "gpodder-3.8.0";
 
   src = fetchurl {
     url = "http://gpodder.org/src/${name}.tar.gz";
-    sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47";
+    sha256 = "0731f08f4270c81872b841b55200ae80feb4502706397d0085079471fb9a8fe4";
   };
 
-  buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ];
+  buildInputs = [
+    coverage feedparser minimock sqlite3 mygpoclient intltool
+    gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    hicolor_icon_theme
+  ];
 
   propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
     ++ stdenv.lib.optional ipodSupport libgpod;
@@ -26,7 +31,30 @@ in buildPythonPackage rec {
   preFixup = ''
     wrapProgram $out/bin/gpodder \
       ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
-      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"}
+      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"} \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  # The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The
+  # easiest way to fix this is to call wrapPythonPrograms and then to clean up
+  # the wrapped file.
+  postFixup = ''
+    wrapPythonPrograms
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+
+    sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{
+        /import sys; sys.argv/d
+    }'
   '';
 
   installPhase = "DESTDIR=/ PREFIX=$out make install";
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index e593ddf41e6f3..3a125ef665dd8 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool jack2
-    ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom
+    avahi boost boost.lib eigen fftw gettext glib glibmm gtk gtkmm intltool
+    jack2 ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom
   ];
 
   configurePhase = "python waf configure --prefix=$out";
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index ac46ff6140c19..f6c0d9e994506 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation  rec {
   name = "ingen-svn-${rev}";
-  rev = "5317";
+  rev = "5464";
 
   src = fetchsvn {
     url = "http://svn.drobilla.net/lad/trunk/ingen";
     rev = rev;
-    sha256 = "0zm3wbv9qsingjyr95nwin3khmnf3wq3fz2xa6p420dpcy6qnl4x";
+    sha256 = "1p5rsxwanpj3kj5yai7zqbharj2ldvn78x3p739vkgpr3dinp506";
   };
 
   buildInputs = [
-    boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
+    boost boost.lib ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
     raul serd sord sratom suil
   ];
 
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index 5c6a1d6ac54e3..9fbf05a2feb1d 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -5,23 +5,23 @@
 
 stdenv.mkDerivation rec {
   name = "moc-${version}";
-  version = "2.5.0-beta2";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2";
-    sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c";
+    url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2";
+    sha256 = "14b0g9jn12jzxsf292g64dc6frlxv99kaagsasmc8xmg80iab7nj";
   };
 
-  configurePhase = "./configure prefix=$out";
-
   buildInputs = [
     ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis
     mpc libsndfile jack2 db libmodplug timidity libid3tag libtool
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An ncurses console audio player designed to be powerful and easy to use";
     homepage = http://moc.daper.net/;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 08aa7e017b213..d1c6ed6379a8d 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index bbdd1f05fde5f..a0a3af0e9585f 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,11 +5,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-${version}";
 
-  version = "0.19.3";
+  version = "0.19.4";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
-    sha256 = "0rjq69vqak1d6fhvih259wmwp50xgr6x0x5nd0hl6hlkbbysc8dp";
+    sha256 = "13dyn9pgq0jns6915diizviqyn64yfysb08k77xsmxrr4bhm1156";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index 54ae5476efddb..9224e21185bc6 100755
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, mpd_clientlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.25";
+  version = "0.26";
   name = "mpc-${version}";
 
   src = fetchurl {
     url = "http://www.musicpd.org/download/mpc/0/${name}.tar.xz";
-    sha256 = "095gmik5vrnab5a1g92qiznn48w7499fr0gldp3s6xd26kvs9kvh";
+    sha256 = "0hp2qv6w2v902dhrmck5hg32s1ai6xiv9n61a3n6prfcfdqmywr0";
   };
-	
-  buildInputs = [ mpd_clientlib ]; 
-  
+
+  buildInputs = [ mpd_clientlib ];
+
   preConfigure =
     ''
       export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.so.${mpd_clientlib.majorVersion}.0.${mpd_clientlib.minorVersion}
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
new file mode 100644
index 0000000000000..a0bb87896582f
--- /dev/null
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, makeWrapper, cmake, qt4, pkgconfig, alsaLib, portaudio, jack2, libsndfile}:
+
+stdenv.mkDerivation rec {
+  name = "musescore-1.3";
+
+  src = fetchurl {
+    url = "http://ftp.osuosl.org/pub/musescore/releases/MuseScore-1.3/mscore-1.3.tar.bz2";
+    sha256 = "a0b60cc892ac0266c58fc6392be72c0a21c3aa7fd0b6e4f1dddad1c8b36be683";
+  };
+
+  buildInputs = [ makeWrapper cmake qt4 pkgconfig alsaLib portaudio jack2 libsndfile ];
+
+  configurePhase = ''
+    cd mscore;
+    mkdir build;
+    cd build;
+    cmake -DCMAKE_INSTALL_PREFIX=$out -DQT_PLUGINS_DIR=$out/lib/qt4/plugins -DCMAKE_BUILD_TYPE=Release ..'';
+
+  preBuild = ''make lrelease;'';
+
+  postInstall = ''
+    wrapProgram $out/bin/mscore --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt-based score editor";
+    homepage = http://musescore.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.vandenoever ];
+    repositories.git = https://github.com/musescore/MuseScore;
+  };
+}
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 94fa50a88836a..b5f84f536d0b8 100755
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "0.23";
+  version = "0.24";
   name = "ncmpc-${version}";
 
   src = fetchurl {
     url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.xz";
-    sha256 = "d7b30cefaf5c74a5d8ab18ab8275e0102ae12e8ee6d6f8144f8e4cc9a97b5de4";
+    sha256 = "1sf3nirs3mcx0r5i7acm9bsvzqzlh730m0yjg6jcyj8ln6r7cvqf";
   };
 
   buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  configureFlags = [
+    "--enable-colors"
+    "--enable-lyrics-screen"
+  ];
+
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
     homepage    = http://www.musicpd.org/clients/ncmpc/;
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index 791763ced362b..fb32674d3b49a 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, libogg, libao, pkgconfig, libopus, flac}:
 
 stdenv.mkDerivation rec {
-  name = "opus-tools-0.1.8";
+  name = "opus-tools-0.1.9";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "1xm2lhdz92n9zmk496lyagisyzja46kx8q340vay9i51krbqiqg4";
+    sha256 = "0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi";
   };
 
   buildInputs = [ libogg libao pkgconfig libopus flac ];
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tools to work with opus encoded audio streams";
     homepage = http://www.opus-codec.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index 50df35b974f69..314ecc95c3f79 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pkgconfig, openssl, libogg, libopus}:
 
 stdenv.mkDerivation rec {
-  name = "opusfile-0.4";
+  name = "opusfile-0.6";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "0h4iwyqgid0cibqwzckz3r94qfp09099nk1cx5nz6i3cf08yldlq";
+    sha256 = "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14";
   };
 
   buildInputs = [ pkgconfig openssl libogg libopus ];
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "High-level API for decoding and seeking in .opus files";
     homepage = http://www.opus-codec.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index d273c2381778c..769af20c0ed0a 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
   };
 
-  buildInputs = [ pulseaudio boost ];
+  buildInputs = [ pulseaudio boost boost.lib ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 52cd2ad35ce1a..489d8530a66b0 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,17 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-14.3";
-
-  meta = {
-    description = "Sound editor";
-    homepage = http://ccrma.stanford.edu/software/snd;
-    platforms = stdenv.lib.platforms.linux;
-  };
+  name = "snd-14.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "04shk34pza507kvm40dc6sdz5jz533z4q2h7m9hgqvw1r3f57ms6";
+    sha256 = "08742smqj6sy8laa1094swcxai5dkk8nvl2dsbvk5n324cb20rh7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,4 +17,14 @@ stdenv.mkDerivation rec {
     gtk2 alsaLib
     fftw gsl
   ];
+
+  meta = {
+    description = "Sound editor";
+    homepage = http://ccrma.stanford.edu/software/snd;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.free;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+
+
 }
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index 67edc7f521daa..bc28108b7cb00 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk
-, jack2, libsndfile, mesa, minixml, pkgconfig, zlib
+, jack2, libsndfile, mesa, minixml, pkgconfig, zlib, xorg
 }:
 
 assert stdenv ? glibc;
@@ -14,8 +14,8 @@ stdenv.mkDerivation  rec {
   };
 
   buildInputs = [
-    alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
-    minixml zlib
+    alsaLib boost boost.lib cairo fftwSinglePrec fltk jack2 libsndfile mesa
+    minixml zlib xorg.libpthreadstubs
   ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
new file mode 100644
index 0000000000000..6bcacf8baf40c
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/themes.nix
@@ -0,0 +1,183 @@
+{ stdenv, fetchurl, slim }:
+
+# Inspired on aspell buildDict expression
+
+let
+  buildTheme =
+    {fullName, src, version ? "testing"}:
+
+    stdenv. mkDerivation rec {
+      name = "${fullName}-${version}";
+
+      inherit src;
+
+      buildInputs = [ slim ];
+
+      dontBuild = true;
+
+      installPhase = ''
+        install -dm755 $out/share/slim/themes/${name}
+        install -m644 * $out/share/slim/themes/${name}
+      '';
+
+      meta = {
+        description = "Slim theme for ${fullName}";
+        platforms = stdenv.lib.platforms.linux;
+      };
+    };
+
+in {
+
+  archlinuxSimple = buildTheme {
+    fullName = "archlinux-simple";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
+      sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
+    };
+  };
+
+  capernoited = buildTheme {
+    fullName = "capernoited";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
+      sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
+    };
+  };
+
+  debianMoreblue = buildTheme {
+    fullName = "debian-moreblue";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
+      sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
+    };
+  };
+
+  fingerprint = buildTheme {
+    fullName = "fingerprint";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
+      sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
+    };
+  };
+
+  flat = buildTheme {
+    fullName = "flat";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
+      sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
+    };
+  };
+
+  flower2 = buildTheme {
+    fullName = "flower2";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
+      sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
+    };
+  };
+
+  gentooSimple = buildTheme {
+    fullName = "gentoo-simple";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
+      sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
+    };
+  };
+
+  lake = buildTheme {
+    fullName = "lake";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
+      sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
+    };
+  };
+
+  lunar = buildTheme {
+    fullName = "lunar-0.4";
+    version = "";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
+      sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
+    };
+  };
+
+  mindlock = buildTheme {
+    fullName = "mindlock";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
+      sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
+    };
+  };
+
+  parallelDimensions = buildTheme {
+    fullName = "parallel-dimensions";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
+      sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
+    };
+  };
+
+  previous = buildTheme {
+    fullName = "previous";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
+      sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
+    };
+  };
+
+  rainbow = buildTheme {
+    fullName = "rainbow";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
+      sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
+    };
+  };
+
+  rear-window = buildTheme {
+    fullName = "rear-window";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
+      sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
+    };
+  };
+
+  scotlandRoad = buildTheme {
+    fullName = "scotland-road";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
+      sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
+    };
+  };
+
+  subway = buildTheme {
+    fullName = "subway";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
+      sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
+    };
+  };
+
+  wave = buildTheme {
+    fullName = "wave";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
+      sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
+    };
+  };
+
+  zenwalk = buildTheme {
+    fullName = "zenwalk";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
+      sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
+    };
+  };
+
+  nixosSlim = buildTheme {
+    fullName = "nixos-slim";
+    src = fetchurl {
+      url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz";
+      sha256 = "0cawq38l8rcgd35vpdx3i1wbs3wrkcrng1c9qch0l4qncw505hv6";
+    };
+  };
+}
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 51844f641794f..7197e4b95d96f 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
 , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
-, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs
+, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs, libcap
 }:
 
 let
@@ -10,52 +10,35 @@ let
       stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3
       fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
       xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
-      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes xlibs.libXrandr
+      xlibs.libXcursor libcap
     ];
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "0.99.0";
+  version = "0.129.0";
 
   src = fetchurl {
-      url = https://github.com/hotice/webupd8/raw/master/atom-linux64-0.99.0~git20140525.tar.xz;
-      sha256 = "55c2415c96e1182ae1517751cbea1db64e9962683b384cfe5e182aec10aebecd";
-      name = "${name}.tar.xz";
-  };
-
-  iconsrc = fetchurl {
-    url = https://raw.githubusercontent.com/atom/atom/master/resources/atom.png;
-    sha256 = "66dc0b432eed7bcd738b7c1b194e539178a83d427c78f103041981f2b840e030";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "atom";
-    exec = "atom";
-    icon = iconsrc;
-    comment = "A hackable text editor for the 21st Century";
-    desktopName = "Atom";
-    genericName = "Text editor";
-    categories = "Development;TextEditor";
+    url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
+    sha256 = "0a78cb7e74b75b5c1cdbdfdea3f56ecab9479e407575b1e3cfb10c0d3265e7a4";
+    name = "${name}.deb";
   };
 
   buildInputs = [ atomEnv makeWrapper ];
 
-  phases = [ "installPhase" ];
+  phases = [ "installPhase" "fixupPhase" ];
 
   installPhase = ''
-    mkdir -p $out/share/atom
-    mkdir -p $out/bin
-    tar -C $out/share/atom -xvf $src
+    mkdir -p $out
+    ar p $src data.tar.gz | tar -C $out -xz ./usr
+    mv $out/usr/* $out/
+    rm -r $out/usr/
     patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
       $out/share/atom/atom
     patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
       $out/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node
-    makeWrapper $out/share/atom/atom $out/bin/atom \
+    wrapProgram $out/bin/atom \
       --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
-
-    # Create a desktop item.
-    mkdir -p "$out/share/applications"
-    cp "${desktopItem}"/share/applications/* "$out/share/applications/"  
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index b32981ccb9448..6073dc42c6985 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -191,6 +191,23 @@ in {
           sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6";
         };
   };
+  
+   eclipse_cpp_44 = buildEclipse {
+    name = "eclipse-cpp-4.4";
+    description = "Eclipse IDE for C/C++ Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz;
+          md5 = "b0a6ee33e8108a7ff4682ab911271b04";
+        }
+      else
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk.tar.gz;
+          md5 = "5000f93cecf6ef9af112f0df6e8c87f3";
+        };
+  };
+
 
   eclipse_sdk_421 = buildEclipse {
     name = "eclipse-sdk-4.2.1";
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 0c764fcf8f86d..bccd7754efbd1 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -1,11 +1,14 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "ed-1.9";
+  name = "ed-1.10";
 
   src = fetchurl {
-    url = "mirror://gnu/ed/${name}.tar.gz";
-    sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym";
+    # gnu only provides *.lz tarball, which is unfriendly for stdenv bootstrapping
+    #url = "mirror://gnu/ed/${name}.tar.gz";
+    url = "http://pkgs.fedoraproject.org/repo/extras/ed/${name}.tar.bz2"
+      + "/38204d4c690a17a989e802ba01b45e98/${name}.tar.bz2";
+    sha256 = "16qvshl8470f3znjfrrci3lzllqkzc6disk5kygzsg9hh4f6wysq";
   };
 
   /* FIXME: Tests currently fail on Darwin:
diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix
new file mode 100644
index 0000000000000..90c32f0e2bc4c
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/cask/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchgit, emacs, python }:
+
+stdenv.mkDerivation rec {
+  name = "cask-0.7.2";
+
+  src = fetchgit {
+    url = "https://github.com/cask/cask.git";
+    rev = "8d667e1ce3f3aa817a7b996f02058b2441f83958";
+    sha256 = "08brrdyz7zsw134zwf4dyj6bj2glflszssfq8vya3mh01s38mfri";
+  };
+
+  buildInputs = [ emacs python ];
+
+  # byte-compiling emacs files automatically triggers cask's bootstrap
+  # mechanism, what we don't want.
+  dontBuild = true;
+
+  installPhase = ''
+    install -d "$out/share/emacs/site-lisp"
+    install cask*.el* "$out/share/emacs/site-lisp"
+
+    install -d "$out/bin"
+    install bin/cask "$out/bin"
+
+    # In order to work with cask's hard coded file paths (during bootstrap),
+    # we have to create these links.
+    ln -s "$out/share/emacs/site-lisp/"* "$out"
+
+    # This file disables cask's self-updating function.
+    touch "$out/.no-upgrade"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Project management tool for Emacs";
+    longDescription =
+      ''
+        Cask is a project management tool for Emacs that helps automate the
+        package development cycle; development, dependencies, testing,
+        building, packaging and more. Cask can also be used to manage
+        dependencies for your local Emacs configuration.
+      '';
+    homepage = "https://github.com/cask/cask";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.jgeerds ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/dash/default.nix b/pkgs/applications/editors/emacs-modes/dash/default.nix
new file mode 100644
index 0000000000000..aacc33c9b5160
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/dash/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.5.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-dash-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/dash.el/archive/${version}.tar.gz";
+    sha256 = "0c6jknzy306vn22vqlabxkwxfnllrd33spymi74fkirbxaxvp8kp";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix
new file mode 100644
index 0000000000000..d776103a66274
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/ensime/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }:
+
+stdenv.mkDerivation {
+  name = "emacs-ensime-2014-09-04";
+
+  src = fetchurl {
+    url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip";
+    sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5";
+  };
+
+  buildInputs = [ emacs unzip ];
+  propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ];
+
+  buildPhase = ''
+    emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
new file mode 100644
index 0000000000000..5d92397d29548
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.3.8";
+
+in stdenv.mkDerivation {
+  name = "emacs-rainbow-delimiters-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
+    sha256 = "1xavygdnd9q80wqavxliks0w662mvn8v79qmg0kr494yfqc5hw6h";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/s/default.nix b/pkgs/applications/editors/emacs-modes/s/default.nix
new file mode 100644
index 0000000000000..b818348939e8e
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/s/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.9.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-s-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/s.el/archive/${version}.tar.gz";
+    sha256 = "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
index 13d3f4b00d1f7..75861b0a9884b 100644
--- a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
+++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
 
-  name = "scala-mode2-2014-06-05";
+  name = "scala-mode2-2014-07-01";
 
   src = fetchurl {
-    url = "https://github.com/hvesalai/scala-mode2/archive/af2dc30226c890ff7d49d727450f8006b90781df.zip";
-    sha256 = "1jj08li9lfg5291jzj170wa3cmyf3g2a0j80cy5307l0mdawp9vx";
+    url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip";
+    sha256 = "0fyxdpwz55n4c87v4ijqlbv6w1rybg5qrgsc40f6bs6sd747scy5";
   };
 
   buildInputs = [ unzip emacs ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index caa9523af6f69..f67f23e9e09be 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -1,83 +1,168 @@
 { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
-, coreutils, gnugrep, which, git
+, coreutils, gnugrep, which, git, python, unzip
 }:
 
 assert stdenv.isLinux;
 
 let
 
-  buildIdea =
-  { name, version, build, src, description, longDescription, license }:
-
-  stdenv.mkDerivation rec {
-    inherit name build src;
-    ideaItem = makeDesktopItem {
-      name = "IDEA";
-      exec = "idea";
-      comment = "Integrated Development Environment";
-      desktopName = "IntelliJ IDEA";
-      genericName = "Integrated Development Environment";
+  mkIdeaProduct =
+  { name, product, version, build, src, meta }:
+
+  let loName = stdenv.lib.toLower product;
+      hiName = stdenv.lib.toUpper product; in
+
+  with stdenv; lib.makeOverridable mkDerivation rec {
+    inherit name build src meta;
+    desktopItem = makeDesktopItem {
+      name = loName;
+      exec = loName;
+      comment = meta.longDescription;
+      desktopName = product;
+      genericName = meta.description;
       categories = "Application;Development;";
+      icon = loName;
     };
 
-    buildInputs = [ makeWrapper patchelf p7zip ];
+    buildInputs = [ makeWrapper patchelf p7zip unzip ];
 
-    buildCommand = ''
-      tar xvzf $src
-      mkdir -p $out
-      cp -a idea-$build $out
+    patchPhase = ''
 
-      interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+      get_file_size() {
+          local fname="$1"
+          echo $(ls -l $fname | cut -d ' ' -f5)
+      }
 
-      7z x $out/idea-$build/lib/snappy-java-1.0.5.jar
-      rm $out/idea-$build/lib/snappy-java-1.0.5.jar
-      if [ "${stdenv.system}" == "x86_64-linux" ];then
-        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier64
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ org/xerial/snappy/native/Linux/amd64/libsnappyjava.so
+      munge_size_hack() {
+          local fname="$1"
+          local size="$2"
+          strip $fname
+          truncate --size=$size $fname
+      }
+
+      interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+      snappyPath="lib/snappy-java-1.0.5"
+
+      7z x -o"$snappyPath" "$snappyPath.jar"
+      if [ "${stdenv.system}" == "x86_64-linux" ]; then
+        target_size=$(get_file_size bin/fsnotifier64)
+        patchelf --set-interpreter "$interpreter" bin/fsnotifier64
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
+        munge_size_hack bin/fsnotifier64 $target_size
       else
-        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ org/xerial/snappy/native/Linux/i386/libsnappyjava.so
+        target_size=$(get_file_size bin/fsnotifier)
+        patchelf --set-interpreter "$interpreter" bin/fsnotifier
+        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
+        munge_size_hack bin/fsnotifier $target_size
       fi
-      7z a -tzip $out/idea-$build/lib/snappy-java-1.0.5.jar .
+      7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
+      rm -vr "$snappyPath"
+    '';
 
-      mkdir -p $out/bin
+    installPhase = ''
+      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
+      cp -va . "$out/$name"
+      ln -s "$out/$name/bin/${loName}.png" "$out/share/pixmaps/"
 
-      jdk=${jdk}/lib/openjdk
+      [ -d ${jdk}/lib/openjdk ] \
+        && jdk=${jdk}/lib/openjdk \
+        || jdk=${jdk}
 
-      makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \
-        --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \
-        --prefix LD_RUN_PATH : ${stdenv.gcc.gcc}/lib/ \
-        --prefix JDK_HOME : $jdk \
-        --prefix IDEA_JDK : $jdk
+      makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${loName}" \
+        --prefix PATH : "${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
+        --prefix LD_RUN_PATH : "${stdenv.gcc.gcc}/lib/" \
+        --prefix JDK_HOME : "$jdk" \
+        --prefix ${hiName}_JDK : "$jdk"
 
-        mkdir -p $out/share/applications
-        cp "${ideaItem}/share/applications/"* $out/share/applications
-        patchShebangs $out
+      cp -a "${desktopItem}"/* "$out"
     '';
 
-    meta = {
-      homepage = http://www.jetbrains.com/idea/;
-      inherit description;
-      inherit longDescription;
-      inherit license;
-      maintainers = [ stdenv.lib.maintainers.edwtjo ];
-      platforms = stdenv.lib.platforms.linux;
-    };
   };
 
-in {
+  buildAndroidStudio = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "Studio";
+      meta = with stdenv.lib; {
+        homepage = https://developer.android.com/sdk/installing/studio.html;
+        inherit description license;
+        longDescription = ''
+          Android development environment based on IntelliJ
+          IDEA providing new features and improvements over
+          Eclipse ADT and will be the official Android IDE
+          once it's ready.
+        '';
+        platforms = platforms.linux;
+        maintainers = with maintainers; [ edwtjo ];
+      };
+    });
+
+  buildPycharm = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "PyCharm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/pycharm/";
+        inherit description license;
+        longDescription = ''
+          Python IDE with complete set of tools for productive
+          development with Python programming language. In addition, the
+          IDE provides high-class capabilities for professional Web
+          development with Django framework and Google App Engine. It
+          has powerful coding assistance, navigation, a lot of
+          refactoring features, tight integration with various Version
+          Control Systems, Unit testing, powerful all-singing
+          all-dancing Debugger and entire customization. PyCharm is
+          developer driven IDE. It was developed with the aim of
+          providing you almost everything you need for your comfortable
+          and productive development!
+        '';
+        maintainers = with maintainers; [ jgeerds ];
+        platforms = platforms.linux;
+      };
+    }).override {
+      propagatedUserEnvPkgs = [ python ];
+    };
+
+  buildIdea = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "IDEA";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/idea/";
+        inherit description license;
+        longDescription = ''
+          IDE for Java SE, Groovy & Scala development Powerful
+          environment for building Google Android apps Integration
+          with JUnit, TestNG, popular SCMs, Ant & Maven.
+        '';
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+in
+
+{
+
+  android-studio = buildAndroidStudio rec {
+    name = "android-studio-${version}";
+    version = "0.8.10";
+    build = "135.1428667";
+    description = "Android development environment based on IntelliJ IDEA";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
+            "/android-studio-ide-${build}-linux.zip";
+      sha256 = "5736a92ffda24233026ff45a47f1b4f9567ba40347cfa0c9f351112e729b5401";
+    };
+  };
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
     version = "13.1.4b";
     build = "IC-135.1230";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
-    longDescription = ''
-      Lightweight IDE for Java SE, Groovy & Scala development
-      Powerful environment for building Google Android apps
-      Integration with JUnit, TestNG, popular SCMs, Ant & Maven
-      Free, open-source, Apache 2 licensed.
-    '';
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
@@ -90,12 +175,6 @@ in {
     version = "13.1.4b";
     build = "IU-135.1230";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
-    longDescription = ''
-      Full-featured IDE for JVM-based and polyglot development
-      Java EE, Spring/Hibernate and other technologies support
-      Deployment and debugging with most application servers
-      Duplicate code search, dependency structure matrix, etc.
-    '';
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
@@ -103,4 +182,52 @@ in {
     };
   };
 
-}
+  pycharm-community-313 = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "3.1.3";
+    build = "133.1347";
+    description = "PyCharm 3.1 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
+    };
+  };
+
+  pycharm-community-341 = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "3.4.1";
+    build = "135.1057";
+    description = "PyCharm 3.4 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "96427b1e842e7c09141ec4d3ede627c5ca7d821c0d6c98169b56a34f9035ef64";
+    };
+  };
+
+  pycharm-professional-313 = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "3.1.3";
+    build = "133.1347";
+    description = "PyCharm 3.1 Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
+    };
+  };
+
+  pycharm-professional-341 = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "3.4.1";
+    build = "135.1057";
+    description = "PyCharm 3.4 Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "e4f85f3248e8985ac9f8c326543f979b47ba1d7ac6b128a2cf2b3eb8ec545d2b";
+    };
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/editors/idea/pycharm.nix b/pkgs/applications/editors/idea/pycharm.nix
deleted file mode 100644
index 6a2064549bbcf..0000000000000
--- a/pkgs/applications/editors/idea/pycharm.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
-, coreutils, gnugrep, which, git, python
-}:
-
-let
-
-  buildPycharm =
-  { name, version, build, src, description, license }:
-
-  stdenv.mkDerivation rec {
-    inherit name build src;
-    desktopItem = makeDesktopItem {
-      name = "pycharm";
-      exec = "pycharm";
-      comment = "Powerful Python and Django IDE";
-      desktopName = "PyCharm";
-      genericName = "Powerful Python and Django IDE";
-      categories = "Application;Development;";
-      icon = "pycharm";
-    };
-
-    buildInputs = [ makeWrapper patchelf p7zip ];
-
-    propagatedUserEnvPkgs = [ python ];
-
-    patchPhase = ''
-      interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)"
-      snappyPath="lib/snappy-java-1.0.5"
-
-      7z x -o"$snappyPath" "$snappyPath.jar"
-      if [ "${stdenv.system}" == "x86_64-linux" ]; then
-        patchelf --set-interpreter "$interpreter" bin/fsnotifier64
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
-      else
-        patchelf --set-interpreter "$interpreter" bin/fsnotifier
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
-      fi
-      7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
-      rm -vr "$snappyPath"
-    '';
-
-    installPhase = ''
-      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
-      cp -va . "$out/$name"
-      ln -s "$out/$name/bin/pycharm.png" "$out/share/pixmaps/"
-
-      jdk="${jdk}/lib/openjdk"
-      makeWrapper "$out/$name/bin/pycharm.sh" "$out/bin/pycharm" \
-        --prefix PATH : "${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
-        --prefix LD_RUN_PATH : "${stdenv.gcc.gcc}/lib/" \
-        --prefix JDK_HOME : "$jdk" \
-        --prefix PYCHARM_JDK : "$jdk"
-
-      cp -a "${desktopItem}"/* "$out"
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = "https://www.jetbrains.com/pycharm/";
-      inherit description;
-      inherit license;
-      maintainers = [ maintainers.jgeerds ];
-      platforms = platforms.linux;
-    };
-  };
-
-in {
-
-  pycharm-community-313 = buildPycharm rec {
-    name = "pycharm-community-${version}";
-    version = "3.1.3";
-    build = "133.1347";
-    description = "PyCharm 3.1 Community Edition";
-    license = stdenv.lib.licenses.asl20;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
-    };
-  };
-
-  pycharm-community-341 = buildPycharm rec {
-    name = "pycharm-community-${version}";
-    version = "3.4.1";
-    build = "135.1057";
-    description = "PyCharm 3.4 Community Edition";
-    license = stdenv.lib.licenses.asl20;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "96427b1e842e7c09141ec4d3ede627c5ca7d821c0d6c98169b56a34f9035ef64";
-    };
-  };
-
-  pycharm-professional-313 = buildPycharm rec {
-    name = "pycharm-professional-${version}";
-    version = "3.1.3";
-    build = "133.1347";
-    description = "PyCharm 3.1 Professional Edition";
-    license = stdenv.lib.licenses.unfree;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
-    };
-  };
-
-  pycharm-professional-341 = buildPycharm rec {
-    name = "pycharm-professional-${version}";
-    version = "3.4.1";
-    build = "135.1057";
-    description = "PyCharm 3.4 Professional Edition";
-    license = stdenv.lib.licenses.unfree;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "e4f85f3248e8985ac9f8c326543f979b47ba1d7ac6b128a2cf2b3eb8ec545d2b";
-    };
-  };
-}
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index b815b05234717..945a6210e7865 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.6.0";
+  version = "4.7.0";
   pname = "kdevelop";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "1ee9e7b8c46f575dd29d920cfd6284130f2e738a2e1f52dfd97b075fab2e4c73";
+    sha256 = "68de8f412e8ab6107766f00623e54c458d02825e3a70f5ea9969688f8c77c120";
   };
 
   buildInputs = [ kdevplatform kdebase_workspace okteta qjson ];
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index 234ee1f065e43..b2ac66c1e0837 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -30,6 +30,6 @@ in stdenv.mkDerivation {
     description = "SCIntilla based Text Editor";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.rszibele;
+    maintainers = [ stdenv.lib.maintainers.rszibele ];
   };
 }
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index 3ef557cef4b3a..87310efc8754d 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -3,7 +3,7 @@
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 let
-  build = "3059";
+  build = "3065";
   libPath = stdenv.lib.makeLibraryPath [glib xlibs.libX11 gtk cairo pango];
 in let
   # package with just the binaries
@@ -13,15 +13,15 @@ in let
     src =
       if stdenv.system == "i686-linux" then
         fetchurl {
-          name = "sublimetext-3.0.59.tar.bz2";
+          name = "sublimetext-3.0.65.tar.bz2";
           url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x32.tar.bz2";
-          sha256 = "5ee7b42b5db057108e97b86fd408124fc3f7b56662b2851f59d91f8f0c288088";
+          sha256 = "e25f84fe0d0c02ce71274d334fd42ce6313adcd4ec1d588b165d25f5e93ad78d";
         }
       else
         fetchurl {
-          name = "sublimetext-3.0.59.tar.bz2";
+          name = "sublimetext-3.0.65.tar.bz2";
           url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x64.tar.bz2";
-          sha256 = "da3039687664d33a734cea0151b2291ece9c7f35e5b73df5b2b5eac28a20b972";
+          sha256 = "fe548e6d86d72cd7e90eee9d5396b590ae6e8f8b0dfc661d86c814214e60faea";
         };
 
     dontStrip = true;
@@ -56,7 +56,7 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "Sophisticated text editor for code, markup and prose";
-    maintainers = stdenv.lib.maintainers.wmertens;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
     license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/editors/vanubi/default.nix b/pkgs/applications/editors/vanubi/default.nix
new file mode 100644
index 0000000000000..692a728b12e4b
--- /dev/null
+++ b/pkgs/applications/editors/vanubi/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, vala, which, autoconf, automake
+, libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }:
+
+stdenv.mkDerivation rec {
+  name = "vanubi-${version}";
+  version = "0.0.14";
+
+  src = fetchurl {
+    url = "https://github.com/vanubi/vanubi/archive/v${version}.tar.gz";
+    sha256 = "0cd45zm54j6xz1a31qllg2w7l77sncv7mrpfx9bjzdiqpmzsdypl";
+  };
+
+  buildInputs = [ pkgconfig vala which autoconf automake
+                  libtool glib gtk3 libwnck3 asciidoc
+                  gnome3.gtksourceview gnome3.vte python3Packages.pygments ];
+
+  configureScript = "./autogen.sh";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://vanubi.github.io/vanubi;
+    description = "Programming editor for GTK+ inspired by Emacs";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 585a3a58d5f0a..4673029ed0003 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -1,19 +1,9 @@
-{ stdenv, buildEnv, fetchgit, xlibs, glib, gtk2, atk, pango, gdk_pixbuf,
-  cairo, freetype, fontconfig, nss, nspr, gnome, alsaLib, expat, dbus, udev,
-  makeWrapper, writeScript, fetchurl, zip, pkgs, node_webkit }:
+{ stdenv, buildEnv, fetchgit, makeWrapper, writeScript, fetchurl, zip, pkgs
+, node_webkit }:
 
 let
   name = "zed-${version}";
-  version = "0.12";
-
-  rpath_env = buildEnv {
-    name = "rpath_env";
-    paths = [ xlibs.libX11 xlibs.libXrender glib xlibs.libXtst gtk2 atk pango
-      gdk_pixbuf cairo freetype fontconfig xlibs.libXi xlibs.libXcomposite
-      nss nspr gnome.GConf xlibs.libXext xlibs.libXfixes alsaLib
-      xlibs.libXdamage expat dbus stdenv.gcc ];
-    pathsToLink = [ "/lib" "/lib64" ];
-  };
+  version = "0.13";
 
   # When upgrading node.nix / node packages:
   #   fetch package.json from Zed's repository
@@ -29,8 +19,10 @@ let
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages.tar nodePackages.request ];
+    paths = [ nodePackages."body-parser" nodePackages.express
+      nodePackages.request nodePackages.tar nodePackages.ws ];
     pathsToLink = [ "/lib" ];
+    ignoreCollisions = true;
   };
 
   zed = stdenv.mkDerivation rec {
@@ -39,7 +31,7 @@ let
     src = fetchgit {
         url = "git://github.com/zedapp/zed";
         rev = "refs/tags/v${version}";
-        sha256 = "1l1adj4p916km626vxg1lv0bapzay4z5nq005pxsbjbcycrhds59";
+        sha256 = "023nq4y6dgh57xpsgawdn2zqvfyhjz1p00ldnsfsjajyy4nn6yb1";
       };
 
     buildInputs = [ makeWrapper zip ];
@@ -62,14 +54,7 @@ let
     '';
 
     postFixup = ''
-      patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/zed/zed-bin
-      patchelf --set-rpath "${rpath_env}/lib:${rpath_env}/lib64" $out/zed/zed-bin
-
-      mkdir -p $out/lib
-      ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
-
       wrapProgram $out/zed/zed-bin \
-        --prefix LD_LIBRARY_PATH : $out/lib \
         --prefix NODE_PATH : ${node_env}/lib/node_modules
     '';
   };
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index b4a7cec4269ca..f2c08fde0cd45 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,6 +1,27 @@
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.0";
+  by-version."accepts"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-accepts-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz";
+        name = "accepts-1.1.0.tgz";
+        sha1 = "43ba6d946374c80f91823eaec6bb43dc4955500b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."accepts" or []);
+    deps = [
+      self.by-version."mime-types"."2.0.1"
+      self.by-version."negotiator"."0.4.7"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "accepts" ];
+  };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
@@ -97,6 +118,34 @@
     ];
     passthru.names = [ "block-stream" ];
   };
+  by-spec."body-parser"."^1.6.3" =
+    self.by-version."body-parser"."1.8.1";
+  by-version."body-parser"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-body-parser-1.8.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.1.tgz";
+        name = "body-parser-1.8.1.tgz";
+        sha1 = "f9f96d221c435c95d18aeaad2bcdea1371902aad";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."body-parser" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."iconv-lite"."0.4.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."qs"."2.2.3"
+      self.by-version."raw-body"."1.3.0"
+      self.by-version."type-is"."1.5.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "body-parser" ];
+  };
+  "body-parser" = self.by-version."body-parser"."1.8.1";
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
@@ -117,6 +166,46 @@
     ];
     passthru.names = [ "boom" ];
   };
+  by-spec."buffer-crc32"."0.2.3" =
+    self.by-version."buffer-crc32"."0.2.3";
+  by-version."buffer-crc32"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-buffer-crc32-0.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        name = "buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-crc32" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer-crc32" ];
+  };
+  by-spec."bytes"."1" =
+    self.by-version."bytes"."1.0.0";
+  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        name = "bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."1.0.0" =
+    self.by-version."bytes"."1.0.0";
   by-spec."combined-stream"."~0.0.4" =
     self.by-version."combined-stream"."0.0.5";
   by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -137,6 +226,63 @@
     ];
     passthru.names = [ "combined-stream" ];
   };
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        name = "commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -176,6 +322,26 @@
     ];
     passthru.names = [ "ctype" ];
   };
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-2.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = [
+      self.by-version."ms"."0.6.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
   by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -195,6 +361,167 @@
     ];
     passthru.names = [ "delayed-stream" ];
   };
+  by-spec."depd"."0.4.4" =
+    self.by-version."depd"."0.4.4";
+  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-depd-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        name = "depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-destroy-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        name = "destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."destroy" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "destroy" ];
+  };
+  by-spec."ee-first"."1.0.5" =
+    self.by-version."ee-first"."1.0.5";
+  by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ee-first-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        name = "ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ee-first" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ee-first" ];
+  };
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escape-html-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        name = "escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escape-html" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escape-html" ];
+  };
+  by-spec."etag"."~1.3.0" =
+    self.by-version."etag"."1.3.0";
+  by-version."etag"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-etag-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/etag/-/etag-1.3.0.tgz";
+        name = "etag-1.3.0.tgz";
+        sha1 = "c837debfbfe0baf7eb8e2f0bbb3d1d9cc3229697";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."etag" or []);
+    deps = [
+      self.by-version."buffer-crc32"."0.2.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "etag" ];
+  };
+  by-spec."express"."^4.8.3" =
+    self.by-version."express"."4.9.0";
+  by-version."express"."4.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-4.9.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express/-/express-4.9.0.tgz";
+        name = "express-4.9.0.tgz";
+        sha1 = "9b2ea4ebce57c7ac710604c74f6c303ab344a7f3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express" or []);
+    deps = [
+      self.by-version."accepts"."1.1.0"
+      self.by-version."buffer-crc32"."0.2.3"
+      self.by-version."cookie-signature"."1.0.5"
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.3.0"
+      self.by-version."finalhandler"."0.2.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."methods"."1.1.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."path-to-regexp"."0.1.3"
+      self.by-version."proxy-addr"."1.0.1"
+      self.by-version."qs"."2.2.3"
+      self.by-version."range-parser"."1.0.2"
+      self.by-version."send"."0.9.1"
+      self.by-version."serve-static"."1.6.1"
+      self.by-version."type-is"."1.5.1"
+      self.by-version."vary"."1.0.0"
+      self.by-version."cookie"."0.1.2"
+      self.by-version."merge-descriptors"."0.0.2"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "express" ];
+  };
+  "express" = self.by-version."express"."4.9.0";
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-finalhandler-0.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+        name = "finalhandler-0.2.0.tgz";
+        sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."finalhandler" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."escape-html"."1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "finalhandler" ];
+  };
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
   by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
@@ -236,15 +563,34 @@
     ];
     passthru.names = [ "form-data" ];
   };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+        name = "fresh-0.2.4.tgz";
+        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
   by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.29";
-  by-version."fstream"."0.1.29" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.29";
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.29.tgz";
-        name = "fstream-0.1.29.tgz";
-        sha1 = "34d04023ebc91a9df47bd31ab97e4704b4db413f";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
       })
     ];
     buildInputs =
@@ -252,7 +598,7 @@
     deps = [
       self.by-version."graceful-fs"."3.0.2"
       self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mkdirp"."0.5.0"
       self.by-version."rimraf"."2.2.8"
     ];
     peerDependencies = [
@@ -342,6 +688,25 @@
     ];
     passthru.names = [ "http-signature" ];
   };
+  by-spec."iconv-lite"."0.4.4" =
+    self.by-version."iconv-lite"."0.4.4";
+  by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-iconv-lite-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        name = "iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."iconv-lite" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "iconv-lite" ];
+  };
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -363,6 +728,25 @@
   };
   by-spec."inherits"."~2.0.0" =
     self.by-version."inherits"."2.0.1";
+  by-spec."ipaddr.js"."0.1.2" =
+    self.by-version."ipaddr.js"."0.1.2";
+  by-version."ipaddr.js"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ipaddr.js-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        name = "ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ipaddr.js" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ipaddr.js" ];
+  };
   by-spec."json-stringify-safe"."~5.0.0" =
     self.by-version."json-stringify-safe"."5.0.0";
   by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -382,7 +766,64 @@
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  by-spec."mime"."~1.2.11" =
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-media-typer-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        name = "media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."media-typer" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "media-typer" ];
+  };
+  by-spec."merge-descriptors"."0.0.2" =
+    self.by-version."merge-descriptors"."0.0.2";
+  by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-merge-descriptors-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        name = "merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."merge-descriptors" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "merge-descriptors" ];
+  };
+  by-spec."methods"."1.1.0" =
+    self.by-version."methods"."1.1.0";
+  by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-methods-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        name = "methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."1.2.11" =
     self.by-version."mime"."1.2.11";
   by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "node-mime-1.2.11";
@@ -401,27 +842,147 @@
     ];
     passthru.names = [ "mime" ];
   };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mkdirp"."0.3" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
+  by-spec."mime-db"."~1.0.1" =
+    self.by-version."mime-db"."1.0.1";
+  by-version."mime-db"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-db-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        name = "mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz";
+        name = "mime-db-1.0.1.tgz";
+        sha1 = "35d99b0965967253bb30633a7d07a8de9975a952";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-db" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-db" ];
+  };
+  by-spec."mime-types"."~2.0.0" =
+    self.by-version."mime-types"."2.0.1";
+  by-version."mime-types"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-types-2.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz";
+        name = "mime-types-2.0.1.tgz";
+        sha1 = "7f5b4712592e7dd46ca733fd1c5f5d71356de615";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = [
+      self.by-version."mime-db"."1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.1";
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimist-0.0.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."mkdirp"."0.5" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        name = "mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
       })
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
     deps = [
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ms-0.6.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."nan"."~1.0.0" =
+    self.by-version."nan"."1.0.0";
+  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        name = "nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nan" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "nan" ];
+  };
+  by-spec."negotiator"."0.4.7" =
+    self.by-version."negotiator"."0.4.7";
+  by-version."negotiator"."0.4.7" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.4.7";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        name = "negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
   by-spec."node-uuid"."~1.4.0" =
     self.by-version."node-uuid"."1.4.1";
   by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -460,15 +1021,114 @@
     ];
     passthru.names = [ "oauth-sign" ];
   };
+  by-spec."on-finished"."2.1.0" =
+    self.by-version."on-finished"."2.1.0";
+  by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-on-finished-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        name = "on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."on-finished" or []);
+    deps = [
+      self.by-version."ee-first"."1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "on-finished" ];
+  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.0";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.5";
+  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-options-0.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
+        name = "options-0.0.5.tgz";
+        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."options" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "options" ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-parseurl-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+        name = "parseurl-1.3.0.tgz";
+        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."parseurl" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "parseurl" ];
+  };
+  by-spec."path-to-regexp"."0.1.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-to-regexp-0.1.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        name = "path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."path-to-regexp" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "path-to-regexp" ];
+  };
+  by-spec."proxy-addr"."1.0.1" =
+    self.by-version."proxy-addr"."1.0.1";
+  by-version."proxy-addr"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-proxy-addr-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        name = "proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."proxy-addr" or []);
+    deps = [
+      self.by-version."ipaddr.js"."0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "proxy-addr" ];
+  };
   by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.0";
-  by-version."punycode"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.0";
+    self.by-version."punycode"."1.3.1";
+  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.0.tgz";
-        name = "punycode-1.3.0.tgz";
-        sha1 = "7f5009ef539b9444be5c7a19abd2c3ca49e1731c";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+        name = "punycode-1.3.1.tgz";
+        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
       })
     ];
     buildInputs =
@@ -479,6 +1139,25 @@
     ];
     passthru.names = [ "punycode" ];
   };
+  by-spec."qs"."2.2.3" =
+    self.by-version."qs"."2.2.3";
+  by-version."qs"."2.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-2.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
+        name = "qs-2.2.3.tgz";
+        sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
   by-spec."qs"."~0.6.0" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
@@ -498,6 +1177,48 @@
     ];
     passthru.names = [ "qs" ];
   };
+  by-spec."range-parser"."~1.0.0" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-range-parser-1.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+        name = "range-parser-1.0.2.tgz";
+        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-spec."raw-body"."1.3.0" =
+    self.by-version."raw-body"."1.3.0";
+  by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        name = "raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."raw-body" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."iconv-lite"."0.4.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "raw-body" ];
+  };
   by-spec."request"."~2.34.0" =
     self.by-version."request"."2.34.0";
   by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
@@ -549,6 +1270,58 @@
     ];
     passthru.names = [ "rimraf" ];
   };
+  by-spec."send"."0.9.1" =
+    self.by-version."send"."0.9.1";
+  by-version."send"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.9.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/send/-/send-0.9.1.tgz";
+        name = "send-0.9.1.tgz";
+        sha1 = "d93689f7c9ce36bd32f8ee572bb60bda032edc23";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."send" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.4"
+      self.by-version."destroy"."1.0.3"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.3.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."ms"."0.6.2"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."range-parser"."1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "send" ];
+  };
+  by-spec."serve-static"."~1.6.1" =
+    self.by-version."serve-static"."1.6.1";
+  by-version."serve-static"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz";
+        name = "serve-static-1.6.1.tgz";
+        sha1 = "2f257563afbe931d28cee4aa3dfeddc975a87193";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."serve-static" or []);
+    deps = [
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."send"."0.9.1"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "serve-static" ];
+  };
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
@@ -584,7 +1357,7 @@
       (self.nativeDeps."tar" or []);
     deps = [
       self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.29"
+      self.by-version."fstream"."0.1.31"
       self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
@@ -592,6 +1365,25 @@
     passthru.names = [ "tar" ];
   };
   "tar" = self.by-version."tar"."0.1.20";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tinycolor-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        name = "tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tinycolor" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tinycolor" ];
+  };
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
   by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
@@ -606,7 +1398,7 @@
     buildInputs =
       (self.nativeDeps."tough-cookie" or []);
     deps = [
-      self.by-version."punycode"."1.3.0"
+      self.by-version."punycode"."1.3.1"
     ];
     peerDependencies = [
     ];
@@ -631,4 +1423,87 @@
     ];
     passthru.names = [ "tunnel-agent" ];
   };
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.1";
+  by-version."type-is"."1.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-is-1.5.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz";
+        name = "type-is-1.5.1.tgz";
+        sha1 = "5c1e62d874f79199fb16b34d16972dba376ccbed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."type-is" or []);
+    deps = [
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."mime-types"."2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "type-is" ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utils-merge-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."utils-merge" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "utils-merge" ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.0";
+  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vary-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+        name = "vary-1.0.0.tgz";
+        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."vary" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vary" ];
+  };
+  by-spec."ws"."~0.4.32" =
+    self.by-version."ws"."0.4.32";
+  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
+    name = "ws-0.4.32";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+        name = "ws-0.4.32.tgz";
+        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ws" or []);
+    deps = [
+      self.by-version."commander"."2.1.0"
+      self.by-version."nan"."1.0.0"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ws" ];
+  };
+  "ws" = self.by-version."ws"."0.4.32";
 }
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 32d30cd474508..48839246600d0 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }:
+{ fetchurl, stdenv, pkgconfig, ncurses, boehmgc, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.4.9";
+  name = "zile-2.4.11";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7";
+    sha256 = "1k593y1xzvlj52q0gyhcx2lllws4sg84b8r9pcginjb1vjypplhz";
   };
 
-  buildInputs = [ ncurses boehmgc ];
+  buildInputs = [ pkgconfig ncurses boehmgc ];
   nativeBuildInputs = [ help2man perl ];
 
   # `help2man' wants to run Zile, which fails when cross-compiling.
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro.
   preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Lightweight Emacs clone";
 
     longDescription = ''
@@ -45,8 +45,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/zile/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
+    maintainers = with maintainers; [ pSub ];
+
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
index 9a41bcc36ecc0..9a41bcc36ecc0 100644
--- a/pkgs/applications/misc/qgis/default.nix
+++ b/pkgs/applications/gis/qgis/default.nix
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
new file mode 100644
index 0000000000000..a990e19dbc3ff
--- /dev/null
+++ b/pkgs/applications/gis/saga/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
+  libharu, opencv, vigra, postgresql }:
+
+stdenv.mkDerivation rec {
+  name = "saga-2.1.2";
+
+  buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ];
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.1/SAGA%202.1.2/saga_2.1.2.tar.gz";
+    sha256 = "51885446f717191210c4b13f0c35a1c5194c9d696d4f9b8f594bc1014809b2f5";
+  };
+
+  meta = {
+    description = "SAGA - System for Automated Geoscientific Analyses";
+    homepage = http://www.saga-gis.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+    platforms = with stdenv.lib.platforms; linux;
+    broken = true;
+  };
+}
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index a7665177046b0..0235f892b8dc1 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
-    zlib python swig gfortran soqt libf2c makeWrapper matplotlib
+    boost.lib zlib python swig gfortran soqt libf2c makeWrapper matplotlib
     pycollada pyside pysideShiboken
   ];
 
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index de906e3d8443e..6636d5fc9ecb8 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain_0_6, fbida }:
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, gtk, libpng, exiv2, lcms
+, intltool, gettext, libchamplain, fbida }:
 
 stdenv.mkDerivation rec {
-  name = "geeqie-1.1";
+  name = "geeqie-${version}";
+  version = "1.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/geeqie/${name}.tar.gz";
-    sha256 = "1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m";
+    url = "https://gitorious.org/geeqie/geeqie/archive/v${version}.tar.gz";
+    sha256 = "13sgf20h0z8dz1075vmyh8vbxgchq30cqrl15zfv9h8hp271vpfj";
   };
 
-  preConfigure =
-    # XXX: Trick to have Geeqie use the version we have.
-    '' sed -i "configure" \
-           -e 's/champlain-0.4/champlain-0.6/g ;
-               s/champlain-gtk-0.4/champlain-gtk-0.6/g'
-    '';
+  preConfigure = "./autogen.sh";
 
   configureFlags = [ "--enable-gps" ];
 
   buildInputs =
-    [ pkgconfig gtk libpng exiv2 lcms intltool gettext
-      libchamplain_0_6
+    [ pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext
+      libchamplain
     ];
 
   postInstall =
@@ -31,7 +27,7 @@ stdenv.mkDerivation rec {
           -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Lightweight GTK+ based image viewer";
 
     longDescription =
@@ -45,11 +41,11 @@ stdenv.mkDerivation rec {
         initially based on GQview.
       '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
     homepage = http://geeqie.sourceforge.net;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.gnu;
   };
 }
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 6a66685e42b83..f204114a58136 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,31 +1,27 @@
-{stdenv, fetchurl
+{ stdenv, fetchurl, unzip, ftgl, glew, asciidoc
 , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
 , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
-, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu
-}:
+, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.0.2";
+  version = "0.8.0.3";
   name = "k3d-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/k3d/k3d-source-0.8.0.2.tar.bz2";
-    sha256 = "01fd2qb0zddif3wz1a2wdmwyzn81cf73678qp2gjs8iikmdz6w7x";
+    url = "https://github.com/K-3D/k3d/archive/${name}.zip";
+    sha256 = "09ywwvlk8hh1357pnal96kc40ma4jq7776hqk0609rgz13s6babp";
   };
-
-  patches = [
-    ./k3d_gtkmm224.patch
-    ./libpng-1.4.patch
-  ];
+  
+  cmakeFlags = "-DK3D_BUILD_DOCS=false -DK3D_BUILD_GUIDE=false";
 
   preConfigure = ''
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE  -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
   '';
 
   buildInputs = [
      cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext
-     intltool perl
+     boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
+     gettext intltool perl unzip ftgl glew asciidoc
      gtkmm glibmm gtkglext pangox_compat libXmu
     ];
 
diff --git a/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch b/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch
deleted file mode 100644
index 2484994531f02..0000000000000
--- a/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/k3dsdk/ngui/main_document_window.cpp
-+++ b/k3dsdk/ngui/main_document_window.cpp
-@@ -1371,7 +1371,7 @@
- 			Gtk::HBox import_box(false, 5);
- 			Gtk::Label import_label(_("Choose import plugin:"));
- 
--			Gtk::ComboBox import_combo(model);
-+			Gtk::ComboBox import_combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 			import_combo.pack_start(columns.icon, false);
- 			import_combo.pack_start(columns.label);
- 			import_combo.set_active(0);
-@@ -1461,7 +1461,7 @@
- 			Gtk::HBox export_box(false, 5);
- 			Gtk::Label export_label(_("Choose export plugin:"));
- 
--			Gtk::ComboBox export_combo(model);
-+			Gtk::ComboBox export_combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 			export_combo.pack_start(columns.icon, false);
- 			export_combo.pack_start(columns.label);
- 			export_combo.set_active(0);
---- a/k3dsdk/ngui/render.cpp
-+++ b/k3dsdk/ngui/render.cpp
-@@ -169,7 +169,7 @@
- 		row[columns.separator] = false;
- 	}
- 
--	Gtk::ComboBox combo(model);
-+	Gtk::ComboBox combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 
- 	combo.pack_start(columns.icon, false);
- 
-@@ -295,7 +295,7 @@
- 		row[columns.separator] = false;
- 	}
- 
--	Gtk::ComboBox combo(model);
-+	Gtk::ComboBox combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 
- 	combo.pack_start(columns.icon, false);
- 
diff --git a/pkgs/applications/graphics/k3d/libpng-1.4.patch b/pkgs/applications/graphics/k3d/libpng-1.4.patch
deleted file mode 100644
index e67236617afe3..0000000000000
--- a/pkgs/applications/graphics/k3d/libpng-1.4.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- k3d-source-0.8.0.1/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp	2010-04-18 13:49:33.000000000 +0800
-+++ k3d-source-0.8.0.1-patched/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp	2010-06-10 21:17:51.555920268 +0800
-@@ -148,12 +148,12 @@
-         // allocate/initialize the image information data

-         _info_ptr = png_create_info_struct(_png_ptr);

-         if (_info_ptr == NULL) {

--            png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL);

-+			png_destroy_read_struct(&_png_ptr,NULL,NULL);

-             io_error("png_get_file_size: fail to call png_create_info_struct()");

-         }

-         if (setjmp(png_jmpbuf(_png_ptr))) {

-             //free all of the memory associated with the png_ptr and info_ptr

--            png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL);

-+			png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL);

-             io_error("png_get_file_size: fail to call setjmp()");

-         }

-         png_init_io(_png_ptr, get());

-@@ -165,7 +165,7 @@
-     png_reader(const char* filename) : file_mgr(filename, "rb") { init(); }

- 

-     ~png_reader() {

--        png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL);

-+		png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL); 

-     }

-     point2<std::ptrdiff_t> get_dimensions() {

-         return point2<std::ptrdiff_t>(png_get_image_width(_png_ptr,_info_ptr),

-@@ -177,7 +177,7 @@
-         int bit_depth, color_type, interlace_type;

-         png_get_IHDR(_png_ptr, _info_ptr,

-                      &width, &height,&bit_depth,&color_type,&interlace_type,

--                     int_p_NULL, int_p_NULL);

-+					 (int *) NULL, (int *) NULL);

-         io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),

-                     "png_read_view: input view size does not match PNG file size");

-         

-@@ -219,7 +219,7 @@
-         int bit_depth, color_type, interlace_type;

-         png_get_IHDR(_png_ptr, _info_ptr,

-                      &width, &height,&bit_depth,&color_type,&interlace_type,

--                     int_p_NULL, int_p_NULL);

-+					 (int *) NULL, (int *) NULL);

-         io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),

-                     "png_reader_color_convert::apply(): input view size does not match PNG file size");

-         switch (color_type) {

-@@ -308,7 +308,7 @@
-         io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()");

-         _info_ptr = png_create_info_struct(_png_ptr);

-         if (!_info_ptr) {

--            png_destroy_write_struct(&_png_ptr,png_infopp_NULL);

-+			png_destroy_write_struct(&_png_ptr,NULL);

-             io_error("png_write_initialize: fail to call png_create_info_struct()");

-         }

-         if (setjmp(png_jmpbuf(_png_ptr))) {

diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix
new file mode 100644
index 0000000000000..21caf8f800285
--- /dev/null
+++ b/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, kdelibs, automoc4, boost, pkgconfig, graphviz, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "kgraphviewer-${version}";
+  version = "2.1.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/kgraphviewer/${version}/src/${name}.tar.xz";
+    sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs";
+  };
+
+  buildInputs = [ kdelibs automoc4 boost pkgconfig graphviz gettext ];
+
+  meta = with stdenv.lib; {
+    description = "A Graphviz dot graph viewer for KDE";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
+
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
index 7558b0aef4b6c..7f2d3e2458906 100644
--- a/pkgs/applications/graphics/luminance-hdr/default.nix
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+  buildInputs = [ qt5 boost boost.lib exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index 201b59ad5e128..ad8735a6dff33 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -1,16 +1,18 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, lzip, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "ocrad-0.21";
+  name = "ocrad-0.23";
 
   src = fetchurl {
-    url = "mirror://gnu/ocrad/${name}.tar.gz";
-    sha256 = "1k58ha70r0cqahssx67hfgyzia9ymf691yay06n7nrkbklii3isf";
+    url = "mirror://gnu/ocrad/${name}.tar.lz";
+    sha256 = "0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m";
   };
 
+  buildInputs = [ lzip texinfo ];
+
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Optical character recognition (OCR) program & library";
 
     longDescription =
@@ -26,9 +28,9 @@ stdenv.mkDerivation rec {
          backend to other programs.
       '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index d0a1fb38e0c32..f6d7c25b196d1 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,15 +4,16 @@
 
 stdenv.mkDerivation rec {
   name = "oiio-${version}";
-  version = "1.4";
+  version = "1.4.13";
 
   src = fetchurl {
-    url = "https://github.com/OpenImageIO/oiio/archive/RB-${version}.zip";
-    sha256 = "0ldj3hwpz363l1zyzf6c62wc5d2cpbiszlpjvv5w6rrsx2ddbbn1";
+    url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
+    sha256 = "1idscm2qqdjgv362l7xk9v162axji7hqh7xdnd3i0wcxwjpgygca";
   };
 
   buildInputs = [
-    boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr unzip
+    boost boost.lib cmake ilmbase libjpeg libpng libtiff opencolorio openexr
+    unzip
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index d831df5d7b660..67611d2f67cc9 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib pkgconfig
+    qt4 bison flex eigen boost boost.lib mesa glew opencsg cgal mpfr gmp glib
+    pkgconfig
   ];
 
   configurePhase = ''
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 8e5204ac63827..9ca90d2f5df36 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libjpeg, libpng, libtiff, perl }:
 
 stdenv.mkDerivation rec {
-  name = "libpano13-2.9.18";
+  name = "libpano13-2.9.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/panotools/${name}.tar.gz";
-    sha256 = "0wm1r9waa47n482yrl3hnphicdahr581rahgbklk0d2wy51lwpfy";
+    sha256 = "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3";
   };
 
   buildInputs = [ perl libjpeg libpng libtiff ];
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
index 156966ac46c14..12816ba96af4a 100644
--- a/pkgs/applications/graphics/photivo/default.nix
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 7d0595134e997..ecce0e260bb2a 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm }:
+{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm, which }:
 
 stdenv.mkDerivation rec {
   name = "processing-${version}";
@@ -12,20 +12,21 @@ stdenv.mkDerivation rec {
   # Stop it trying to download its own version of java
   patches = [ ./use-nixpkgs-jre.patch ];
 
-  buildInputs = [ ant jre makeWrapper libXxf86vm ];
+  buildInputs = [ ant jre makeWrapper libXxf86vm which ];
 
   buildPhase = "cd build && ant build";
 
   installPhase = ''
+    mkdir -p $out/${name}
     mkdir -p $out/bin
-    cp -r linux/work/* $out/
-    sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing
-    sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing-java
-    mv $out/processing{,-java} $out/bin/
-    wrapProgram $out/bin/processing --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    wrapProgram $out/bin/processing-java --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
-    mkdir $out/java
-    ln -s ${jre}/bin $out/java/
+   cp -r linux/work/* $out/${name}/
+   makeWrapper $out/${name}/processing $out/bin/processing \
+     --prefix PATH : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   makeWrapper $out/${name}/processing-java $out/bin/processing-java \
+     --prefix PATH : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   ln -s ${jre} $out/${name}/java
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index 2ff8241240987..b314bdaf6baa1 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
   };
   
-  buildInputs = [qt4 cgal boost gmp mpfr flex bison dxflib];
+  buildInputs = [qt4 cgal boost boost.lib gmp mpfr flex bison dxflib];
 
   configurePhase = ''
     qmake;
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
new file mode 100644
index 0000000000000..95230291fe957
--- /dev/null
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchgit,autoconf, automake, gcc, fltk13
+, libjpeg, libpng, libtool, mesa, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "solvespace-2.0";
+  src = fetchgit {
+    url = "https://gitorious.org/solvespace/solvespace.git";
+    sha256 = "0sakxkmj2f0k27f67wy1xz2skpnwzg15yqrf7av97pgc5s8xb3da";
+    rev = "e587d0e";
+  };
+
+  # e587d0e fails with undefined reference errors if make is called
+  # twice. Ugly workaround: Build while installing.
+  dontBuild = true;
+  enableParallelBuilding = false;
+
+  buildInputs = [        
+    autoconf
+    automake
+    gcc
+    fltk13
+    libjpeg
+    libpng
+    libtool
+    mesa
+    pkgconfig
+    stdenv
+  ];
+
+  preConfigure = ''
+    aclocal
+    libtoolize
+    
+    autoreconf -i
+    automake --add-missing
+  '';
+
+  meta = {
+    description = "A parametric 3d CAD program.";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = http://solvespace.com;
+  };
+}
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index ba7a916e3fe43..59ca7b7374d4d 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -26,11 +26,11 @@ let
     patches = [ ./synfig-cstring.patch ];
 
     buildInputs = [
-      ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
+      ETL boost boost.lib cairo gettext glibmm libsigcxx libtool libxmlxx pango
       pkgconfig
     ];
 
-    configureFlags = [ "--with-boost-libdir=${boost}/lib" ];
+    configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 1f1c26c115208..162a6748c06ae 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -4,11 +4,11 @@
 , pango, libX11, xproto, zlib, poppler, poppler_data
 , autoconf, automake, libtool, pkgconfig}:
 stdenv.mkDerivation rec {
-  version = "0.4.5";
+  version = "0.4.8";
   name = "xournal-" + version;
   src = fetchurl {
     url = "mirror://sourceforge/xournal/${name}.tar.gz";
-    sha256 = "1lamfzhby06w2pg56lpv1symdixcwmg6wvi7g6br6la4ak5w5mx7";
+    sha256 = "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13";
   };
 
   buildInputs = [
@@ -19,14 +19,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
 
-  # Build with poppler-0.18.x
-  patchFlags = "-p0";
-
-  patches = [ (fetchurl {
-      url = "https://api.opensuse.org/public/source/X11:Utilities/xournal/xournal-poppler-0.18.patch?rev=eca1c0b24f5bc78111147ab8f4688455";
-      sha256 = "1q565kqb4bklncriq4dlhp1prhidv88wmxr9k3laykiia0qjmfyj";
-    })];
-
   NIX_LDFLAGS="-lX11 -lz";
 
   meta = {
diff --git a/pkgs/applications/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix
index 27f6c12237419..cd3df455c38e9 100644
--- a/pkgs/applications/misc/arbtt/default.nix
+++ b/pkgs/applications/misc/arbtt/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "arbtt";
-  version = "0.8.1.2";
-  sha256 = "074vb84vkygxamvq7xnwlpgbch6qkbhyzbakc343230p1ryxf62q";
+  version = "0.8.1.4";
+  sha256 = "15ydb425nvqfzajx09q713wy5xa7awbzfjlsidk17vf7qbhfjn7z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
new file mode 100644
index 0000000000000..0cd8009dbe699
--- /dev/null
+++ b/pkgs/applications/misc/batti/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl
+, pkgconfig, makeWrapper, gettext, python
+, gtk, pygtk, dbus_python
+, upower }:
+
+stdenv.mkDerivation rec {
+
+  name = "batti-${version}";
+  version = "0.3.8";
+
+  src = fetchurl {
+    url = "https://batti-gtk.googlecode.com/files/${name}.tar.gz";
+    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig makeWrapper gettext python gtk pygtk dbus_python upower ];
+
+  configurePhase = "true";
+
+  buildPhase = ''
+    python setup.py build
+  '';
+
+  installPhase = ''
+    python setup.py install --prefix $out
+    wrapProgram $out/bin/batti --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)"
+  '';
+
+
+  meta = with stdenv.lib; {
+    description = "An {UPower,GTK}-based battery monitor for the system tray";
+    longDescription = ''
+      Batti is a simple battery monitor for the system tray. Batti
+      uses UPower, and if that is missing DeviceKit.Power, for it's
+      power information.
+    '';
+    homepage = http://batti-gtk.googlecode.com/;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+
+# TODO: fix the "icon not found" problems...
diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix
index 796cedc1ee2c6..2643094e2f163 100644
--- a/pkgs/applications/misc/bitcoin/altcoins.nix
+++ b/pkgs/applications/misc/bitcoin/altcoins.nix
@@ -80,51 +80,4 @@ in rec {
     };
   };
 
-  dogecoin = (buildAltcoin rec {
-    walletName = "dogecoin";
-    version = "1.8.0";
-
-    src = fetchurl {
-      url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
-      sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
-    };
-
-    extraBuildInputs = [ autogen autoconf automake pkgconfig db utillinux protobuf ];
-
-    meta = {
-      description = "Wow, such coin, much shiba, very rich";
-      longDescription = "wow";
-      homepage = http://www.dogecoin.com/;
-      maintainers = [ maintainers.offline maintainers.edwtjo ];
-    };
-  }).override rec {
-    patchPhase = ''
-      sed -i \
-        -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
-        -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
-        -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
-        src/m4/dogecoin_find_bdb51.m4
-    '';
-    dogeConfigure = ''
-      ./autogen.sh \
-      && ./configure --prefix=$out \
-                     --with-incompatible-bdb \
-                     --with-boost-libdir=${boost}/lib \
-    '';
-    dogeInstall = ''
-      install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
-      install -D "src/dogecoind" "$out/bin/dogecoind"
-    '';
-    configurePhase = dogeConfigure + "--with-gui";
-    installPhase = dogeInstall + "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt";
-  };
-
-  dogecoind = dogecoin.override rec {
-    gui = false;
-    makefile = "Makefile";
-    preBuild = "";
-    configurePhase = dogecoin.dogeConfigure + "--without-gui";
-    installPhase = dogecoin.dogeInstall;
-  };
-
 }
diff --git a/pkgs/applications/misc/bitcoin/dogecoin.nix b/pkgs/applications/misc/bitcoin/dogecoin.nix
new file mode 100644
index 0000000000000..7ace3c161c7b7
--- /dev/null
+++ b/pkgs/applications/misc/bitcoin/dogecoin.nix
@@ -0,0 +1,71 @@
+{ fetchurl, stdenv, pkgconfig
+, openssl, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
+, utillinux, autogen, autoconf, autobuild, automake, db }:
+
+with stdenv.lib;
+
+let
+
+  mkAutotoolCoin =
+  { name, version, withGui, src, meta }:
+
+  stdenv.mkDerivation {
+    inherit src meta;
+
+    name = name + (toString (optional (!withGui) "d")) + "-" + version;
+
+    buildInputs = [ autogen autoconf automake pkgconfig openssl
+                    boost zlib miniupnpc db utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+    patchPhase = ''
+      sed -i \
+        -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
+        -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
+        -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
+        src/m4/dogecoin_find_bdb51.m4
+    '';
+
+    configurePhase = ''
+      ./autogen.sh \
+      && ./configure --prefix=$out \
+                     --with-incompatible-bdb \
+                     --with-boost-libdir=${boost}/lib \
+                     ${ if withGui then "--with-gui" else "" }
+    '';
+
+    installPhase = ''
+      install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
+      install -D "src/dogecoind" "$out/bin/dogecoind"
+      ${ if withGui then "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt" else "" }
+    '';
+
+  };
+
+  mkDogeCoin = { withGui }:
+
+  mkAutotoolCoin rec {
+    name = "dogecoin";
+    version = "1.8.0";
+    inherit withGui;
+
+    src = fetchurl {
+      url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
+      sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
+    };
+
+    meta = {
+      description = "Wow, such coin, much shiba, very rich";
+      longDescription = "wow";
+      homepage = http://www.dogecoin.com/;
+      license = licenses.mit;
+      maintainers = with maintainers; [ edwtjo offline ];
+    };
+  };
+
+in {
+
+  dogecoin = mkDogeCoin { withGui = true; };
+  dogecoind = mkDogeCoin { withGui = false; };
+
+}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 24a3fcd4cea93..28555d910afe4 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
+    [ SDL boost boost.lib cmake ffmpeg gettext glew ilmbase libXi
       libjpeg libpng libsamplerate libsndfile libtiff mesa openal
       opencolorio openexr openimageio /* openjpeg */ python zlib fftw
     ]
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 00a5d15a84c95..3880ba0165e94 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-2.1.0";
+  name = "calibre-2.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7";
+    sha256 = "0rgfq7178mlaf6scpm1zvn2vsfls55rdb8apwbmskmnw5wk1q6hq";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix
index 9adac335c0c7f..a39a46222f1b4 100644
--- a/pkgs/applications/misc/camlistore/default.nix
+++ b/pkgs/applications/misc/camlistore/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, go, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.7";
+  version = "0.8";
   name = "camlistore-${version}";
 
   src = fetchurl {
-    url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz";
-    sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11";
+    url = "https://github.com/bradfitz/camlistore/archive/${version}.tar.gz";
+    sha256 = "03y5zs4i9lx93apqqqfgmbxamk06z3w1q763qp0lvb15mq45gdv1";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 937025c084037..5c12ebcbfeba9 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }:
+{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
 let
     py = python27Packages;
+    version = "14.07";
 in
 stdenv.mkDerivation rec {
   name = "cura";
 
-  src = fetchgit {
-    url = "https://github.com/daid/Cura";
-    rev = "58414695269d60ca9b165e8cbc3424933ed79403";
-    sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23";
-    fetchSubmodules = false;
+  src = fetchurl {
+    url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
+    sha256 = "1jfgkb2qh1syakcssk66yhnfjm9p9qcx48v34bbza9nryrdlmxdb";
   };
 
   desktopItem = makeDesktopItem {
@@ -67,5 +66,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/daid/Cura;
     license = licenses.agpl3;
     platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 256d337f679e8..e004b7db336c4 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchurl }:
+let
+  version = "14.03";
+in
 stdenv.mkDerivation {
-    name = "curaengine";
+  name = "curaengine";
 
-    src = fetchgit {
-        url = "https://github.com/Ultimaker/CuraEngine";
-        rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0";
-        sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr";
-    };
+  src = fetchurl {
+    url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz";
+    sha256 = "0f37jk6w3zd9x29c1rydqmfdzybx9nbmwdi3y3nzynq1vq7zmxcc";
+  };
 
-    installPhase = ''
-        mkdir -p $out/bin
-        cp CuraEngine $out/bin/
-    '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp CuraEngine $out/bin/
+  '';
 
-    meta = with stdenv.lib; {
-        description = "Engine for processing 3D models into 3D printing instructions";
-        homepage = https://github.com/Ultimaker/CuraEngine;
-        license = licenses.agpl3;
-        platforms = platforms.linux;
-    };
+  meta = with stdenv.lib; {
+    description = "Engine for processing 3D models into 3D printing instructions";
+    homepage = https://github.com/Ultimaker/CuraEngine;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
 }
diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix
new file mode 100644
index 0000000000000..685c0ecb4ede5
--- /dev/null
+++ b/pkgs/applications/misc/fme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext
+, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }:
+
+stdenv.mkDerivation rec{
+
+  name = "fme-${version}";
+  version = "1.1.3";
+  
+  src = fetchurl {
+    url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz";
+    sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d";
+  };
+
+  buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm glibmm libglademm libsigcxx ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Editor for Fluxbox menus";
+    longDescription = ''
+      Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++
+      with the libraries Gtkmm, Glibmm, libglademm and gettext for internationalization.
+      Its user-friendly interface will help you to edit, delete, move (Drag and Drop)
+      a row, a submenu, etc very easily.
+    '';
+    homepage = https://github.com/rdehouss/fme/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
index 65265fc07a5a8..06ea5e9ad5cb6 100644
--- a/pkgs/applications/misc/freicoin/default.nix
+++ b/pkgs/applications/misc/freicoin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   # I think that openssl and zlib are required, but come through other
   # packages
-  buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
+  buildInputs = [ db boost boost.lib gmp mpfr miniupnpc qt4 unzip ];
 
   configurePhase = "qmake";
 
diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix
index 010f75a575e6e..5dcee439ef91f 100644
--- a/pkgs/applications/misc/galculator/default.nix
+++ b/pkgs/applications/misc/galculator/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl
-, intltool, pkgconfig, gtk
- }:
+, intltool, pkgconfig, gtk }:
 
 stdenv.mkDerivation rec {
   
@@ -14,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ intltool pkgconfig gtk ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK 2/3 algebraic and RPN calculator";
     longDescription = ''
       galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
@@ -29,7 +28,8 @@ stdenv.mkDerivation rec {
       - Quad-precision floating point arithmetic, and 112-bit binary arithmetic
     '';
     homepage = http://galculator.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 1a0dea586d0e7..db8595e1baa8a 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -23,16 +23,16 @@
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.3";
+  version = "3.7.5";
 
   src = fetchurl {
     url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w";
+    sha256 = "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6";
   };
 
   buildInputs = [
-    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4 qwt
-    alsaLib SDL libusb1 uhd gsl makeWrapper
+    cmake pkgconfig git boost boost.lib cppunit fftw python swig2 orc lxml qt4
+    qwt alsaLib SDL libusb1 uhd gsl makeWrapper
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 06565065ce54b..b220c9127de65 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
 , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
+, transcode, cdrdao, dvdplusrwtools, vcdimager
 , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null
 }:
 
@@ -20,6 +21,11 @@ stdenv.mkDerivation rec {
     ];
 
   enableParallelBuilding = true;
+
+  # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format,
+  # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild,
+  # vcdxminfo, and vcdxrip
+  propagatedUserEnvPkgs = [ transcode dvdplusrwtools cdrdao vcdimager ];
                   
   meta = with stdenv.lib; {
     description = "CD/DVD Burning Application for KDE";
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 89f794850d276..b3fafbc401698 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "keepass-${version}";
-  version = "2.22";
+  version = "2.27";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
-    sha256 = "0mman7r1jmirfwzix5qww0yn4rrgzcg7546basxjvvfc8flp43j0";
+    sha256 = "1qi7pls5xrv7ma53bwka738idvnxk82dvhk06m1snc8c29dws7fa";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix
index 1a79af7cb577d..c39c72398f7bd 100644
--- a/pkgs/applications/misc/keepassx/2.0.nix
+++ b/pkgs/applications/misc/keepassx/2.0.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }:
 
 stdenv.mkDerivation {
-  name = "keepassx2-2.0alpha5";
+  name = "keepassx2-2.0alpha6";
   src = fetchurl {
-    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz";
-    sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm";
+    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha6.tar.gz";
+    sha256 = "592f9995b13c4f84724fb24a0078162246397eedccd467daaf0fd3608151f2b0";
   };
 
   buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ];
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index c87b6a8bc0a19..2fe07d8c5dd0d 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
     --enable-safe-mode
   '';
 
-    meta = {
+  meta = with stdenv.lib; {
     description = "A fast, lightweight terminal emulator";
     longDescription = ''
-    LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
+      LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
     '';
     homepage = http://lilyterm.luna.com.tw/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
new file mode 100644
index 0000000000000..52e8d20495b96
--- /dev/null
+++ b/pkgs/applications/misc/monero/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, cmake, boost }:
+
+let
+  version = "0.8.8.4";
+in
+stdenv.mkDerivation {
+  name = "monero-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/monero-project/bitmonero/archive/v${version}.tar.gz";
+    sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
+  };
+
+  buildInputs = [ cmake boost boost.lib ];
+
+  # these tests take a long time and don't
+  # always complete in the build environment
+  postPatch = "sed -i '/add_subdirectory(tests)/d' CMakeLists.txt";
+  doCheck = false;
+  checkTarget = "test-release"; # this would be the target
+
+  installPhase = ''
+    installBin \
+        src/bitmonerod \
+        src/connectivity_tool \
+        src/simpleminer \
+        src/simplewallet
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Private, secure, untraceable currency";
+    homepage = http://monero.cc/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.emery ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix
new file mode 100644
index 0000000000000..71c8c58938002
--- /dev/null
+++ b/pkgs/applications/misc/namecoin/default.nix
@@ -0,0 +1,37 @@
+{ fetchgit, stdenv, db4, boost, openssl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.75";
+  name = "namecoin-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/namecoin/namecoin";
+    rev = "31ea638d4ba7f0a3011cb25483f4c7d293134c7a";
+    sha256 = "c14a5663cba675b3508937a26a812316559938fd7b64659dd00749a9f5d7e9e0";
+  };
+
+  # Don't build with miniupnpc due to namecoin using a different verison that
+  # ships with NixOS and it is API incompatible.
+  buildInputs = [ db4 boost boost.lib openssl unzip ];
+
+  patchPhase = ''
+    sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
+  '';
+
+  buildPhase = ''
+    make -C src INCLUDEPATHS= LIBPATHS=
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/namecoind $out/bin
+  '';
+
+  meta = {
+    description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+    homepage = "http://namecoin.info";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.doublec ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix
new file mode 100644
index 0000000000000..ac721b955a554
--- /dev/null
+++ b/pkgs/applications/misc/namecoin/qt.nix
@@ -0,0 +1,33 @@
+{ fetchgit, stdenv, db4, boost, openssl, qt4, unzip, namecoin }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.75";
+  name = "namecoin-qt-${version}";
+
+  src = namecoin.src;
+
+  # Don't build with miniupnpc due to namecoin using a different verison that
+  # ships with NixOS and it is API incompatible.
+  buildInputs = [ db4 boost boost.lib openssl unzip qt4 ];
+
+  configurePhase = ''
+    qmake USE_UPNP=-
+  '';
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp namecoin-qt $out/bin
+  '';
+
+  meta = {
+    description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+    homepage = "http://namecoin.info";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.doublec ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix
new file mode 100644
index 0000000000000..dfeae77d343b5
--- /dev/null
+++ b/pkgs/applications/misc/notify-osd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, glib, libwnck3, libnotify, dbus_glib, makeWrapper, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "notify-osd-${version}";
+  version = "0.9.34";
+
+  src = fetchurl {
+    url = "https://launchpad.net/notify-osd/precise/${version}/+download/notify-osd-${version}.tar.gz";
+    sha256 = "0g5a7a680b05x27apz0y1ldl5csxpp152wqi42s107jymbp0s20j";
+  };
+
+  buildInputs = [
+    pkgconfig glib libwnck3 libnotify dbus_glib makeWrapper
+    gnome3.gsettings_desktop_schemas
+  ];
+
+  configureFlags = "--libexecdir=$(out)/bin";
+
+  preFixup = ''
+    wrapProgram "$out/bin/notify-osd" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Daemon that displays passive pop-up notifications";
+    homepage = https://launchpad.net/notify-osd;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.bodil ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix
new file mode 100644
index 0000000000000..6055997b28ee8
--- /dev/null
+++ b/pkgs/applications/misc/openbox-menu/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, glib, gtk, menu-cache }:
+
+stdenv.mkDerivation rec {
+  name = "openbox-menu-0.5.1";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/fabriceT/openbox-menu/downloads/${name}.tar.bz2";
+    sha256 = "11v3nlhqcnks5vms1a7rrvwvj8swc9axgjkp7z0r97lijsg6d3rj";
+  };
+
+  buildInputs = [ pkgconfig glib gtk menu-cache ];
+
+  patches = [ ./with-svg.patch ];
+
+  installPhase = "make install prefix=$out";
+
+  meta = {
+    description = "Dynamic XDG menu generator for Openbox";
+    homepage = "http://mimasgpc.free.fr/openbox-menu.html";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/openbox-menu/with-svg.patch b/pkgs/applications/misc/openbox-menu/with-svg.patch
new file mode 100644
index 0000000000000..dd6710f5cfc9f
--- /dev/null
+++ b/pkgs/applications/misc/openbox-menu/with-svg.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.old	2013-12-11 06:39:44.397358610 +0100
++++ b/Makefile	2013-12-11 06:39:51.082275037 +0100
+@@ -7,7 +7,7 @@
+ CFLAGS+=-DWITH_ICONS
+ # Uncomment this line if Openbox can display SVG icons 
+ # Check SVG support with '$ ldd /usr/bin/openbox | grep svg', librsvg must appear..
+-# CFLAGS+=-DWITH_SVG
++CFLAGS+=-DWITH_SVG
+ 
+ prefix= /usr/local
+ DESTDIR ?= $(prefix)
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
index f71800979619f..d7577987a171c 100644
--- a/pkgs/applications/misc/pcmanfm/default.nix
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "pcmanfm-1.2.0";
+  name = "pcmanfm-1.2.2";
   src = fetchurl {
-    url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.0.tar.xz";
-    sha256 = "1cmskj7dpjgrrn89z7cc1h1nsmd6qq3bakf207ldrhrxxv3fxl2j";
+    url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.2.tar.xz";
+    sha256 = "00wmbqrbcrxk1mcdkgdl8ddf3gp28rm5mamqdq72sfr0q2d0287n";
   };
 
   buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ];
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index d4ffe2a4afd7c..ec96ed76ce4e0 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Show the set of running processes as a tree";
     license = "GPL";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index abf55aa22b974..8ee006c5d7f1f 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
       temperature to allow your eyes to slowly adapt.
       '';
     license = stdenv.lib.licenses.gpl3Plus;
-    homepage = "http://jonls.dk/redshift";
+    homepage = http://jonls.dk/redshift;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   }; 
 }
diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix
new file mode 100644
index 0000000000000..a8338b80c9e41
--- /dev/null
+++ b/pkgs/applications/misc/roxterm/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, docbook_xsl, dbus_libs, dbus_glib, expat, gettext
+, gsettings_desktop_schemas, gdk_pixbuf, gtk2, gtk3, hicolor_icon_theme
+, imagemagick, itstool, librsvg, libtool, libxslt, lockfile, makeWrapper
+, pkgconfig, pythonFull, pythonPackages, vte }:
+
+# TODO: Still getting following warning.
+# WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
+# Seems related to this:
+# https://forums.gentoo.org/viewtopic-t-947210-start-0.html
+
+let version = "2.9.4";
+in stdenv.mkDerivation rec {
+  name = "roxterm-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/roxterm/${name}.tar.bz2";
+    sha256 = "0djfiwfmnqqp6930kswzr2rss0mh40vglcdybwpxrijcw4n8j21x";
+  };
+
+  buildInputs =
+    [ docbook_xsl expat imagemagick itstool librsvg libtool libxslt
+      makeWrapper pkgconfig pythonFull pythonPackages.lockfile ];
+
+  propagatedBuildInputs =
+    [ dbus_libs dbus_glib gdk_pixbuf gettext gsettings_desktop_schemas gtk2 gtk3 hicolor_icon_theme vte ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
+                         "-I${dbus_libs}/include/dbus-1.0"
+                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  # Fix up python path so the lockfile library is on it.
+  PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.python.libPrefix}/site-packages" [
+    pythonPackages.curses pythonPackages.lockfile
+  ];
+
+  buildPhase = ''
+    # Fix up the LD_LIBRARY_PATH so that expat is on it
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${expat}/lib"
+
+    python mscript.py configure --prefix="$out"
+    python mscript.py build
+  '';
+
+  installPhase = ''
+    python mscript.py install
+
+    wrapProgram "$out/bin/roxterm" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://roxterm.sourceforge.net/;
+    license = licenses.gpl3;
+    description = "Tabbed, VTE-based terminal emulator";
+    longDescription = ''
+      Tabbed, VTE-based terminal emulator.  Similar to gnome-terminal without the dependencies on Gnome.
+    '';
+    maintainers = with maintainers; [ cdepillabout ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 7392123673ad9..b0334dcd7ce98 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 })
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 7dbe723d9eb2b..6f1ced9097e96 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 let
-  version = "0.9.4";
+  version = "0.9.2";
 
 in stdenv.mkDerivation rec {
   name = "spacefm-${version}";
 
   src = fetchurl {
     url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
-    sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m";
+    sha256 = "3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c";
   };
 
   buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ];
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 8d914c262212c..df4c0ea97ebdd 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -6,11 +6,11 @@ assert stdenv.isLinux -> cryptopp != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "synergy-1.5.0";
+  name = "synergy-1.5.1";
 
   src = fetchurl {
-    url = "http://synergy-project.org/files/packages/synergy-1.5.0-r2278-Source.tar.gz";
-    sha256 = "097hk9v01lwzs7ly6ynadxmjh7ad68l5si7w4qmjn6z7l8b61gv6";
+    url = "http://synergy-project.org/files/packages/${name}-r2398-Source.tar.gz";
+    sha256 = "19q8ck15f0jgpbzlm34dzp046wf3iiwa21s1qfyj5sj7xjxwa367";
   };
 
   patches = optional stdenv.isLinux ./cryptopp.patch;
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
new file mode 100644
index 0000000000000..96ca38f581f8a
--- /dev/null
+++ b/pkgs/applications/misc/termite/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, pkgconfig, vte, gtk, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "termite-${version}";
+  version = "v7";
+
+  src = fetchgit {
+    url = "https://github.com/thestinger/termite";
+    rev = "f0ff025c1bb6a1e3fd83072f00c2dc42a0701f46";
+    sha256 = "057yzlqvp84fkmhn4bz9071glj4rh4187xhg48cdppf2w6phcbxp";
+  };
+
+  makeFlags = "VERSION=${version}";
+
+  buildInputs = [pkgconfig vte gtk ncurses];
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = {
+    description = "A simple VTE-based terminal";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    homepage = https://github.com/thestinger/termite/;
+    maintainers = with stdenv.lib.maintainers; [koral];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
index 50c4184c91e99..bfaca1731fc02 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 , autoreconfHook, gettext, expat
 , confuse, vte, gtk
-, makeWrapper
-}:
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
 
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index 65c2ccb5ff0bf..e144d12f762e5 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
   };
 
-  buildInputs = [ qt4 pkgconfig boost ];
+  buildInputs = [ qt4 pkgconfig boost boost.lib ];
   propagatedBuildInputs = [ dbus ];
 
   configurePhase = "qmake";
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index c23be51c3e80e..b1cfbd5d9ac4f 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     qmake PREFIX="$out"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A mind-mapping software";
     longDescription = ''
       VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
       vym offers much more features to work with such maps.
     '';
     homepage = http://www.insilmaril.de/vym/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainer = stdenv.lib.maintainers.AndersonTorres;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
new file mode 100644
index 0000000000000..8dcef600f9596
--- /dev/null
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -0,0 +1,57 @@
+{stdenv, fetchurl, pkgconfig
+, python
+, intltool
+, docbook2x, docbook_xml_dtd_412, libxslt
+, sword, clucene_core
+, gnome_doc_utils
+, libgsf, gconf
+, gtkhtml, libgtkhtml, libglade, scrollkeeper
+, webkitgtk
+, dbus_glib, enchant, isocodes, libuuid }:
+
+stdenv.mkDerivation rec {
+  name = "xiphos-${version}";  
+  version = "3.2.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gnomesword/Xiphos/${version}/${name}.tar.gz";
+    sha256 = "0xff31f89as1p7fn3vq8ishjhbmx6qhc25msh5ypa0zg8hm5dxbb";
+  };
+
+  buildInputs = [ pkgconfig python intltool docbook2x docbook_xml_dtd_412 libxslt sword clucene_core gnome_doc_utils libgsf gconf gtkhtml libgtkhtml libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid ];
+
+  prePatch = ''
+    patchShebangs .;
+  '';
+
+  preConfigure =  ''
+    export CLUCENE_HOME=${clucene_core};
+    export SWORD_HOME=${sword};
+  '';
+  
+  configurePhase = ''
+    python waf configure --prefix=$out    
+  '';
+  
+  buildPhase = ''
+    python waf build
+  '';
+
+  installPhase = ''
+    python waf install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A GTK Bible study tool";
+    longDescription = ''
+    Xiphos (formerly known as GnomeSword) is a Bible study tool
+    written for Linux, UNIX, and Windows using GTK, offering a rich
+    and featureful environment for reading, study, and research using
+    modules from The SWORD Project and elsewhere.
+    '';
+    homepage = http://www.xiphos.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index 989ceb235b027..f45908b2387a1 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -5,15 +5,15 @@ let
     else if stdenv.system == "i686-linux" then "i386"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-  sha256 = if stdenv.system == "x86_64-linux" then "1xba0wv45w4kg84i5sywkfk44vj9wxkr7f1vga2mpz86j8vq25iy"
-    else if stdenv.system == "i686-linux" then "10ml1wclix9236zcb4mh60hdm9vvfaarlb62z7fdrwk6ikqbm7fk"
+  sha256 = if stdenv.system == "x86_64-linux" then "115xsbi5z8ll0z07vx4rzzsgr6qba43f3z3nzx33pva5dpdr3ci9"
+    else if stdenv.system == "i686-linux" then "110k6cq6l3nr1gak2ri6i1kwis78r3zc1ilbipgcccdczf9fnx7p"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
   libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
 in
 stdenv.mkDerivation rec {
   name = "btsync-${version}";
-  version = "1.3.94";
+  version = "1.4.82";
 
   src  = fetchurl {
     url  = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 46dadd280c9a1..2676104db3e00 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -27,6 +27,7 @@
 , proprietaryCodecs ? true
 , cupsSupport ? false
 , pulseSupport ? false, pulseaudio ? null
+, hiDPISupport ? false
 
 , source
 , plugins
@@ -162,6 +163,7 @@ let
       linux_sandbox_chrome_path="${libExecPath}/${packageName}";
       werror = "";
       clang = false;
+      enable_hidpi = hiDPISupport;
 
       # Google API keys, see:
       #   http://www.chromium.org/developers/how-tos/api-keys
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 4dfdca882bc8c..082e5258b5f44 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -12,6 +12,7 @@
 , enablePepperPDF ? false
 , cupsSupport ? false
 , pulseSupport ? false
+, hiDPISupport ? false
 }:
 
 let
@@ -27,7 +28,7 @@ let
     mkChromiumDerivation = callPackage ./common.nix {
       inherit enableSELinux enableNaCl useOpenSSL gnomeSupport
               gnomeKeyringSupport proprietaryCodecs cupsSupport
-              pulseSupport;
+              pulseSupport hiDPISupport;
     };
 
     browser = callPackage ./browser.nix { };
@@ -74,6 +75,7 @@ in stdenv.mkDerivation {
       --set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \
       --add-flags "${chromium.plugins.flagsEnabled}"
 
+    ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
     ln -s "${chromium.browser}/share/icons" "$out/share/icons"
     cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
   '';
diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix
index 0cf23f38b0f0d..c6c8626388895 100644
--- a/pkgs/applications/networking/browsers/dillo/default.nix
+++ b/pkgs/applications/networking/browsers/dillo/default.nix
@@ -3,8 +3,7 @@
 , openssl
 , libjpeg, libpng
 , perl
-, libXcursor, libXi, libXinerama
-}:
+, libXcursor, libXi, libXinerama }:
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -22,10 +21,13 @@ stdenv.mkDerivation rec {
 
   configureFlags =  "--enable-ssl";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.dillo.org/;
     description = "A fast graphical web browser with a small footprint";
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    longDescription = ''
+      Dillo is a small, fast web browser, tailored for older machines.
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index ecb57d6fe6ca4..73f8be7d93dcf 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -2,12 +2,12 @@
   m4, glib_networking, gsettings_desktop_schemas, dconf }:
 
 stdenv.mkDerivation {
-  name = "dwb-2014-07-03";
+  name = "dwb-2014-09-20";
 
   src = fetchgit {
     url = "https://bitbucket.org/portix/dwb.git";
-    rev = "6224470489eb5ba92987e01396269f8b7cd78ada";
-    sha256 = "04p9frsnh1qz067cw36anvr41an789fba839svdjrdva0f2751g8";
+    rev = "6a0e483533021157fa83ce7533c1b25c71254f00";
+    sha256 = "0l8ryz4aqcw6ax6w7y22yl9bh8fs3gxnlppbas1jq7q7hjk1qs31";
   };
 
   buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkitgtk2 gtk2 gnutls json_c m4 ];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56ba95c661f54..ecf8dbc0fc61f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,4 +1,4 @@
-# This file is generated from generate_nix.rb
+# This file is generated from generate_nix.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
 # ruby generate_nix.rb > default.nix
@@ -40,186 +40,188 @@
 assert stdenv.isLinux;
 
 let
-  version = "31.0";
+  version = "32.0.3";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; }
-    { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; }
-    { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; }
-    { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; }
-    { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; }
-    { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; }
-    { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; }
+    { locale = "ach"; arch = "linux-i686"; sha256 = "fd22fab9da5ba843876e0daf7db5069e3898a8bd548f8b324169914c88c02a10"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "221028e98d8cb1cb330da4d2707c7cf98d2ae0066081f0b505d6cc4fa8fd4b30"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "37c93da084d25bd47c6aaf5389846ba4ac1e68a8989c03890b69142a46a2dddc"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "91dc95820faca47b031a8685a12e67d2f0b7f2cc9be5ff40f316bcf4c4110eee"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "c1251a6eb097cfc2bfa1fb137bcfcfbea333d457d57de3dce40ca60b96b07a53"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "fe010c04615c743f0500f9066bfab2e53d799074cbbd17c458b072ee741547f6"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "e3482b3f6629c3addba28f86496c6608823b0a462ebca259bc9acc9ccadd07f3"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "d2ba7625730d461d5f870ad4151991071ed36f141c65872d2e9493108d495603"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "7f44156bd7087d5ddb46f8ecbcf2d7468b32cca7ed7ac88989e604b9853d603b"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "a189cb96dedc9943362eaa70e851c64e0115c6c526d9d38a38ce2d79d80dea56"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "5d62d0d12f4cd678567b470a1b6d94ea5889a5c6530a5d3d0b4d07c04bae1f18"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "2e6f1caf2432ae2e6b6b3125449f7dcca1e2a3658ce267a0320aa449934260d8"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "d41d7abad29170d7d5df953bf9f3f22c56df8e85ddb4ba657cc0cbf357cdef0f"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "c899602dcf3ca72c657cc30ea54f986f44943ea9583da1dd6d48ebfe4489b7be"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "e4ed4c432b3f399a2f7aa93ae62ae1ffadd8e4758c44f359a0faa401c014a3da"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "138dc4afa256ca1a6f50ea250df5a032c69020f629e2b91843947e73f8e665c9"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f450b36b71431f87e016c09ab0e26f8ed72ee7a0cede0689be13d8b61a882c"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "ad320fef3271f5c6955404847552d11800ca8e8d7821cda53eb3311b6014281f"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "1e4b1b3d06cbda0aacb1d971b9a70f5648f05e9ad225de87739baef602b3d58f"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "51264d05eb58cec598a726b8e29e583355431c429a6f9eeddc16360ad0ef0dd5"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "e0e661d835297bb895ee3d2887fb4321b9c3c5af73edf5d36d365b254b0dc731"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "94c8e2b56ec784f3e2912a36bece9866c20e419069591517477b67156ad65f47"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "ea2950b6c81b6cb108b518320c0e53406c972b6d46944fec39f92c10722be7ca"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "4ceba96a76ec7631dc524d3e3b56c5994967b7ef227f38d3e3aa435c131f561a"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "eb68c1f8e99ab00ddb9861ece4f1d17ca07c7e77fd4c2d4f4ff233f6f0018ba4"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "17fe82eeeeb6c385010980984b04a8e71d3770a0d36d83e26786a5884aed7c05"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "69e2a0769284464a95db122fa97f1dfb268b02b754fe6a4842683fd4c94d9a13"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "bebaef3126c14b4d23c024176170aabb090463cae1a1b72b6b498ab3720bb9cf"; }
+    { locale = "csb"; arch = "linux-i686"; sha256 = "9ac7be93d0c3a72460ee3fea75621008bee5b2e85b78796f02eded8239562d81"; }
+    { locale = "csb"; arch = "linux-x86_64"; sha256 = "1af41e62a6c9ee47dad2d031fd7dcc0ff8b773ac7a912e6888f068e533972dd4"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "339ff34b6b6d79db48b83ec9cc34fcb853652795e648c82845bbccf910b4286f"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "686e466692bda17671d2ebf3683d03671c8d063c6a6008f3b27455656a584c95"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "67f0ee2e479c49853929cfb1b7fefe95d25d563d67f88f1560b21abf60cd67d6"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "d9f7cbbaa576e501edc9c03df922f708562ef1d3f84eefe010b8138b23399e40"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "a294f585d7f8247ecffd6c71beff75ea07f1ffb1af17830aa54904b6e9c4a71c"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "6dd118ebe633c66ebc7ef0bf71dcc4d5c2ce42552a4b981b74442e184fa8f3a9"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "7b989e4a804e366b7dc4fcd500968851e0978b2cd0f9da95e6f6504b9ccff7de"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "aa41149f4f2bc6020980920bdf85d57157ad3cee7dd7be0fa3328ecbb11007bf"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "f1b5bc91e4e34d6f17f3e4ed65fc3ab71e066b41df3ec0ff8c1156a4a51d7fb9"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "fb602fcc45c21c26aa7d15924182d9158064d43c14c44c62786427eaf51d4b1f"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "ad269f2192a1d635b8b930aa58a0303a544221e53b38aa8c464c81d807e28477"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "31ac6558c5a1deb512e937a52ca48d2183881de53685ca0dfaa63dc4495e0a73"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "265ae5df1a5f2edeae8d08bdcde45df0920f6fb0ad70385371d06ff890017982"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "1a917f88835d8796c52a52ed5c14a9ea71e595de8515ced1ca1356995f529bd6"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "e345f37777a2d7fc763c24c7fb4fe3c6a99c2310066ad405c375b8af069eca84"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "d86bf38fb667938852531f081caefe10baba79dc35ff737fa468744911f6968b"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "7b4069d26d4abfdd9878192fc7c5a54686687c401425205bce064d9720ae6f7c"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "b1a1b3b8c0c72856e5bb6058dd0ea2dabf2d9dee084f0355a248bee253838b29"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "5ef56bebe60802f449bcbd1e53ae6726c5109c559a8a9707269de2a31481764a"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "65f909b7f1e67cfcebbc8cab1377b967095b5a7f9650c7fa861544bbc874b59f"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "0b7499173c0f44ccc4cecb49e1801bb596d7a027c5ee39678252530672785906"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "69573ffa581de80f21c0201083febcc7de5549d9e567f02227f7d4567c1a97f8"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "640bc3111816383cb69e59039289737ca5d16ec2f5238b694348e9df1db794a0"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "fca7e225eac47f200c3cd01ee617a1fc6bbd728eddba30bb4583eb486155ab47"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "32342a144805a3c4e6bab5de0411116862d0b8276befa6f8689eca5d9da01860"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "cc189b4d4abdd9e90fd0dbfcc5b683e2a717f1f41a7930d9c0b6c405de97a9b3"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "b203934a8292393d84f389ca3a13d25e0c9602a10faf60804b435cf45f2fd691"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "4384025c813efa759c2dd62ed735d662f26d1037e95e892050987d4b2f602a45"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "179fb3acef15d262a9d2f7347a32f1d99bbcd5048c5cab5b69aaccb35afe82f2"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "cec3a33bc9950f97f14fc6493158e095e7a1660e4d104c2ff23ce655813d28cc"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "7ce8f6af63ad6d683e5e70e9b077c2452a7c0c040bad83efceab860e3d41d288"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "14f7b3f7c7eff44db26c3b55ae85b8625354f1962315fd40e3df4199b067d303"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "f4c9eb89160a5d4bf815715860fc4bc6bc7954e544182e60b204a031f83be5e0"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "b774f005bb5dee44eb0974834b42441b47a68f733ef22446b2547aef898b0c02"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "873cf1d866f5db419549a9c39fad9524599a737d80c6568d7a5c9c3739d36cd4"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "29f179920b198403f983b11bbd3f1b2d2cb83c65f5f8edcff63dd891d50c413a"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "ade608f8965144177d656d33ff4fa2f8fbd8f54861fca68ac74abab9ca085ad5"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "9bfade44971633bca8b12d6e2e05de6d20ec55e368d78da49e44a0131e9d94bb"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "6124308765f3456ac066dc734d245c455168d66ed59a8a65edc1b59ff1130169"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "9a60afeb858c1e48e21e112f772bc2efd3ef2891b51d0241384658905b140709"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "2de086f287e86d29579896e8fdd9a4d43ba5ed49b5042e4b5c71ff6380d21467"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "4f2cb11d743ac7d6fb5bc319c940729aa81d9ac97545cf5c6096fcd0d2e7de69"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "c18e5614d73f79df017b1cdedb6949e907ffcdc4152ddfbd56f79242a742f13a"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "4b64e007698b2433ead4b14b87c06fd1682ebe7e90ee881d310a8cdab2cd4d13"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "b319a40c4fa9c81533f431e95ad8f33d365aa799d3dccde5188beb3442c8422d"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "04a9103e56982e4529c361647ccef527cfbbbb4e88a96a708c0665ee04accd44"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "a15bd410f9bdfde48438db95c44d91472f5567bd41c529b13a7b4d057f97a6b3"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "8046ecbabf700872e4e8cf5d1a1d3df53f984a00415e49cb1d21bd507533f4c9"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "8369eeb403ef55e61263eafb61e8265f130d5fe4dc277b5e68f6efb65edf6702"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "a602a9944685ce688a002ea87178e1231170b78ba6ee911a3c7effa41768ecb1"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "6eb2e8fa05bf7470f1be9756a5e529e5949f3e0796a0c663ee44c7264846fd3b"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "7e39439801361ab9051941323987364678ef9b1fc8e765bfad2d39d836b7bf85"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "84cabd389757c61cea75ffc642a4b52e544e841a124066701eb071d2d88c15ed"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "0bc123e9a5190d155727971c2bed078a5e6b857daa22f2f4bcee4aee76e07bbc"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "7a5d5a4a7a936defd6c3ea3b04550e39398428f90722d521490b700133964f82"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "545ec5865ce941ca3bc635032cd65215111d56b3f0d68814efdd8ecacaab1d1d"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "b540eadbfa2bf5232049e30167ccf16249786f612ec152c14999e660eceb6497"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "4f64d672481bfe88f40fcf944d98fafceae18372c1e2373bba8172877d7555b8"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "f5ace133a64745ecf564996ebd6be55ce3ee0ee5be2ed8fe6c66414833d1e479"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e949bffb9180b0ccdc6794b99b3897f9f30dbea84d9d218cd68477634eb58b25"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "73f2d64106a3404f6edcc66ab59091ffedb0fcd0c7f475becebebdfc4df41e1c"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "20d9193d9fc95a3e040220373c216913ca0099989d665b516b1e5de1cd7bf05b"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "d6bdeb739b5db8c8a25239963bf2f0d096b76f5914f8f4f4a4843e611beaad9f"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "300ccec13085aee1b011dd0058c279a31981b3e91280440672e09c71c4dd0eda"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "1e02459ec7e62ca3038018e6c88f410e53b0d7b3d1b6cb94d74ad0218a54a948"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "ba8e8a9ab5f391a5560b7bfd41dd853c6b52c2ff59ce8424f96236263985029d"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "681589c9748b0c7f78ba5c4afa0f254af6f92a0c0cfb504df6b29f94a917f8bb"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "7c6447f4dd823e1517ce12ad0b295b53a22d3a0855e1660fac9563a91f6999c2"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "0303c9b812115d3ada0d8fdfcf8e77143f4239440935bfaad5340d33a3270b8b"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "168b2ae2ac9168ae674d8649840fd7cc93d95325c7c0d60d7251239b776e5886"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "04ba6e90f883e52809e51202356e4abda62ae40bb0ed225965ec8eeca333457d"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "4903ca63d1ffdafbb7ae36eb7221992101a8a013928e25a820aac51022cdbade"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "2fc54219aa69f963c86e47fc2cafd78bfad2bbd2a11d2fb947786eaa30cfe255"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "8fd8e3de5ba9bf2f408da21bdedc1d2baf269fb33251d38fc84ec8b9c2fc86a8"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "eba2c630a59006bad5ff822409c18008e46a327e2903d88461dc88a54f573baa"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "baaafa60c8101ea2dfab30149e7ac6b953a63fb7c835e6aa1488349ce8a98384"; }
+    { locale = "ku"; arch = "linux-i686"; sha256 = "b1333ed8afb9cd20b0e24d25e5747f466050acf1fc4ae2924df1bb345ce49f90"; }
+    { locale = "ku"; arch = "linux-x86_64"; sha256 = "dd87578c93884388871680ef66f1d37e78f78939e7182a7d3a41fd8287afcdb8"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "6bdab68412b7d08da2023da4346eeac231bbda2de36d7225b7f7bdd23a36dbd6"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "d31d69421e74bf089e74f70e5c595284a8b60ce153c7c3ffd83e808adb1bf371"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "4e15475eed19edf5080695da8c9dc94d3bc28e064a30065a1adeb6ea11adcce9"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "f5b94a979a1863d068e4f35f71476677febe23de0de2dd803f44e57d2a196c55"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "177f771d821f7501d906fea0bec54d6064e36ce74dc5e17596cdbc460b7c0115"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "a958f13c3be77bdd1ea10edb5a453f54aaf6b2b7d00981762ea946abb2aa0a7c"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "32ee3fdb74c2023952071679cfc271ef548b0ba278619f0d2c2f19596c1b5fa1"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "c4bb89d5c9b16a4814a628ee31f8628cf287864db44d55ba11321d8203a1fd1c"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "b7ef5bee8ed38ba31ee2e2c1ab010e3a385b97096fff0120bb279e82b6220464"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "edf82adb52759c0d60f4bbf23ba1e0b2f7bb47475c80621a508e8a46c6221d06"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "265e68ed9ca02987ca9bc165b4fb69217e4e7aaf73d7ceb83eb0a3d472a3cbed"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "948eae17ae44b03c01124243f2246abe98fa6fdd17e9f174a8b1387f87994ff4"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "d3941188b754ec8219b0682eb8c3b531debbeccc0a5738a6304bb18075e473a6"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "b40f07132f883a703caefc275ad4a3a6d65f0e5535067595ddd9e7ff604ca315"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "217ae6fba0bb782e84bfc7d7658971c72a8922c4b8ae32abcacd8548c3b865ea"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "74d4a6123c40d92db7690e518d6943c916ee5a8ad266c94bdb8edc0e31f7e744"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "cc66fba1d389994b079962e78a7aeb2e4df8c3eea785ada286983a12329c2699"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "20161c2e0fdfdc65625d31d6ec1fbbdf2b88281e44b9dcbc9c4e5a07bf03d105"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "a8b86126c00e2fefe05a3783e03c7f3f6ca9575180b3b275b1dbb85c68cb126a"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "61fea91996c56b7279dc88714567b3e63f69d1b56a2922ea9886b74a69045d53"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "594e4c7393b6692bcbff4a732cb22687207cdbbfeb1d66bd10d7784fa60b1fd1"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ae78c76d203532c34023f06a6c7a3f26e864a1b95aca358b7c680e275b250c8a"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "b26642112413d3c53c6275a8b2bbaf162f4bdbaf9002ad4479b807e3447b2abe"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "d212b39c68a7cf8619c946ff7e94c2081ba2a9fca3ed599870167477a887fe87"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "e28e4bec4e4f9d151bdc1e1ffbd42266052fbd81a479c70196a614f825e42f9f"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "4874f5407d8040a5e447d5a22a8d9e433a6bda273bc813654d95e0b9abb02af5"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "f738a7209e3da17fbc2c955148ef1e0ec08878acf374b9bff2ae6cb0b3b50138"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "b78325bc9ab80c176ba266cc6c46933f78ba69e0da44e6526e7b433336534d11"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "dc1564eeb496b1b8584338879d26cfbe4e2191eef204c80ee6a2f9c2d4722426"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "48c8bb9a52ae80c74f6fe379b28cf072d8275158326e752c776c27409578fcfe"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "0e74d57776d68d3d35e26b5fabdb66016a00d8bf22c6ec458ffea2e2e233227d"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "61d5fbc72f928e59cdf93ef08684e4d598b154638bf88cdace7d274874efa040"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "1baa7d0d61394c3108ff7d91798fa917e63a1a0943785f94697619cbb684148a"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "5cec6c5c013997f1ebade4d139d055b1df3fb5ed75dd41e335535dbfc6bc9359"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "78e4f327a928aed2342d845c9e8e4458eca8f77898aa2a7dd5f7ca55fc61a62b"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "320c3dbd605c650b378ed8e93e8b2518039c8efab27471012a498dbc51d1cac3"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "3fc9d98a86e63717dfeaa58ece0dbbb1a0523801c56c056ff74a60491a27fcb9"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "1d95e946fbb109380ad2e2fd5986f12211241113e218ae7ecb43e009b7aa5a37"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "12d8e83cc703c00da6054bd32bdf39993b588cbb5374880a3961d5ab476b6d29"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "4ce710ccda7b56a46a8fea2f42c499aa2296377a0979f76f19563caa85f4517e"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "86b726c25de378d53a8220681468fec88a7d525288b02eb9b700b12f87739ffc"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "bf8f6bb1b5fd7c82ca14f1802e7914e10b981c04d3ca89df983fe07d7df5b88c"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "39aaca3b7a559346aa418fd4abb1f2a44dc71901050a212178e3cbc7b870e6b1"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "85f5f097c7b9a07bbcb97caa9c8e5cfd16d3636ae17b41ec32e91d1238134db9"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "2b5a33079e835afdf0246f8b4dec1db92fcc861636a75333c75f6d5d40c14201"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "4d91324e9b7f88db822216440d5420b0c8b0898bdf77699a6b0fde1ab4db2f0c"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "e3e0194f5e72904b056be4b3e941c015d5af0d9f1a349fa39492a6cefaf5236d"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "45767fa6b57fb21399d4850fa88a3435e3fe0bb679de56fc1c28767eca235ba5"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "0f7addd1581d8552b874651bc8dde5b2fe4d4b814c694272674fb5f7732000be"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "7b68d38004216c86e3eb648fa78b06da88a703d68343f723f8e9d577d4c1224c"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "5f76d137052ff04da12e80f08a34a09c6ccd92d9ddf2f6efcf193940a948f86c"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "1aac59a70ac58bfe1926e87a850d7a5a2783332cfd49d9df1ad1fd3e276a9a29"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "2716d50134514693b5d6edafc7c127c708b9973c39d42823987061547e4c18be"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "9c9310ad313227cab38d8cd9ff6c4d9c15037bd39777a7fbd4b23ca71a1ac48e"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "ac7d78ab767b13810ef7f313c2ba92067756082667db0e256e916f1f0be8c9fa"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "cd6fc0d115fb67272f205a3595c82107dc8b20ce0696a2de8da6f82a7ae07112"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "2d17b346aa296b79e880b83185d3608de4369de62e2e0ce2cfb8d2f3dd6ee97f"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "331f2c59b2659c65c6899455e9ce55cd54b8debf4d17a60a8d6e76e2198080b6"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "491550857b3b2b3643f1798a9e871492177cdddfd17366057d147e1fbe1ca40e"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "aa8677def660eb8a3d258e7e7da05972e84be96807c8c7912f15bde05d749af7"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "9ebb7a0997353bc84b5d48ffae1631d30a70ecc3ed21010fc8499513e3404651"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "d686139d6622d6867cb9af95ec0c5e79866974d12468722d40c0ede104897034"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "e56c74b2f6752667f9448c081114065aa0d1c63979cc4bbbf1965a7acc62133e"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "41c79d4bcca7c28d02108129de1c8c93f5666bbaf651faef1eb9b424d4e8cb5d"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "89f30d4950fec07c9f1df426c1e5e9f72ab15efa5db93d243418909369d69f03"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "f97ea6169a6bdd4e48a0aee72ca709ebc1e2032a406d3dde6d8a6719b8429ee7"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "9ad1e75c6ca5f38bb565e747cec2901ad567efd69efa56328b912e37239f5b9e"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "400baea252b6f92051e7b054bdb4a4827571036ff7def10cbd841cfe2eaea60a"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "2e7bc62dd7c6c41c5feaf8cf9131bbbb0f0a3403870e57066a98147275b120fd"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f2d620e5f4e8baac689557dc34ce582aaf36bcf4253c4f7cb00db52e1e1db98e"; }
+    { locale = "zu"; arch = "linux-i686"; sha256 = "c9915d4f1b637934ba22dbb81aa2f711417fd5600c6efe25781f11bbd0c707cc"; }
+    { locale = "zu"; arch = "linux-x86_64"; sha256 = "8fa84e20fb1e21947a8f727bb881d8249bf384944ee9693314cb39715547da5d"; }
   ];
 
   arch = if stdenv.system == "i686-linux"
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
index a768b1f8dffc5..7936741cb3e78 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
@@ -44,7 +44,7 @@ end
 
 
 puts(<<"EOH")
-# This file is generated from generate_nix.rb
+# This file is generated from generate_nix.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
 # ruby generate_nix.rb > default.nix
@@ -83,6 +83,8 @@ puts(<<"EOH")
 , systemd
 }:
 
+assert stdenv.isLinux;
+
 let
   version = "#{real_version}";
   sources = [
diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix
deleted file mode 100644
index 1e2c3e2cfb194..0000000000000
--- a/pkgs/applications/networking/browsers/firefox/30.nix
+++ /dev/null
@@ -1,211 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
-, hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base, icu
-, debugBuild ? false
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
-  firefoxVersion = "30.0";
-
-  xulVersion = "30.0"; # this attribute is used by other packages
-
-
-  src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
-  };
-
-  commonConfigureFlags =
-    [ "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-libvpx"
-      "--with-system-png"
-      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
-      "--enable-system-ffi"
-      "--enable-system-hunspell"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      "--enable-system-cairo"
-      "--enable-gstreamer"
-      "--enable-startup-notification"
-      # "--enable-content-sandbox"            # available since 26.0, but not much info available
-      # "--enable-content-sandbox-reporter"   # keeping disabled for now
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer"
-      "--disable-updater"
-      "--disable-pulseaudio"
-    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--enable-optimize" "--enable-strip" ]);
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
-        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
-
-    preConfigure =
-      ''
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
-        mkdir ../objdir
-        cd ../objdir
-        configureScript=../mozilla-release/configure
-      ''; # */
-
-    #installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    preInstall = ''
-      # The following is needed for startup cache creation on grsecurity kernels
-      paxmark m ../objdir/dist/bin/xpcshell
-    '';
-
-    postInstall = ''
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      rm xulrunner
-
-      for i in $out/lib/$libDir/*; do
-          file $i;
-          if file $i | grep executable &>/dev/null; then
-              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done
-      for i in $out/lib/$libDir/*.so; do
-          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done
-
-      # For grsecurity kernels
-      paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
-
-      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
-          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
-      done
-
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip pysqlite
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    patches = [
-      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
-      ./xpidl.patch
-    ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    makeFlags = [
-      "SYSTEM_LIBXUL=1"
-    ];
-
-    # Because preConfigure runs configure from a subdirectory.
-    configureScript = "../configure";
-
-    preConfigure =
-      ''
-        # Hack to work around make's idea of -lbz2 dependency
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":"
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
-        # Building directly in the main source directory is not allowed.
-        mkdir obj_dir
-        cd obj_dir
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        cd "$out/lib/"firefox-*
-        rm firefox
-        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
-        chmod a+x firefox
-
-        # Put chrome.manifest etc. in the right place.
-        mv browser/* .
-        rmdir browser
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index e23a6d94ec1a7..ca6e6f97d8a09 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -15,14 +15,14 @@
 
 assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
-let version = "31.0"; in
+let version = "32.0.3"; in
 
 stdenv.mkDerivation rec {
   name = "firefox-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
+    sha1 = "1f831147365478e353212714038e812ca3e9fe42";
   };
 
   buildInputs =
@@ -66,7 +66,8 @@ stdenv.mkDerivation rec {
     ]
     ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
                       else [ "--disable-debug" "--enable-release"
-                             "--enable-optimize" "--enable-strip" ])
+                             "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
+                             "--enable-strip" ])
     ++ lib.optional enableOfficialBranding "--enable-official-branding";
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 55521a13f9cba..32baa0b6a868b 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
 
 let
   # -> http://get.adobe.com/flashplayer/
-  version = "11.2.202.400";
+  version = "11.2.202.406";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -47,18 +47,20 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "043bzjcqxjkjk68kba5nk77m59k6g71h32bypjpnwaigdgbhafyl";
+        sha256 = "05akcw89kz0cnhan6wp72banz2asmvqfhb2cw1krn66qgd7bl0x0";
       }
     else if stdenv.system == "i686-linux" then
-      if debug then {
+      if debug then
+        throw "flash debugging version is outdated and probably broken" /* {
         # The debug version also contains a player
         version = "11.1";
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
         sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
-      } else rec {
+      }*/
+      else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "1xvfzm926rj0l2mq2kybrvykrv7bjfl3m7p5mvhj1586a3x1gb6h";
+        sha256 = "10f3842vi80kszj42f4c8sw7plrmvsin5k860cqvlzgdhndz8i4b";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index afe0600d6f7e5..029df7e46ded6 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -13,6 +13,7 @@ let
     [ mesa
       xorg.libXt
       xorg.libX11
+      xorg.libXrender
       cairo
       libpng
       gtk
@@ -47,20 +48,20 @@ stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
 
   # You can get the upstream version and SHA-1 hash from the following URLs:
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages
-  version = "5.1.5.0";
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1'
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA1'
+  version = "5.4.2.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1";
+        sha1 = "d75fad757750b4830c4e401ade92b4993e2a4ab2";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963";
+        sha1 = "410872377b0bdac06b580c5e1755a3a3c712144b";
       }
     else throw "Google Talk does not support your platform.";
 
@@ -72,22 +73,18 @@ stdenv.mkDerivation rec {
     ''
       plugins=$out/lib/mozilla/plugins
       mkdir -p $plugins
-      cp opt/google/talkplugin/libnp*.so $plugins
+      cp opt/google/talkplugin/*.so $plugins
 
-      patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgoogletalk.so
+      for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do
+        patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" $plugins/$i
+      done
 
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgtpo3dautoplugin.so
+      for i in libgoogletalkremoting.so libnpo1d.so; do
+        patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" $plugins/$i
+      done
 
       mkdir -p $out/libexec/google/talkplugin
-      cp -prd opt/google/talkplugin/{GoogleTalkPlugin,locale,windowpicker.glade} $out/libexec/google/talkplugin/
-
-      mkdir -p $out/libexec/google/talkplugin/lib
-      cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/
-
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib" \
-        $out/libexec/google/talkplugin/lib/libCgGL.so
+      cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/
 
       patchelf \
         --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
new file mode 100644
index 0000000000000..10b2ffaff5bfe
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, dpkg, zlib }:
+
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+
+stdenv.mkDerivation {
+  name = "TREZOR-bridge-1.0.5";
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url    = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_amd64.deb;
+        sha256 = "0097h4v88yca4aayzprrh4pk03xvvj7ncz2mi83chm81gsr2v67z";
+      }
+    else
+      fetchurl {
+        url    = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_i386.deb;
+        sha256 = "0xzbq78s3ivg00f0bj6gyjgf47pvjx2l4mm05jjmdar60bf1xr1n";
+      };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  unpackPhase = "${dpkg}/bin/dpkg-deb -x $src .";
+
+  installPhase = ''
+    mkdir -p $out/etc/udev/rules.d/ $out/lib/mozilla/plugins
+    cp ./lib/udev/rules.d/51-trezor-udev.rules $out/etc/udev/rules.d/
+    cp ./usr/lib/mozilla/plugins/npBitcoinTrezorPlugin.so $out/lib/mozilla/plugins
+  '';
+
+  meta = with stdenv.lib;
+    { description = "Plugin for browser to TREZOR device communication";
+      homepage = https://mytrezor.com;
+      license = licenses.unfree;
+      maintainers = with maintainers; [ emery ];
+    };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 5f046f7b7328f..bf14e7e53414e 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
new file mode 100644
index 0000000000000..98679e9609ec9
--- /dev/null
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, coreutils, fetchurl, patchelf, gcc }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x86_64"
+    else if stdenv.system == "i686-linux" then "x86"
+    else if stdenv.system == "armv6-linux" then "armv6h"
+    else throw "Copy.com client for: ${stdenv.system} not supported!";
+
+  interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
+    else if stdenv.system == "i686-linux" then "ld-linux.so.2"
+    else if stdenv.system == "armv6-linux" then "ld-linux.so.2"
+    else throw "Copy.com client for: ${stdenv.system} not supported!";
+
+  appdir = "opt/copy";
+  
+in stdenv.mkDerivation {
+  
+  name = "copy-com-1.4";
+
+  src = fetchurl {
+    # Note: copy.com doesn't version this file. Annoying.
+    url = "https://copy.com/install/linux/Copy.tgz";
+    sha256 = "f8da6dbfdaac71c4c4e9102671cf8fbe4ac5cb1dac63464783b8b62a7939b6fa";
+  };
+
+  buildInputs = [ coreutils patchelf ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/opt
+    cp -r ${arch} "$out/${appdir}"
+    ensureDir "$out/bin"
+    ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console"
+    ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent"
+    ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd"
+    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
+      "$out/${appdir}/CopyConsole"
+
+    RPATH=${gcc.gcc}/lib:$out/${appdir}
+    echo "updating rpaths to: $RPATH"
+    find "$out/${appdir}" -type f -a -perm +0100 \
+      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
+
+
+
+  '';
+
+  meta = {
+    homepage = http://copy.com;
+    description = "Copy.com Client";
+    # Closed Source unfortunately.
+    license = stdenv.lib.licenses.unfree;
+    maintainers = with stdenv.lib.maintainers; [ nathan-gs ];
+    # NOTE: Copy.com itself only works on linux, so this is ok.
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
index 3639f50c4393e..f4f1e94438d80 100644
--- a/pkgs/applications/networking/davmail/default.nix
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "davmail-4.5.0";
+  name = "davmail-4.5.1";
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/davmail/davmail/4.5.0/davmail-linux-x86_64-4.5.0-2292.tgz";
-    sha256 = "0ixg26s8535b4xf4i8jr0v3acwvaslmi2dvcxg2nmzkicvh6rfd4";
+    url = "mirror://sourceforge/davmail/davmail-linux-x86_64-4.5.1-2303.tgz";
+    sha256 = "0y9dwxlfrfm6yf010fad1p5vsyz2ddci6vhz4sa1js2fq4rvyx7a";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 9ddcc5629b122..82a340591f219 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.10.28";
-  sha256 = if stdenv.system == "x86_64-linux" then "0jrg9xy03yc7npjhng9wiyzidbq7s5n8g4fwynnm1yqfd69r3yac"
-    else if stdenv.system == "i686-linux" then "17vbikhdp5l2s8cnqmk8dln4dfzvrvgqls7av3ngf71bx3bj0fij"
+  version = "2.10.30";
+  sha256 = if stdenv.system == "x86_64-linux" then "1gdch4fka5f671zwl329j6b60igki1rzxw9ggxcywcg1h4rlvw7r"
+    else if stdenv.system == "i686-linux" then "1a4pswpy945iqzvi8kcs1r0sydb04h28v5zv0hdyra0c548wsm2g"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
@@ -88,5 +88,6 @@ in stdenv.mkDerivation {
   meta = {
     homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix
index c80d55f94128d..3e7a80f137d5a 100644
--- a/pkgs/applications/networking/ids/daq/default.nix
+++ b/pkgs/applications/networking/ids/daq/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Data AcQuisition library (DAQ), for packet I/O";
     homepage = http://www.snort.org;
+    maintainers = with stdenv.lib.maintainers; [ aycanirican ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index 65e46176fcb4c..5b740cec93559 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Network intrusion prevention and detection system (IDS/IPS)";
     homepage = http://www.snort.org;
+    maintainers = with stdenv.lib.maintainers; [ aycanirican ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/networking/ike/default.nix
index 48f277ad4c98d..48f277ad4c98d 100644
--- a/pkgs/applications/ike/default.nix
+++ b/pkgs/applications/networking/ike/default.nix
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index cf10c1e6fe208..22e9143953ec1 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,19 +1,23 @@
 { fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "bitlbee-3.2";
+  name = "bitlbee-3.2.2";
 
   src = fetchurl {
     url = "mirror://bitlbee/src/${name}.tar.gz";
-    sha256 = "1b43828e906f5450993353f2ebecc6c038f0261c4dc3f1722ebafa6ea3e62030";
+    sha256 = "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s";
   };
 
   buildInputs = [ gnutls glib pkgconfig libotr ]
-    ++ stdenv.lib.optional doCheck check;
+    ++ optional doCheck check;
 
-  configureFlags = [ "--otr=1" ];
+  configureFlags = [
+    "--gcov=1"
+    "--otr=1"
+    "--ssl=gnutls"
+  ];
 
-  preCheck = "mkdir tests/.depend";
   doCheck = true;
 
   meta = {
@@ -31,9 +35,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.bitlbee.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with maintainers; [ ludo wkennington ];
+    platforms = platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index e46956f3ccae8..41bd4ca451312 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
+{ stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
 , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
 , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
 , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
@@ -15,10 +15,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
                   perl perlXMLParser evolution_data_server gnome_doc_utils avahi
                   libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
-                  gnome3.libsoup
-                  hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
-                  pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
-                  libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
+                  gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
+                  hicolor_icon_theme gnome3.gnome_icon_theme boost boost.lib
+                  autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
+                  nss zlib libsecret libXrandr randrproto which libxslt libtasn1
+                  gmp nettle makeWrapper ];
 
   preAutoreconf = ''
     substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-ldap-dir=${openldap}"
     "--with-libsasl2-dir=${cyrus_sasl}"
-    "--with-boost-libdir=${boost}/lib"
+    "--with-boost-libdir=${boost.lib}/lib"
     "--disable-gconf"
   ];
 
@@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out"/bin/ekiga \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index cf4c2e22ad6b8..22e8a97466b34 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib
 , mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
 , libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
-, makeWrapper, libredirect, xkeyboard_config }:
+, makeWrapper, libredirect, xkeyboard_config, xcbutilkeysyms }:
 
 let
 
-  version = "2.2.1107";
+  version = "2.2.1163";
 
   rpath = stdenv.lib.makeSearchPath "lib" [
     stdenv.glibc
@@ -40,18 +40,19 @@ let
     libvorbis
     xz
     libcanberra
+    xcbutilkeysyms
   ] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
-        sha256 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa";
+        sha256 = "0yafin8qfnv9kj61z9vxza42r7fv8b9j04qs50masbly0jg5xsg8";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
-        sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv";
+        sha256 = "1a0yvrnp41s53wpqv2jxsb3gd4vb49nfh89m6nwbw4qd85i5lfsp";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index d7dc755e9abbe..3870533aa89be 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib, makeWrapper, xlibs
-,  qt5, pulseaudio ? null, qt4, xkeyboard_config, libredirect }:
+{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
+, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, pulseaudio ? null
+, libredirect, quazip
+}:
 
 let
 
@@ -9,8 +11,8 @@ let
 
   deps =
     [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
-      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xlibs.libxcb
-      fontconfig xorg.libXext xorg.libX11 alsaLib qt5 pulseaudio
+      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
+      xlibs.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qt5 pulseaudio
     ];
 
 in
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
   installPhase =
     ''
       # Delete unecessary libraries - these are provided by nixos.
-      rm libQt*.so.*
+      rm *.so.*
       rm qt.conf
 
       # Install files.
@@ -65,7 +67,7 @@ stdenv.mkDerivation rec {
       ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
 
       wrapProgram $out/bin/ts3client \
-        --set LD_PRELOAD "${libredirect}/lib/libredirect.so:$out/lib/teamspeak/libquazip.so.1" \
+        --set LD_PRELOAD "${libredirect}/lib/libredirect.so:${quazip}/lib/libquazip.so" \
         --set QT_PLUGIN_PATH "$out/lib/teamspeak/platforms" \
         --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
     '';
diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
index b0302ba8e0bf2..812f00829e27c 100644
--- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libconfig lua5_2 openssl readline zlib ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # CPPFunction
+
   installPhase = ''
     mkdir -p $out/bin
     cp ./telegram $out/bin/telegram-wo-key
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 2e6b904c134ee..961ab997384ea 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--with-extra-includes=${libjpeg}/include";
 
   buildInputs =
-    [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
+    [ pkgconfig autoreconfHook commoncpp2 openssl boost boost.lib libsndfile
       libxml2 libjpeg readline qt3 perl file
       # optional ? :
       alsaLib speex
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = "-Wl,--as-needed -lboost_regex -lasound -lzrtpcpp -lspeex -lspeexdsp";
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # fatal error: messageform.h: No such file or directory
 
   meta = with stdenv.lib; {
     homepage = http://www.twinklephone.com/;
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
new file mode 100644
index 0000000000000..00ff1110c32fc
--- /dev/null
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, qt5, pkgconfig, boost, wirelesstools, iw }:
+
+stdenv.mkDerivation rec {
+  name = "linssid-${version}";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/linssid/LinSSID_${version}/linssid_${version}.orig.tar.gz";
+    sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
+  };
+
+  buildInputs = [ qt5 pkgconfig boost boost.lib ];
+
+  postPatch = ''
+    sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
+    sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \
+        -e "s|/usr|$out|g" \
+        -i linssid-app/linssid-app.pro linssid-app/linssid.desktop
+    sed -e "s|\.\./\.\./\.\./\.\./usr|$out|g" -i linssid-app/*.ui
+
+    sed -e "s|iwlist|${wirelesstools}/sbin/iwlist|g" -i linssid-app/Getter.cpp
+    sed -e "s|iw dev|${iw}/sbin/iw dev|g" -i linssid-app/MainForm.cpp
+  '';
+
+  configurePhase = "qmake linssid.pro";
+
+  meta = with stdenv.lib; {
+    description = "Graphical wireless scanning for Linux";
+    homepage = http://sourceforge.net/projects/linssid/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 821de027d284e..d42b71b231214 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -1,15 +1,21 @@
 { stdenv, fetchurl, openssl, lua, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "imapfilter-2.5.4";
-  
+  name = "imapfilter-2.5.6";
+
   src = fetchurl {
-    url = "https://github.com/lefcha/imapfilter/archive/v2.5.4.tar.gz";
-    sha256 = "e5a9ee0e57e16d02ff2cbb37b67202a514121d2eb7fc63863174644ca8248769";
+    url = "https://github.com/lefcha/imapfilter/archive/v2.5.6.tar.gz";
+    sha256 = "0c94xdcnkk33d2filzkbraymfzm09np78486kqzqwidnnfllsk86";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
-  
   propagatedBuildInputs = [ openssl pcre lua ];
-}
 
+  meta = {
+    homepage = "https://github.com/lefcha/imapfilter";
+    description = "Mail filtering utility";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 1e68d2e90b8d5..4ab85026dedc2 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -1,16 +1,28 @@
-{ stdenv, fetchgit, buildPythonPackage, pythonPackages }:
+{ stdenv, fetchgit, pythonPackages, gnupg1orig, makeWrapper, openssl }:
 
-buildPythonPackage rec {
-  name = "mailpile-dev";
+pythonPackages.buildPythonPackage rec {
+  name = "mailpile-${version}";
+  version = "0.4.0";
 
   src = fetchgit {
-    url = "https://github.com/pagekite/Mailpile.git";
-    rev = "6e19c1942541dbdefb5155db5f2583bf3ed22aeb";
-    sha256 = "04idlbjkasigq3vslcv33kg21rjyklm2yl8pyrf5h94lzabbl1fs";
+    url = "git://github.com/pagekite/Mailpile";
+    rev = "af3e2554dcef892cc44e044ce61e1693f09228c0";
+    sha256 = "0p8j5w5281rjl0nigsw7glfp7inz13p6iqlr9g3m3vh72i9pvl7h";
   };
+  
+  patchPhase = ''
+    substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir"
+  '';
 
   propagatedBuildInputs = with pythonPackages; [
-    pillow jinja2 spambayes pythonPackages."lxml-2.3.6" python.modules.readline or null];
+    makeWrapper pillow jinja2 spambayes pythonPackages.lxml
+    python.modules.readline pgpdump gnupg1orig
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/mailpile \
+      --prefix PATH ":" "${gnupg1orig}/bin:${openssl}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
@@ -19,4 +31,4 @@ buildPythonPackage rec {
     platforms = platforms.linux;
     maintainers = [ maintainers.iElectric ];
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 6add41edf7c31..d180ea290adba 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -1,4 +1,4 @@
-# This file is generated from generate_nix.rb
+# This file is generated from generate_nix.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
 # ruby generate_nix.rb > default.nix
@@ -40,118 +40,118 @@
 assert stdenv.isLinux;
 
 let
-  version = "31.0";
+  version = "31.1.2";
   sources = [
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "a1e9954236de1d0581342fbb894b721528bc51a208d3bbedd4d8defbcc1cb50f"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "0fe9c22ad8cf575813ae8e476d985a3b951174df5beda67fd98e261f831252aa"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "35fb5c44bc3ed25beec4f6172c44f75426579f27bd2302361870615bb1f62194"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "3b04ffd5e1640c0138e5dab63a1059bd0342fff9f44547c6b34fbe6da810f911"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "2e8a1b96820216fda11c234d80a74d7326b49d7ac3f595f646aa10dccde61940"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "006f25951b4ac90b8d8d32491d260900dfcfb24c10cd4a10dbadf3840b4bcd4e"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "839e95de15a4e0287cfe36d70e07d1d40a1708016f615244a84553794ac76b4c"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "592a353df70c368c3c9855ead6d3b68433e7ebaaf42169108b9e74a83517230b"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "890bc1ee046ebf67079bd39ecb761a78fbf8cee8f72b32958ad18a0c3184b23b"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "7b52dfc2cea5bedae2ccfe11b0ec2d66edb81b76c2272c60f4bb247970384c9f"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "6ab1e46650ff296719e498a1b9e5dad5c2f32e6be9d6fec12d1ab917a5f76872"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "fdb170e3f546de759ef8a8aa85f6c3bf5152e121739cc27797c3065f4f85c183"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "208be79ce95d45f4f69d8bf53d4e2f457410653a81117b4bd4d42bf14a1485dc"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "2e562f9f59457d484ccfb1beb0129e2ca3ba4e5cbf5c955a65480836dc2e6567"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "07c7836bac31fa835c244dbe5eff19bad5dc5a9339cb8a94bd07d88f8590c867"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "7124de1e3cff7a5c17506f8e175aab1aaf96d4c9fd57824d6c0af110f47b1fbc"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "5d4e7f1f82b53161e84abf45f4a7210f0304399efed2df621c2e24cd5f1e1db0"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "814798f7dd066228ae73ce6bfdf430db4f0c4e905ce8a6670c73f894865dbf4e"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "35727d874cdeca69e18cedc109b6c3540c8dbb7450b2158cb1209cf00272cc38"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "0aa2232adc0e06c0a841a11155c2cd8f317b2f12b0e02c239ebe6150ad3bc278"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "b45871e531b18a35f60240dc0417e5a9f08f8c9e3ea762a36e938425505df8b0"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "a32dd96a41ed33a81c240c60c3538db45c1c4357ceaf37c8482a378a526c5454"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "3162753876da622895175afb60cd89be1ee343a10a45f9ac3feb3b306e161838"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "7c8d26a07d239f18f94f14696036974317ac1186072ba4482c315d02dcb97e5f"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "8cfaf98f3702b418bfd7692373b9f6e99a4b06e47a75a2df602e98d8f6acf761"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "6bd9ab36402f3391abc2e96f8786e16407736cf04d524e562736ac47279e2a26"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "0a3e7c130197d4abcbf4d37eef51a946c11cf72707686f8c7a0caa9cc21e75c8"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "8d4003960a8a7a496662b59834118c8712443761b867e5f54f3bf4a683715d22"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "5db77f9d117071feeddb5eadf74ea6332ccf9abaa441ba4d7b0a5f0f3781452d"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "46995a9f269f0385fc9ac9d31ee65d84e79ac81bd61892adaeb1afff991bcc82"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "73071beb9caa24aaac8eec9cfb01f7e333dc6ac438ab36e7f5afa7d850dbeb8e"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "a17cc26a51bbcff44837d74bdb35ba0ae10def6f4b536c4a67e9169221bd0afb"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "4782b1f56c1f5fb1f802385d693a96b5013503e97e4d73e43fb90c3331aec839"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "dbba59d0c697e6dc05bc2b554eed2c6040642cb1246a4119cd7c37b0451c6d4e"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "b37a5eaf187d1c026990f55a3e993594a49bb689f1643d2f944c7f3c7cfd6819"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "629132c5cc5f937fb504542662bb8aa7570eee1ae648087dbfb0c6dedadfa53c"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "89e818736957569f91f7f329118b09a27b072c6d7c89f601eb02cd1d870c4088"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "6a3a358227972a0eb60b1b531f322ebb2e604805bfb50b55d88cb8447b443105"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "794b1e0be4bd6f8facebe3aa44f66a139a660d4fe75891f463adb5d7da7b32cb"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "81b51a607844b229d026d9acec4ea1739c365a890857871260b6eca92a176e04"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "924c5c47c76fc09f5a46176ef1a6e3466d783b8a4c08a5e660a03e0e84459116"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "c46c2285a6f1c825e52ea6cd7dda31d6f67be15668ecf71883c55c9fa21a3fd5"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "58a53bf3ad217b36beb9795f34349cfa3f10b7a39044f024c547be31b033ee28"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "21d1f89810a284818c0a73e8abd5b51a9ea58b7db2b9bf6dd5e0119f4bfc13a3"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "67cb3d38230d24c2a7615468ae2465e6f768904e3735ce31833dcba7b98023c5"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "9e6b5351e96b9b2c57ce04fddaf9656adf84bc2a961a8ca614cec2f830d4e2a7"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "80d0a09d93362f7eff9c7a20025080207a14c43e56b132c3962dd1d795d2a85c"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "07d92405612e1000bc0b401481e94548877511ce224f19b23aa4fa192f21d489"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "0d70e52c8dc5bf6f13c8ea2a5762cb94534ec54548c792ae181febc3d23c01cb"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "2962de1886753b81684360ffbf97afa4d4371662a6f467ebc369e225d335745d"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "6eacb202078be4de4a86c3fc957dbf482e32ab28805d719aa5d0d7f4fd832f48"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "83ed10b7d9d74a28f9982a9d11840522f214ccb53ed599f9fce6ae26bd9d2298"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "227140594d1e12f2edf4e942327a8c64ab922796f7bda324eead8a299a6082ab"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "bc219c6795389fbdf20c4a84a61c350f376374285eff9aaedbc4893fdcbbdc24"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "4ac7de0edc1d2b084f38058f8c55e8c2fad0782a1f7f7ac69af5c6f28e2a71f9"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "cf026ebca03f6eb59b81073f754b9989f2023bb61d8dfaacbb28da3372abf43b"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "001f67664b02736aa757fa99ec00c8df023ead8f94113d1040092057031c4557"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "39fdd81738e0cea77c0f860f0e5253416daa6bd13f1e9feab4c6a52c6dd981f9"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "0a5a830078e0774e81154f07055613d4b6dd6875be4ac976ac70883cfa0ed9cc"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "a33890be6ac154862b7b80f864990b3bbad2db8adbf1d26bf2cd61b175db673e"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "6f837f1c640c46dd99c4ab691ec6964e40b6d931830d4da604d4329c6d1ecde2"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "a37294fbf0b358e5b9619aa36a20f92fc637a6b0697b8d607b958d256ce81225"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "2bbb5800b9a6d03545ca3dfc8f99f9f30c11e474ea360481f1f7e9610b0a87b0"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "e2a68f359f48a19437605b581bf9a8cf911feabfb2b15ec3724c60d1cbfe15ec"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "976fbb88b1c75dc402b9eea76aef4d8a0886ee76bcf65d798a6ae8234b2b297a"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "190679f7638b3697b236d971014f0da938aa2d664afb93e7f4d1c0fb51bfb46e"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "530b19e48b0e49047746b2f5dd486cfb19930b1064478c465ce2acb21eac66ba"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "0fe30abe10b4c97aef9ee40550205e0f269c5cfe76c08a36c8cf886a5af78558"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "3f2d2784e3aa75cbd3ca0579d660b50b31e488253e52fedbfefc7c5448803967"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "83e64293ed8d1ecf509e2617a71fed9583e4d4c3de3ae5b50175ad8c0f8322ae"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "aa282b17eeeb185734f33d2ed9f287958d8a48ed82653d197426e3e3091ecba3"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "c17db84f0cfd5525e4b8a08e300cabbbcd2bc45f59eb886e180eef0f8c4e45ef"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "909ae64789280db1a07b3b57dfa1a5d337fecd3bd59bacd3bab2eb72dbecb04f"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "9021a15bda3d4947e1ed6ee6666a252e3541b020d8d7eb58e854e426719f8d6d"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "a3536d7e8bb429d562e7731fea8675dc9d442ca8e59cc72eb1b404da12d1d53a"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "99cb049415e4837e615e1946409d1fd62966ae8eb843d89dfb61a6675b5b363f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "06a17ca2ee8f44098252f24dae17589f32c80bd35e127a093c18161751a581fc"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "b8537b39f3e1242e3ed705ff919b01eb89ac72cf7c15ef0c44d258069c8ea317"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "f2f1e9babb37f79121034f9b8cbc90fbf9f0fa1c152a7f0d7162aff6f6e33f1a"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "60bc6bd468c820066e00f8108e0912df57a941b4150c06797a7958ec684c4969"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "a88591a1850b56c68dd75b4ecff79a32d46dcb42f788d66bb46d45cd0f0d5672"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "2bb7656dde363f3c3d3c8c8b4dbdb306f7e618491c917bc7c1b6e6f41d30fbf0"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "b396c752f7652e5ee31d6bec4bfb70b2d86438d966051f91e4d7a77ce5a924dc"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "1f0595e6953b0b6aa09577f180897760f8f85ba15e00e6ae3b12105c705cdac4"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "4d3a4d283705889759dcb321e4b700896b132634005590e546bf6744e6187260"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "456252e7bb5f29ef3c76afb2df0f406fcf93ef1c6df56d0f209bb85e91c8acce"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "ee93df33057576bd55bc80b71aeec7c6f487028f0fe52f679614811be5c71bae"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "7f7189250d76f970bfc1879b2ac6fe2d42bdcf3a652614fa4e080dcc636bbd4c"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "cb389bd9712def87c06ffab3fc50b8fa58c773c6725fd0e0befec3e2ac957ef5"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "8f9bf916357e7385dec5de9e4d58f6dfbe3c7fc6d2b66298304c3630189833e6"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "f89251f74b85c22a9f7b97b844a118e498698e205f733f1fb0d7a98787f973ee"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "019a15e1e83b6810de6a4d64deb3eba1a9c2a0c6f1c382582e356445e40d5bda"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "ae1d03ddf4b424edc59e08c65a9fb20107311289e4faf8f06f14bc471b00d35f"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "a19dce910ba5be35c0fd51be50bd96be3b3db84587f749ed9a108a14a3b732b7"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "8cb4cb6a99955209026224a4cbbcab7b37b0b9fc38147eeaa439631be7750c08"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4520a3ae24cc7056eb87d48280999c2c3da6aa76b9182c291512dc80363efb27"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "8803a9477f6ac963bdacfd82f6e6b8aabb217fa6c39b311645e461f38cda3757"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c8eae521293986be6d626302d91abbb88a12855565fd41c3614f7a5d7534f0cd"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9ea7f173533757c99a9c2dfdceab5cc58e583f929a2e7db95184823a00319a0a"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "6b9775f8142273d118870887da2728da4732609395897513739df7b352a4989c"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "bcaeea579405f015fcdb78e16cfd92e4c0895614c5966a1a7049a4fe310b1c46"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "7de3a89ece968819fcd7f438aaa2f5762f9d936b20fb3c364467ac123b24182e"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "af7f04ef648264f56dcb62e7e473586f3c5b13d3ecd2918278962f335dda7966"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "8477854792552b471e4eb11f71c79b14544cf438e795feae3082c0f3a31e0c8a"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "21db7e27557670796db9282174e7da04afe3a0c89b31e042f7bbd3992e4e08be"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "8f05b160d346b45308ba0c7dbe531bce043f22abffd2a4d1200628669a3b4aa0"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "5e77c23bdb52dba7b663b574520972e2b78588e5143922c1e1837c0e0bd71a86"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "35e663dad586cce929baa1ec501b149ff586df15a687eb41a8cc619c542a625c"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "211322939ab3b4bfc3e6f0548356c9479db5deb687e1e2232f527462017dcd2d"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0d50802a6fd7d9256591076c267759d39af91f680025b03ec6925e21c20494e4"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "210f0037279ec373d5d189a8724962fec3237900c343ca93d2421ca93a35f201"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "7436275f73a1292567cc587bd41439ecb724fac5e092f0b0f2af932bf39805f7"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "14b878d70f96e60e3a73134c3cbb35cc6d468446b588510ae5f2e8934d8fbb3b"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "6edabe4a5bf81274cb117bdf7ec7d0b89f3759b9f31e1b9e03c0c603cda2e91f"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "9f65b45570f83d41b856f99b3077e6e112fa65b3762eb51277269fdbf07cfdb2"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "6a500164772c004d851f13d77a7a9b84428b5c372fdba6f0936c1ddd398d9087"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "fb5f9ab606101cfebe86f64f64b9e46ecd73a704c1a2a993e4b4d68129d84484"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "54517217aa8cf4d715dd2c7d5cf7c4b96bd5f0add2dda9d9d9412ea10b4210a4"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "2ff66a151f4003b5dc0432b43e1038e0c69645c58fc5d6015cab3e493a8ed9a7"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "e34c892ff3fe761c2707036c5ea3453fe411dca2ad2e474ead7ef0c209558e06"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "46154b1fab58e9040e4e67b01ae2c5865b644ccf8f2239c396725bf063eae640"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "271f169763271582698b8ec23d9ca463b41a7d2b373b56d9c170179e15f0fc34"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "2b3f2e9933bcda04abc5785b77630cedcba2d85a73a9d535d895ed7910c97d54"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "e4878b6ec24d75cba9e991f6b852ec280992b205bca0e82a2aecfd9a607cdbb4"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "b2ff2e8b6c9b7ee81d0965380d15e080c204ffac35b687ca29ca41b51804b491"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "7afd4c4618f4e7758875ae58295e340289eb994723d3eea13c388751878e0b4e"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "41f07408eaec108a28f03917820329c801a386ad3628ebdeb7abd852e579ae72"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "ea667afbfeba6901a56cc44751d6bf202ef978ce7e39719e56c1fe31a622922b"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "cea91b552b14e4a417d288d93b4db10b787a1a15316ed7de0b3016be359ddcc5"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "8d72d7cca4885f527a8e8d2b8e2950d0ea0e5d1a840bcde38c08a77e3b6a69a7"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "92a28502463e92e6bb9cf7854358c13757222433f9931703a2df4d1ef93bdcbb"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "6b61650491252bb441a13b2fa550d9bdd76e6f23a0e5da641fde4372637c451c"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "4d35dfe5c9d66ea8f81fa0e5957152296f9af31968b8ed4975563c480abf2da8"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "3647b5345ac4fa5cc6cd301fefbe538d2442110f93cccb5e8eca4227bcbcd661"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "b06afea38900f268b95787c257d960de8c0174f582e51434aa97a9535fac43a4"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "c4ae2aebdd91543cf3c64ea25931327f6e8d2113b59d0b2fbb19561b4f935134"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "854d4c53fd22c5c1f4635ed41e7dadc6f0603439380e3d3f15ea7a5db5721941"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "64842c6606e2102434ed0b33bcb53d0cdef08e4b55e67e85b3c1244a7dab32d5"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "6632eec0a8bf14a77590fae44113d417589634a97cd0b57ef4ede7623cd5b632"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "727c25136106eca05d4c0bbddbe01672decc4a9f55b3246290c1c6e41cbef946"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "986ae49f92e2bab52cc3a4da4f9ca9bce34c01e96126d4fd9fe41d39d16a8ee3"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "c208dc5adb8bbe39535ec28836425d66d557d4ebb111aca9c0d025750ad0d3c4"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "ee8b101070f820849ec2bde48b76e102cf750bbcee106f47238259bb3cb791bb"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "19471d5e13856f85fc395b825fb297f88805bba5d1d6c2999c49c4947cc6ed43"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "b21ec0c7e2ee24b971828ae02419f06e3d9447c5e30b1c8257a1d8e1b5ac383e"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "6f8eda76fe19bd590e4f8e23e491edc93b870b72064814eb0d6352c99513397f"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "217a6b195255c841ff42f181aa4fa54bd76a91de61662098d96c4fb9e7d6b79a"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "f11ce6f7ef22cb99674668bfcd0f3614a4a9e162f9608fa1290ae26c6c199560"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "85f32820095ee3b50716731b2b369378cf530fd1f3ef3522a5cd55e00fb4ce5e"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "d67b98991de46de52f84627ccb7f2888551343eef94a5d7562e587fcd8d968ec"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "14914642dc540c6a0fa0df5816eb35b39b822dac4da58a79d9cfe1c3bf7ed1c0"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "c0421803b2be6704151177c0d13557a9d828e3b3333cd214734e2ed4aafce105"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "9226cd799114fcec9c1b53b403708e62ca9f151d43bb53167b822cd3ca779171"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "05e13ad7c9a53a123c3a50e858285f730a4a5ec95e93074cfda990f4466a1c4f"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "ed9b4f3bfd457d00792795584bf17bebf4b42967c111cf4f778aa7e88b437407"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "301dbc22a9af014aeb6f151ac1f6ff67ef667dabe31c5e487681f682bf8d567b"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "9894e91593b3d825d2572af8c520c8be5dd791a267bb056180dc4415d55f4dc1"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "0531f815bc4325f150465c753ffe849577931e47eb9528df3b58e666155856f0"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "4633afa9f32f6aa1bc91c1ca2e6d1b5622192c9a82fd4c591e0f6a3095ab0baf"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "2121bd74ce76a0ec1734e3171c8da8ac4d935c99f6c16344639ff7e60de9a860"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "d10a856d94c790281500cf1c41683255a858eecc43afaa74819ef2d3559216e9"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "964343e1ee3209dea0a90dcb1f5371cb0f949b68e059aa23fe80d53747a4699c"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "f28ce0029dc5fb3212bd020065c2d453d36db53c98df1806f0e4192ef3d8c5da"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "fb532732406c8338bfb947e20ee6a95ff1bb18b1d6eadcd7525153393894bdf9"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "5e05b156179978920c4c7ed995ef018ddaa6332c5fe1898d94314412d11567b0"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "acba5a042588731e8b1af0dcc7e075577551969d7c1081c23df6feae7f4d107d"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "92c6f00a0e014617b5fb53167c821f17f550e8307fcd4af831cde04891f00b40"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "191c531621e961b25bf8f16c2aad2ac57357d3456f84fc5efb4f7b7e9becc202"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "2f061035a0b6b07bb81d9f84f1bad9a7fd50b0546417fc047102e684683241c5"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "ee7b57cfbc15104568e12d0cc81a14118c7b0f2708963fbe2ba8ca7a2ce30a0b"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "a493b0d327f608a815654a74b22f0ab3237b139998b8720c197468fc624754b6"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "2b9e87e794e6ac423fd7e6c5500b8a63dc2f8a6a4bdf39de2bbfa5c06a2a8f67"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "d272ea7a87f15a649c8d6089b6a5eac91ca732b760163e36ee6634ac2a186313"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "2b71cab0bfd437a6c79125cbe0ccb82bc1fe257c6aa24b0b63c1a8456334e6e0"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "56a04b6a6a27d9eea98bb5539c927870a3a43aaace14d31faf54dd56b8ef128b"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "99e33539eff6a48d944f47fc86a98e07ab4395e90e509c050403e70820b11db4"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "4c7a67b83db3c15cb8385ec057eff849e59841d2c6e82f6839f76c747c09fd02"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "5e54ad0316c905a2fc137365e34ba24391ec3a12c638f1947d8048b9747b2a21"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "735d14680ba5108d9d422fda161d0cd1cf31ffb2d29d66b33671c58504436290"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "031b6f8a2f9a14689e91d887754221a972d4c9aa02807209126aa0d26be18b04"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "604db8cb078699262bf01f81a97bb745bda26efdb7e81bdae66ae5fe9f546c48"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "62a3ed654691720ff2cb2402efb450dcbe395baecd6c20dcba3d45455bfb68d1"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "81b2a2eab496824d109faf49b6df93adc9dce838058f3f70c9e9c99ad251baf3"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "6cdf95dd941475554630709d89fb802e8744bae7645ad9164dc2e8af701d195e"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "422f2173eae85a95611ba14a9945aac7b44076764b7c67d2c4198b3e6fe2fad7"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "d3d3dfc439bcb26cdb8d8f1ef0a9a24e804a6928aa6ac4f9ea2c0994c3e6e2c4"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "6d0e3db5748fa2bce8ebc3b51098241ba80971afea629836a37e4f84feeb0c85"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "4dd79725f91c163cd5a2073d52f3f599c2e0e95281e8235df0a20c9f8717fa07"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "7b1fb8c036729ee18507e0c3529cbaf93e8776801fba9bd8c93fa7b56dcf460e"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "926b0ad5e817af337b2f2f7416f98e935b5a6b90171816207275413c04dffb2c"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "a0c9e3abe9f3835166237a9ee12dffdc1e3255b59a47e3ed0f19ecf5a6f41ba8"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "173c030e3bba69c1634587a4032e4d0b49f37e0a94ba75c4deda7f23d25b21cc"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "25f3ca3328c99421db81e4d88b8fe51e913b01430e0db412699b11fef0c81240"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "df9f7737dddd56fb233d029c83c46a18470f992bc2b0222b54e1c4c36bde135b"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "181bbb3808b28a5dc170db90db69a99137ce5d49c559c59c4a185b1ee48bea3d"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "8b06fb2d2e4027aaa3ca5032823b203f5e2628c7673dd956103636916cf28a32"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "e7679ef7d467aeaa796af37e62a48fb08e60299cdeb6cea07fcbd8253cda7288"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "83a4b3a22de8be841be0967cda71dcc05958dddb690b7f90d80f1f6235555a49"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "b7db83686a2e9bf5e501ae32b608189af09eca9f4996b975960fcab3a97a10d2"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "aa081115593e5225f5fb47a9ba5bcd983da1c9e088f1a9f5cea3710afda75cd9"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "99698f7259b1c3fa21600c43aa2a946376547a852e04f5a20478282bdbbb99d8"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "bb2958eea731689b4fa48e98604233ef03b4de89107d801f72b12843cbc6fc70"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "988e95cda1b412663bcbf1c1b552ad24b889fdfc30e7228bc47ac7f14aa43b31"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "ac1f417ddc5b62f674f86f25a248d1434d996453892b4825ffb38852436d2df5"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "9209fa7bdada6245717dbfaf517d68cef04719812504bc0c988def6adc7baab5"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "6e2f046dae0a6fa80de190b95667340abcb0ddaddf1ecee813099a89142c56e1"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "f4acc2f18f55d7578555ac0b189aeb834adb6c3911ee665790fe4799774c8fe4"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "2dc24f408fc801df266f2b890109c2e7d4a0d47bc2db7f541d371037ffad8ff8"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "b9e89373d2d1b0123095cd45867014f87bc2696093127448e7b7b9cf72d294e6"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "191f8f5327e8a7607497b990dce09e6219c444cbe9261fdbf709cdd07d6cd57f"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "80cb0818fce6c8130c9344d3259a7bbc1722c1e7896853d365ad06cc4ccddd82"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "347027a7c82330f5bc1989a19afb6dde415c260ad4de6c312bd1bda30d4f7651"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "94f2742fd3a88826eab8712e77a503fb340437ed0a2c1657b64f13b8522c0ad6"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "8319f02f751d0683e5d015d32da3e12c94cb8a8fd27f8cdf5cd583e6e594bdfd"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "076ed4c9c2ed99769e278ed0965ca5da7efd00bc9fb225e36cffb712b7cedca5"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "e37bf18f4e32f050ac97b1a20cfa44832d4438524e2ef9c4ca82e7ed8c1307cb"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "afc9aef58f08bf8f4b300308a5a4e527ba93e1bae024983063efd82e96c36703"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "d46257893e5e1f17757f0b53c9201b12bc4e5b27bde1eecb007a858f61c49fab"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "8a1cbc00e4e6cffb3a225d9334e9c2372050203a0cba3b31c6537e02404efedb"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "ae17a6fb60f27bb95a11501a061c7ab9deb0a6ba89b17e6cf01394e18710a831"; }
   ];
 
   arch = if stdenv.system == "i686-linux"
@@ -264,6 +264,7 @@ stdenv.mkDerivation {
       fullName = "unfree";
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
index e19425c8e175d..fe2ed59389ef9 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
@@ -41,7 +41,7 @@ end
 
 
 puts(<<"EOH")
-# This file is generated from generate_nix.rb
+# This file is generated from generate_nix.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
 # ruby generate_nix.rb > default.nix
@@ -80,6 +80,8 @@ puts(<<"EOH")
 , pango
 }:
 
+assert stdenv.isLinux;
+
 let
   version = "#{real_version}";
   sources = [
@@ -204,6 +206,7 @@ stdenv.mkDerivation {
       fullName = "unfree";
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index c0c11ff1f1c39..89f660e60974d 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "31.0"; in
+let version = "31.1.1"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha1 = "0fe6666fddd4db82ec2e389f30c5ea11d4f72be5";
+    sha256 = "0xfxavc16qm0r27xpf8k3lxzzbhbp08g554n09ril30cx1zdjhs7";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index e38d5188dc2fb..fbf8955765aa1 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -6,14 +6,14 @@
 }:
 
 let pname = "liferea";
-    version = "1.10.10";
+    version = "1.10.11";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
-    sha256 = "0y01lhw0fn5m0j9ykz8x7i0wchjqbxp33cvvprsfxfwzz4x31jm4";
+    sha256 = "0mf5mpdj60j8if4qi5656l4pzhgwzhshf31yp0h53l1j442v109a";
   };
 
   buildInputs = with gst_all_1; [
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     for f in "$out"/bin/*; do
       wrapProgram "$f" \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
-        --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
index e4ca6d423cdc8..ba71e1985b469 100644
--- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
   };
 
-  buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+  buildInputs = [ cmake pkgconfig qt4 boost boost.lib bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
 
   cmakeFlags = ''
     -DUSE_ASPELL=ON
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 0ba160c8a9175..b896cc8e05bc9 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qbittorrent-3.1.3";
+  name = "qbittorrent-3.1.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "16m3l8qjcj63brzrdn82cbijvz8fcxfgpibi4g5g6sbissjkwsww";
+    sha256 = "0xhqli191r5v9b5x6wj1wsjlj6svf6ldgzl7jza39q3ipr5c2pg6";
   };
 
   buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
@@ -17,9 +17,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Free Software alternative to µtorrent";
     homepage = http://www.qbittorrent.org/;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 272bae14a12a4..68d7becdd3c20 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,30 +1,41 @@
 { stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
-, gnutls, libgcrypt, geoip, heimdal, lua5, gtk, makeDesktopItem, python
-, libcap
+, gnutls, libgcrypt, geoip, heimdal, lua5, makeDesktopItem, python, libcap, glib
+, withGtk ? false, gtk ? null
+, withQt ? false, qt4 ? null
 }:
 
-let version = "1.11.2"; in
+assert withGtk -> !withQt && gtk != null;
+assert withQt -> !withGtk && qt4 != null;
+
+with stdenv.lib;
+
+let
+  version = "1.12.1";
+  variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
+in
 
 stdenv.mkDerivation {
-  name = "wireshark-${version}";
+  name = "wireshark-${variant}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "077hjnmqn44s8dx3pc38bxps5liicjnhzrnf6ky2x60m2cp7ngr3";
+    url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
+    sha256 = "0jsqpr4s5smadvlm881l8fkhhw384ak3apkq4wxr05gc2va6pcl2";
   };
 
   buildInputs = [
     bison flex perl pkgconfig libpcap lua5 heimdal libgcrypt gnutls
-    geoip libnl c-ares gtk python libcap
-  ];
+    geoip libnl c-ares python libcap glib
+  ] ++ optional withQt qt4
+    ++ optional withGtk gtk;
 
   patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
 
-  preConfigure = ''
-    sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .)
-  '';
-
-  configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl";
+  configureFlags = "--disable-usr-local --disable-silent-rules --with-ssl"
+    + (if withGtk then
+         " --with-gtk2 --without-gtk3 --without-qt"
+       else if withQt then
+         " --without-gtk2 --without-gtk3 --with-qt"
+       else " --disable-wireshark");
 
   desktopItem = makeDesktopItem {
     name = "Wireshark";
@@ -36,18 +47,20 @@ stdenv.mkDerivation {
     categories = "Network;System";
   };
 
-  postInstall = ''
+  postInstall = optionalString (withQt || withGtk) ''
     mkdir -p "$out"/share/applications/
     mkdir -p "$out"/share/icons/
     cp "$desktopItem/share/applications/"* "$out/share/applications/"
     cp image/wsicon.svg "$out"/share/icons/wireshark.svg
+  '' + optionalString withQt ''
+    mv "$out/bin/wireshark-qt" "$out/bin/wireshark"
   '';
 
   enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.wireshark.org/;
-    description = "a powerful network protocol analyzer";
+    description = "Powerful network protocol analyzer";
     license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
new file mode 100644
index 0000000000000..fa722747e5fbf
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.36";
+
+  name = "backintime-common-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz";
+    md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8";
+  };
+
+  # because upstream tarball has no top-level directory.
+  # https://bugs.launchpad.net/backintime/+bug/1359076
+  sourceRoot = ".";
+
+  buildInputs = [ makeWrapper gettext python2 python2Packages.dbus ];
+
+  installFlags = [ "DEST=$(out)" ];
+
+  preConfigure = "cd common";
+
+  dontAddPrefix = true;
+
+  preFixup =
+    ''
+    substituteInPlace "$out/bin/backintime" \
+      --replace "=\"/usr/share" "=\"$prefix/share"
+    wrapProgram "$out/bin/backintime" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "$prefix/bin:$PATH"
+    '';
+
+  meta = {
+    homepage = https://launchpad.net/backintime;
+    description = "Simple backup tool for Linux";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.all;
+    longDescription = ''
+      Back In Time is a simple backup tool (on top of rsync) for Linux
+      inspired from “flyback project” and “TimeVault”. The backup is
+      done by taking snapshots of a specified set of directories.
+    '';
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/sync/backintime/default.nix b/pkgs/applications/networking/sync/backintime/default.nix
deleted file mode 100644
index 9b9e355f82810..0000000000000
--- a/pkgs/applications/networking/sync/backintime/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool }:
-
-let
-  version = "1.0.36";
-
-  src = fetchurl {
-    url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz";
-    md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8";
-  };
-
-  # because upstream tarball has no top-level directory.
-  # https://bugs.launchpad.net/backintime/+bug/1359076
-  sourceRoot = ".";
-
-  genericBuildInputs = [ makeWrapper gettext python2 python2Packages.dbus ];
-
-  installFlagsArray = [ "DEST=$(out)" ];
-
-  meta = {
-    homepage = https://launchpad.net/backintime;
-    description = "Simple backup tool for Linux";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
-    platforms = stdenv.lib.platforms.linux;
-    longDescription = ''
-      Back In Time is a simple backup tool (on top of rsync) for Linux
-      inspired from “flyback project” and “TimeVault”. The backup is
-      done by taking snapshots of a specified set of directories.
-    '';
-  };
-
-  common = stdenv.mkDerivation rec {
-    inherit version src sourceRoot installFlagsArray meta;
-
-    name = "backintime-common-${version}";
-
-    buildInputs = genericBuildInputs;
-
-    preConfigure = "cd common";
-
-    dontAddPrefix = true;
-
-    preFixup =
-      ''
-      substituteInPlace "$out/bin/backintime" \
-        --replace "=\"/usr/share" "=\"$prefix/share"
-      wrapProgram "$out/bin/backintime" \
-        --prefix PYTHONPATH : "$PYTHONPATH"
-    '';
-  };
-
-in
-stdenv.mkDerivation rec {
-  inherit version src sourceRoot installFlagsArray meta;
-
-  name = "backintime-gnome-${version}";
-
-  buildInputs = genericBuildInputs ++ [ common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ];
-
-  preConfigure = "cd gnome";
-  configureFlagsArray = [ "--no-check" ];
-
-  preFixup =
-      ''
-      substituteInPlace "$out/share/backintime/gnome/app.py" \
-         --replace "glade_file = os.path.join(self.config.get_app_path()," \
-                   "glade_file = os.path.join('$prefix/share/backintime',"
-      substituteInPlace "$out/share/backintime/gnome/settingsdialog.py" \
-        --replace "glade_file = os.path.join(self.config.get_app_path()," \
-                  "glade_file = os.path.join('$prefix/share/backintime',"
-      substituteInPlace "$out/bin/backintime-gnome" \
-        --replace "=\"/usr/share" "=\"$prefix/share"
-      wrapProgram "$out/bin/backintime-gnome" \
-        --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${common}/share/backintime/common:$PYTHONPATH" \
-        --prefix PATH : "$PATH"
-    '';
-
-}
diff --git a/pkgs/applications/networking/sync/backintime/gnome.nix b/pkgs/applications/networking/sync/backintime/gnome.nix
new file mode 100644
index 0000000000000..56d0f6c5481b2
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/gnome.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool, backintime-common }:
+
+stdenv.mkDerivation rec {
+  inherit (backintime-common) version src sourceRoot installFlags meta;
+
+  name = "backintime-gnome-${version}";
+
+  buildInputs = [ makeWrapper gettext python2 python2Packages.dbus backintime-common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ];
+
+  preConfigure = "cd gnome";
+  configureFlags = [ "--no-check" ];
+
+  preFixup =
+      ''
+      # Make sure all Python files refer to $prefix/share/backintime
+      # instead of config.get_app_path() which returns the path of the
+      # 'common' module, not the path of the 'gnome' module.
+      filelist=$(mktemp)
+      find "$out/share/backintime/gnome" -name "*.py" -print0 > $filelist
+      while IFS="" read -r -d "" file <&9; do
+      substituteInPlace "$file" \
+         --replace "glade_file = os.path.join(config.get_app_path()," \
+                   "glade_file = os.path.join('$prefix/share/backintime'," \
+         --replace "glade_file = os.path.join(self.config.get_app_path()," \
+                   "glade_file = os.path.join('$prefix/share/backintime',"
+      done 9< "$filelist"
+      rm "$filelist"
+
+      substituteInPlace "$out/bin/backintime-gnome" \
+        --replace "=\"/usr/share" "=\"$prefix/share"
+
+      wrapProgram "$out/bin/backintime-gnome" \
+        --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${backintime-common}/share/backintime/common:$PYTHONPATH" \
+        --prefix PATH : "${backintime-common}/bin:$PATH"
+    '';
+
+}
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 00a00530df44b..8d32c1e5d8650 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -7,37 +7,33 @@ assert enableACLs -> acl != null;
 
 stdenv.mkDerivation rec {
   name = "rsync-${version}";
-  version = "3.1.0";
+  version = "3.1.1";
 
   mainSrc = fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
     url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz";
-    sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1";
+    sha256 = "0896iah6w72q5izpxgkai75bn40dqkqifi2ivcxjzr2zrx7kdr3x";
   };
 
   patchesSrc = fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
     url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz";
-    sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p";
+    sha256 = "0iij996xbyn20yr4w3kv3rw3cx4jwkg2k85x6w5hb5xlgsis8zjl";
   };
 
   srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
-  patches = [(fetchurl {
-      url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a";
-      sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8";
-      name = "CVE-2014-2855.patch";
-    })]
-    ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
+  patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
 
   buildInputs = stdenv.lib.optional enableACLs acl;
   nativeBuildInputs = [perl];
 
   configureFlags = "--with-nobody-group=nogroup";
 
-  meta = {
-    homepage = http://samba.anu.edu.au/rsync/;
+  meta = with stdenv.lib; {
+    homepage = http://rsync.samba.org/;
     description = "A fast incremental file transfer utility";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons emery ];
   };
 }
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index d9b3627507eb8..43b8f1f011571 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -1,30 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libglade, libgnomecanvas, fribidi
-, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg
+{ stdenv, fetchurl, pkgconfig, gtk3, libglade, libgnomecanvas, fribidi
+, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
+, boost, libxslt
 }:
 
-stdenv.mkDerivation {
-  name = "abiword-2.8.6";
+stdenv.mkDerivation rec {
+  name = "abiword-${version}";
+  version = "3.0.0";
 
   src = fetchurl {
-    url = http://www.abisource.org/downloads/abiword/2.8.6/source/abiword-2.8.6.tar.gz;
-    sha256 = "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r";
+    url = "http://www.abisource.org/downloads/abiword/${version}/source/${name}.tar.gz";
+    sha256 = "00dc3w48k2z3l1hh5b0jhzfrskqxic4lp6g7w19v6kpz02632zni";
   };
 
-  prePatch = ''
-    sed -i -e '/#include <glib\/gerror.h>/d' src/af/util/xp/ut_go_file.h
-    sed -i -e 's|#include <glib/gmacros.h>|#include <glib.h>|' \
-      goffice-bits/goffice/app/goffice-app.h
-    sed -i -e 's/ptr->jmpbuf/jmpbuf(png_ptr)/' src/af/util/xp/ut_png.cpp
-    sed -i -e 's/\(m_pPNG\)->\(jmpbuf\)/png_\2(\1)/' \
-      src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp
-    sed -i -e 's/--no-undefined //' src/Makefile*
-  '';
-
   enableParallelBuilding = true;
 
   buildInputs =
-    [ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
-      libgsf enchant wv libjpeg
+    [ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
+      libgsf enchant wv libjpeg perl boost libxslt
     ];
 
   meta = with stdenv.lib; {
@@ -32,5 +24,6 @@ stdenv.mkDerivation {
     homepage = http://www.abisource.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
index 21f77ea1ea453..22f15f6521751 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/3.0.nix
@@ -2,19 +2,19 @@
 , texinfo, gnused }:
 
 let
-  rev = "a0c5addbbd";
+  rev = "5961384";
 in
 
 stdenv.mkDerivation {
-  name = "ledger-3.0.2.${rev}";
+  name = "ledger-3.0.4.${rev}";
 
   src = fetchgit {
     url = "git://github.com/ledger/ledger.git";
     inherit rev;
-    sha256 = "1yr4i8gpby67j4vl7xk109dwb14z8a424nwgva8rbms8115w4ps5";
+    sha256 = "0fmmhr3as4v2kb6h64k1fq979080cqhd75jvxfg7axk2mylb6b3q";
   };
 
-  buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
+  buildInputs = [ cmake boost boost.lib gmp mpfr libedit python texinfo gnused ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index bf6728abe637b..e7583c437c815 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -42,7 +42,7 @@ let
 
      configureFlags = "--with-boost=${boost}";
 
-     buildInputs = [ boost mdds pkgconfig ];
+     buildInputs = [ boost boost.lib mdds pkgconfig ];
   };
 
   fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
@@ -62,7 +62,7 @@ let
       (import ./libreoffice-srcs.nix));
     configureFlags = "--with-boost=${boost}";
 
-    buildInputs = [ boost mdds pkgconfig zlib libixion ];
+    buildInputs = [ boost boost.lib mdds pkgconfig zlib libixion ];
   };
 
   fetchSrc = {name, sha256}: fetchurl {
@@ -198,7 +198,7 @@ stdenv.mkDerivation rec {
     "--with-system-headers"
     "--with-system-openssl"
     "--with-system-openldap"
-    "--with-boost-libdir=${boost}/lib"
+    "--with-boost-libdir=${boost.lib}/lib"
     "--without-system-libwps"  # TODO
     "--without-doxygen"
 
@@ -236,7 +236,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = with xorg;
-    [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
+    [ ant ArchiveZip autoconf automake bison boost boost.lib cairo clucene_core
       CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
       freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
       hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index 4026031de0841..fb7a41d624660 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2
 , libart_lgpl, qt4, python, cups, fontconfig, libjpeg
-, zlib, libpng, xorg, cairo, podofo, aspell, boostHeaders, cmake }:
+, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }:
 
 stdenv.mkDerivation rec {
   name = "scribus-1.4.3";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4
       python cups fontconfig
       libjpeg zlib libpng podofo aspell cairo
-      boostHeaders # for internal 2geom library
+      boost # for internal 2geom library
       libXaw libXext libX11 libXtst libXi libXinerama
       libpthreadstubs libXau libXdmcp
     ];
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
new file mode 100644
index 0000000000000..658f460793f16
--- /dev/null
+++ b/pkgs/applications/office/zim/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, lib, fetchurl, buildPythonPackage, pythonPackages, pygtk, pygobject, python }:
+
+#
+# TODO: Declare configuration options for the following optional dependencies:
+#  -  File stores: hg, git, bzr
+#  -  Included plugins depenencies: dot, ditaa, dia, any other?
+#  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
+#
+
+buildPythonPackage rec {
+  name = "zim-${version}";
+  version = "0.60";
+  namePrefix = "";
+  
+  src = fetchurl {
+    url = "http://zim-wiki.org/downloads/zim-0.61.tar.gz";
+    sha256 = "0jncxkf83bwra3022jbvjfwhk5w8az0jlwr8nsvm7wa1zfrajhsq";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ];
+
+  preBuild = ''
+    mkdir -p /tmp/home
+    export HOME="/tmp/home"
+  '';
+  
+  setupPyInstallFlags = ["--skip-xdg-cmd"];
+  
+  #
+  # Exactly identical to buildPythonPackage's version but for the
+  # `--old-and-unmanagable`, which I removed. This was removed because
+  # this is a setuptools specific flag and as zim is overriding 
+  # the install step, setuptools could not perform its monkey
+  # patching trick for the command. Alternate solutions were to
+  #
+  #  -  Remove the custom install step (tested as working but
+  #	also remove the possibility of performing the xdg-cmd
+  #     stuff).
+  #  -  Explicitly replace distutils import(s) by their setuptools
+  #	equivalent (untested). 
+  #
+  # Both solutions were judged unsatisfactory as altering the code
+  # would be required.
+  #
+  # Note that a improved solution would be to expose the use of 
+  # the `--old-and-unmanagable` flag as an option of passed to the
+  # buildPythonPackage function.
+  #
+  # Also note that I stripped all comments.
+  #
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags}
+
+    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    if [ -e "$eapth" ]; then
+	# move colliding easy_install.pth to specifically named one
+	mv "$eapth" $(dirname "$eapth")/${name}.pth
+    fi
+
+    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+    runHook postInstall
+  '';
+
+  # FIXME: this is quick and dirty hack, because zim expects the
+  # path to the executable in argv[0] therefore the wrapper is
+  # modified accordingly.
+  postFixup = ''
+    wrapPythonPrograms
+
+    sed -i "s#sys\.argv\[0\] = 'zim'#sys.argv[0] = '$out/bin/zim'#g" \
+      $out/bin/.zim-wrapped
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+  '';
+  
+  # Testing fails.
+  doCheck = false;
+
+  meta = {
+      description = "A desktop wiki";
+      homepage = http://zim-wiki.org;
+      license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
+
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 0a5ef90990445..00fda8bf1c456 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -3,7 +3,7 @@
 assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
 
 let
-  version = "4.0.21.2";
+  version = "4.0.22";
   arch = if stdenv.system == "x86_64-linux"
            then "linux-x86_64"
            else "linux-i686";
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
     sha256 = if stdenv.system == "x86_64-linux"
-               then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx"
-               else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30";
+               then "0dq4x1cc0lnhs7g6w85qjdlb7sajr13mr2zcf4yvrciwhwy3r1i1"
+               else "0s4j2karaq85fwnd1niz8hzx5k71cqs493g38pg337i3iwxad9hg";
   };
 
   # Strip the bundled xulrunner
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index c761f6196424b..a2f07bfe43dfa 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.53";
+  name = "gtkwave-3.3.61";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1jmrk2p2azjca250h2bi4c8v0cp1gqd3c027dx18sxy3cgw1fsp1";
+    sha256 = "1f8cw7xfr83mc5j6vq53jzzyw3n6pqdmrj4a7pm53m1wvjgk4w3v";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index 07724d9325417..f9369efe96e59 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
   };
 
-  buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
+  buildInputs = [ pkgconfig cmake glib qt4 boost boost.lib libsigrok
     libsigrokdecode libserialport libzip udev libusb1 libftdi
   ];
 
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index ed922b3aedbea..c76e563ff5f8b 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -3,7 +3,7 @@
 {stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let 
-  version = "8.5pre-c70d5b2";
+  version = "8.5pre-01feb42";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
   idePath = if buildIde then ''
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc";
-    sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2";
+    rev = "01feb4206d26b41bfaab9bd45a7b2fc4db569baf";
+    sha256 = "e6d44ebc3019b2650c6e320218b264f5bde68bf6f222b356d41b0a38918e839f";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index 3e6440ea9773e..a3c49ab294e99 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -7,14 +7,15 @@ let
     exec ${ocaml}/bin/ocaml -I \`${camlp5}/bin/camlp5 -where\` -init make.ml
   '';
 in
+
 stdenv.mkDerivation rec {
   name     = "hol_light-${version}";
-  version  = "189";
+  version  = "198";
 
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
     rev = version;
-    sha256 = "1v10l64rs7da2kag3wlb651i09pn83icy9n5z84j8h1iwlxzajdh";
+    sha256 = "1y7vivj5l84fb7wqn38qbykpgs8ql2gmqxxch1yn5mg1cf9iiqsx";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
@@ -26,11 +27,11 @@ stdenv.mkDerivation rec {
     chmod a+x "$out/bin/hol_light"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Interactive theorem prover based on Higher-Order Logic";
     homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
-    license     = stdenv.lib.licenses.bsd2;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice z77z ];
   };
 }
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
new file mode 100644
index 0000000000000..afe827f3ad983
--- /dev/null
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -0,0 +1,43 @@
+# - coqide compilation can be disabled by setting lablgtk to null;
+
+{stdenv, fetchurl, pkgconfig, ocaml, camlp5}:
+
+stdenv.mkDerivation rec {
+  name = "ott-${version}";
+  version = "0.25";
+
+  src = fetchurl {
+    url = "http://www.cl.cam.ac.uk/~pes20/ott/ott_distro_${version}.tar.gz";
+    sha256 = "0i8ad1yrz9nrrgpi8db4z0aii5s0sy35mmzdfw5nq183mvbx8qqd";
+  };
+
+  buildInputs = [ pkgconfig ocaml camlp5 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/ott.opt $out/bin
+    ln -s $out/bin/ott.opt $out/bin/ott
+
+    mkdir -p $out/share/emacs/site-lisp
+    cp emacs/ottmode.el $out/share/emacs/site-lisp
+    '';
+
+  meta = {
+    description = "Ott: tool for the working semanticist";
+    longDescription = ''
+      Ott is a tool for writing definitions of programming languages and
+      calculi. It takes as input a definition of a language syntax and
+      semantics, in a concise and readable ASCII notation that is close to
+      what one would write in informal mathematics. It generates LaTeX to
+      build a typeset version of the definition, and Coq, HOL, and Isabelle
+      versions of the definition. Additionally, it can be run as a filter,
+      taking a LaTeX/Coq/Isabelle/HOL source file with embedded (symbolic)
+      terms of the defined language, parsing them and replacing them by
+      target-system terms.
+    '';
+    homepage = http://www.cl.cam.ac.uk/~pes20/ott;
+    license = "BSD3";
+    maintainers = with stdenv.lib.maintainers; [ jwiegley ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index cfe96bc6983ab..109d9fe3d4be3 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     rev    = "3aa11620a823d617fc033d26aedae91853d18635";
     sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
   };
-  buildInputs = [ cmake boost bison flex perl zlib ];
+  buildInputs = [ cmake boost boost.lib bison flex perl zlib ];
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
   patchPhase = ''
       sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 6e187843404d5..98012934f38d5 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
 
     hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.sprock;
+    maintainers = [ stdenv.lib.maintainers.sprock ];
   };
 }
diff --git a/pkgs/applications/science/math/mathematica/9.nix b/pkgs/applications/science/math/mathematica/9.nix
new file mode 100644
index 0000000000000..d4d352c95bbb0
--- /dev/null
+++ b/pkgs/applications/science/math/mathematica/9.nix
@@ -0,0 +1,124 @@
+{ stdenv
+, coreutils
+, patchelf
+, requireFile
+, alsaLib
+, fontconfig
+, freetype
+, gcc
+, glib
+, libpng
+, ncurses
+, opencv
+, openssl
+, unixODBC
+, xlibs
+, zlib
+}:
+
+let
+  platform =
+    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then
+      "Linux"
+    else
+      throw "Mathematica requires i686-linux or x86_64 linux";
+in
+stdenv.mkDerivation rec {
+
+  name = "mathematica-9.0.0";
+
+  src = requireFile rec {
+    name = "Mathematica_9.0.0_LINUX.sh";
+    message = '' 
+      This nix expression requires that Mathematica_9.0.0_LINUX.sh is
+      already part of the store. Find the file on your Mathematica CD
+      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
+    '';
+    sha256 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
+  };
+
+  buildInputs = [
+    coreutils
+    patchelf
+    alsaLib
+    coreutils
+    fontconfig
+    freetype
+    gcc.gcc
+    gcc.libc
+    glib
+    ncurses
+    opencv
+    openssl
+    unixODBC
+  ] ++ (with xlibs; [
+    libX11
+    libXext
+    libXtst
+    libXi
+    libXmu
+    libXrender
+    libxcb
+  ]);
+
+  ldpath = stdenv.lib.makeLibraryPath buildInputs
+    + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
+      (":" + stdenv.lib.makeSearchPath "lib64" buildInputs);
+
+  phases = "unpackPhase installPhase fixupPhase";
+
+  unpackPhase = ''
+    echo "=== Extracting makeself archive ==="
+    # find offset from file
+    offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
+    dd if="$src" ibs=$offset skip=1 | tar -xf -
+    cd Unix
+  '';
+
+  installPhase = ''
+    cd Installer
+    # don't restrict PATH, that has already been done
+    sed -i -e 's/^PATH=/# PATH=/' MathInstaller
+
+    echo "=== Running MathInstaller ==="
+    ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent
+  '';
+
+  preFixup = ''
+    echo "=== PatchElfing away ==="
+    find $out/libexec/Mathematica/SystemFiles -type f -perm +100 | while read f; do
+      type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/')
+      if [ -z "$type" ]; then
+        :
+      elif [ "$type" == "EXEC" ]; then
+        echo "patching $f executable <<"
+        patchelf \
+            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+            --set-rpath "${ldpath}" \
+            "$f"
+        patchelf --shrink-rpath "$f"
+      elif [ "$type" == "DYN" ]; then
+        echo "patching $f library <<"
+        patchelf \
+          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
+          "$f" \
+          && patchelf --shrink-rpath "$f" \
+          || echo unable to patch ... ignoring 1>&2
+      else
+        echo "not patching $f <<: unknown elf type"
+      fi
+    done
+  '';
+
+  # all binaries are already stripped
+  dontStrip = true;
+
+  # we did this in prefixup already
+  dontPatchELF = true;
+
+  meta = {
+    description = "Wolfram Mathematica computational software system";
+    homepage = "http://www.wolfram.com/mathematica/";
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index d4d352c95bbb0..2f11144bad40e 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -14,6 +14,8 @@
 , unixODBC
 , xlibs
 , zlib
+, libxml2
+, libuuid
 }:
 
 let
@@ -24,17 +26,18 @@ let
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
 stdenv.mkDerivation rec {
+  version = "10.0.1";
 
-  name = "mathematica-9.0.0";
+  name = "mathematica-${version}";
 
   src = requireFile rec {
-    name = "Mathematica_9.0.0_LINUX.sh";
+    name = "Mathematica_${version}_LINUX.sh";
     message = '' 
-      This nix expression requires that Mathematica_9.0.0_LINUX.sh is
+      This nix expression requires that ${name} is
       already part of the store. Find the file on your Mathematica CD
       and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
     '';
-    sha256 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
+    sha256 = "1514qy5kbyislv8j7ryw8021k26y0z6dndliwy8hfi7w7kgb3ynq";
   };
 
   buildInputs = [
@@ -51,6 +54,8 @@ stdenv.mkDerivation rec {
     opencv
     openssl
     unixODBC
+    libxml2
+    libuuid
   ] ++ (with xlibs; [
     libX11
     libXext
@@ -59,6 +64,11 @@ stdenv.mkDerivation rec {
     libXmu
     libXrender
     libxcb
+    libXcursor
+    libXfixes
+    libXrandr
+    libICE
+    libSM
   ]);
 
   ldpath = stdenv.lib.makeLibraryPath buildInputs
@@ -92,11 +102,13 @@ stdenv.mkDerivation rec {
         :
       elif [ "$type" == "EXEC" ]; then
         echo "patching $f executable <<"
-        patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-            --set-rpath "${ldpath}" \
-            "$f"
         patchelf --shrink-rpath "$f"
+        patchelf \
+	  --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
+          "$f" \
+          && patchelf --shrink-rpath "$f" \
+          || echo unable to patch ... ignoring 1>&2
       elif [ "$type" == "DYN" ]; then
         echo "patching $f library <<"
         patchelf \
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 576a28b054f43..2bd1aa893c558 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "pari-2.5.5";
+  version = "2.7.2";
+  name = "pari-${version}";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn";
+    sha256 = "1b0hzyhafpxhmiljyhnsh6c27ydsvb2599fshwq2fjfm96awjxmc";
   };
 
   buildInputs = [gmp readline];
@@ -21,5 +22,9 @@ stdenv.mkDerivation rec {
     license     = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [ertes raskin];
     platforms   = stdenv.lib.platforms.linux;
+
+    inherit version;
+    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/applications/science/math/pcalc/default.nix b/pkgs/applications/science/math/pcalc/default.nix
new file mode 100644
index 0000000000000..8e68e455ef18f
--- /dev/null
+++ b/pkgs/applications/science/math/pcalc/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, bison2, flex }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "pcalc-${version}";
+  version = "20120812";
+
+  src = fetchgit {
+    url = git://git.code.sf.net/p/pcalc/code;
+    rev = "db5c5d587d4d24ff6b23405a92eeaad4c0f99618";
+    sha256 = "1bzmiz9rrss3xk0vzszbisjkph73zwgc0riqn9zdd2h1iv6dgq92";
+  };
+
+  makeFlags = [ "DESTDIR= BINDIR=$(out)/bin" ];
+  buildInputs = [ bison2 flex ];
+
+  meta = {
+    homepage = http://pcalc.sourceforge.net/;
+    description = "Programmer's calculator";
+    license = licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx ];
+    platforms = stdenv.lib.platforms.linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 7020de0bca88a..0898b458593e2 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
 sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "boinc-7.2.42";
+  name = "boinc-7.4.14";
 
   src = fetchgit {
     url = "git://boinc.berkeley.edu/boinc-v2.git";
-    rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9";
-    sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j";
+    rev = "fb31ab18f94f3b5141bea03e8537d76c606cd276";
+    sha256 = "1465zl8l87fm1ps5f2may6mcc3pp40mpd6wphpxnwwk1lmv48x96";
   };
 
   buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 9d198cd5c7f80..a29d37cc41a1c 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,41 +1,33 @@
-x@{builderDefsPackage,
-  wxGTK, perl, python, zlib
-  , ...}:
-builderDefsPackage
-(a :
+{stdenv, fetchurl, wxGTK, perl, python, zlib}:
 let
-  s = import ./src-for-default.nix;
-  helperArgNames = ["builderDefsPackage"] ++
-    [];
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  s = # Generated upstream information
+  rec {
+    baseName="golly";
+    version="2.6";
+    name="${baseName}-${version}";
+    hash="1n1k3yf23ymlwq4k6p4v2g04qd29pg2rabr4l7m9bj2b2j1zkqhz";
+    url="mirror://sourceforge/project/golly/golly/golly-2.6/golly-2.6-src.tar.gz";
+    sha256="1n1k3yf23ymlwq4k6p4v2g04qd29pg2rabr4l7m9bj2b2j1zkqhz";
+  };
+  buildInputs = [
+    wxGTK perl python zlib
+  ];
 in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit (s) name;
+stdenv.mkDerivation {
+  inherit (s) name version;
   inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
-  setVars = a.noDepEntry ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lperl -L$(echo "${perl}"/lib/perl5/5*/*/CORE)"
-    pythonLib="$(echo "${python}"/lib/libpython*.so)"
-    pythonLib="''${pythonLib##*/lib}"
-    pythonLib="''${pythonLib%%.so}"
-    export NIX_LDFLAGS="$NIX_LDFLAGS -l$pythonLib"
-    echo "Flags: $NIX_LDFLAGS"
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  preConfigure = ''
+    cd gui-wx/configure
   '';
-
   meta = {
+    inherit (s) version;
     description = "Cellular automata simulation program";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = with a.lib.licenses;
-      gpl2;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://sourceforge.net/projects/golly/files/golly";
   };
-}) x
+}
diff --git a/pkgs/applications/science/misc/golly/default.upstream b/pkgs/applications/science/misc/golly/default.upstream
new file mode 100644
index 0000000000000..57881e5de3554
--- /dev/null
+++ b/pkgs/applications/science/misc/golly/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/golly/files/golly/
+version_link '[-][0-9.]+/$'
+SF_version_tarball
+SF_redirect
diff --git a/pkgs/applications/science/misc/golly/src-for-default.nix b/pkgs/applications/science/misc/golly/src-for-default.nix
deleted file mode 100644
index 50d3d41a8ba46..0000000000000
--- a/pkgs/applications/science/misc/golly/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="2.4";
-   name="golly-2.4";
-   hash="06vajm019q4q4wfy6pc1669fbjqdb4jaxcc419bk0vzky40anl9w";
-   url="mirror://sourceforge/golly/golly-2.4-src.tar.gz";
-   advertisedUrl="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
-  
-  
-}
diff --git a/pkgs/applications/science/misc/golly/src-info-for-default.nix b/pkgs/applications/science/misc/golly/src-info-for-default.nix
deleted file mode 100644
index a83b929f01818..0000000000000
--- a/pkgs/applications/science/misc/golly/src-info-for-default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  downloadPage = "http://sourceforge.net/projects/golly/files/golly";
-  method="fetchSFdirs";
-  fileSuffix="-src.tar.gz";
-}
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
index 92cdddd8dcb0a..2bd4b58472415 100644
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, pygtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.7";
+  version = "0.4.8";
   name = "diffuse-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2";
-    sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh";
+    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
   };
 
   buildInputs = [ python pygtk makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index fb7232794c514..383114f1c3cc2 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "cgit-${version}";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchurl {
     url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz";
-    sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3";
+    sha256 = "13ac4rqmxc87ymh78ff8kbw1s252nbid71l0ircmj9kmh9jqwncl";
   };
 
   # cgit is tightly coupled with git and needs a git source tree to build.
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index fd548296220e3..4cabe3a4e2aba 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -98,4 +98,5 @@ rec {
 
   git-remote-hg = callPackage ./git-remote-hg { };
 
+  gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
 }
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 62132271ec993..d69e84d6d7d4c 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
@@ -7,18 +7,18 @@
 , hamlet, hinotify, hS3, hslogger, httpClient, httpConduit
 , httpTypes, IfElse, json, lsof, MissingH, monadControl, mtl
 , network, networkInfo, networkMulticast, networkProtocolXmpp
-, openssh, optparseApplicative, pathPieces, perl, QuickCheck
-, random, regexTdfa, rsync, SafeSemaphore, securemem, SHA
-, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck, tastyRerun
-, text, time, transformers, unixCompat, utf8String, uuid, wai
-, waiExtra, warp, warpTls, which, xmlTypes, yesod, yesodCore
-, yesodDefault, yesodForm, yesodStatic
+, networkUri, openssh, optparseApplicative, pathPieces, perl
+, QuickCheck, random, regexTdfa, rsync, SafeSemaphore, securemem
+, SHA, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck
+, tastyRerun, text, time, transformers, unixCompat, utf8String
+, uuid, wai, waiExtra, warp, warpTls, which, xmlTypes, yesod
+, yesodCore, yesodDefault, yesodForm, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140817";
-  sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc";
+  version = "5.20140919";
+  sha256 = "10s4zgkny1n637s0470xvl67imzbfanbqvs35g2crf5ikplr2hgf";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -27,18 +27,15 @@ cabal.mkDerivation (self: {
     dlist dns editDistance exceptions fdoNotify feed filepath gnutls
     hamlet hinotify hS3 hslogger httpClient httpConduit httpTypes
     IfElse json MissingH monadControl mtl network networkInfo
-    networkMulticast networkProtocolXmpp optparseApplicative pathPieces
-    QuickCheck random regexTdfa SafeSemaphore securemem SHA shakespeare
-    stm tasty tastyHunit tastyQuickcheck tastyRerun text time
-    transformers unixCompat utf8String uuid wai waiExtra warp warpTls
-    xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic
+    networkMulticast networkProtocolXmpp networkUri optparseApplicative
+    pathPieces QuickCheck random regexTdfa SafeSemaphore securemem SHA
+    shakespeare stm tasty tastyHunit tastyQuickcheck tastyRerun text
+    time transformers unixCompat utf8String uuid wai waiExtra warp
+    warpTls xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic
   ];
   buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
   configureFlags = "-fAssistant -fProduction";
-  preConfigure = ''
-    export HOME="$NIX_BUILD_TOP/tmp"
-    mkdir "$HOME"
-  '';
+  preConfigure = "export HOME=$TEMPDIR";
   installPhase = "./Setup install";
   checkPhase = ''
     cp dist/build/git-annex/git-annex git-annex
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
new file mode 100644
index 0000000000000..0f4e143324cd7
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, docutils }:
+
+stdenv.mkDerivation {
+  name = "git-remote-gcrypt-20140715";
+
+  # Use joeyh's branch that works better with git-annex
+  src = fetchgit {
+    url = "https://github.com/joeyh/git-remote-gcrypt.git";
+    rev = "5dcc77f507d497fe4023e94a47b6a7a1f1146bce";
+    sha256 = "d509efde143cfec4898872b5bb423d52d5d1c940b6a1e21b8444c904bdb250c2";
+  };
+
+  # Required for rst2man.py
+  buildInputs = [ docutils ];
+
+  # The install.sh script expects rst2man, but here it's named rst2man.py
+  patchPhase = ''
+    sed -i 's/rst2man/rst2man.py/g' install.sh
+  '';
+
+  installPhase = ''
+    prefix="$out" ./install.sh
+  '';
+
+  meta = {
+    homepage = "https://github.com/joeyh/git-remote-gcrypt";
+    description = "GNU Privacy Guard-encrypted git remote";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ ellis ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 28484322d351a..8d578c2b46606 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "1.12.0";
+  version = "1.12.2";
 
   src = fetchurl {
     url = "https://github.com/github/hub/archive/v${version}.tar.gz";
-    sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv";
+    sha256 = "112yfv9xklsmwv859kypv7hz0a6dj5hkrmjp7z1h40nrljc9mi79";
   };
 
   buildInputs = [ rake makeWrapper ];
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     description = "A GitHub specific wrapper for git";
     homepage = "http://defunkt.io/hub/";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index b0cfcaeb11080..f30a47a78b9a7 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, ruby, makeWrapper, git }:
 
 let
-  version = "2.2.5";
+  version = "2.3.2";
 in
 stdenv.mkDerivation {
   name = "svn2git-${version}";
 
   src = fetchurl {
     url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz";
-    sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh";
+    sha256 = "1484mpcabqf9kr6xdpdgb1npkqav1bcah3w5lxj2djjx4bjf2g3y";
   };
 
   buildInputs = [ ruby makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 239fa87d32c52..7e93893e7b1eb 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tig-2.0.2";
+  name = "tig-2.0.3";
 
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
+    sha256 = "1i4nizachq0ncq0d8c87ly50zk51vgzb5a8amqscywdp1kc0zb7s";
+
   };
 
   buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ];
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index afe0ac71ea49d..74eee47784726 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -12,10 +12,11 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost glm
+    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
+    boost boost.lib glm
   ];
 
-  configureFlags = "--with-boost-libdir=${boost}/lib";
+  configureFlags = "--with-boost-libdir=${boost.lib}/lib";
 
   NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
 
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 951ea29a7fca8..145496cb49cba 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
     description = "Visual diff and merge tool";
     homepage = http://meld.sourceforge.net;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 8237a5517c7ee..7b309233ca909 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -2,7 +2,7 @@
 , guiSupport ? false, tk ? null, curses }:
 
 let
-  version = "3.1";
+  version = "3.1.1";
   name = "mercurial-${version}";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "1r6hdxka867lpsq2jq3vz662m3ywflg4yylayc9g0s9gmiww5pgi";
+    sha256 = "1ncqagvxcqa41ginmf0kpx2z6b2r2zrq7bdkza3nfba682c2is67";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
new file mode 100644
index 0000000000000..d729159316d27
--- /dev/null
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, lib, makeWrapper
+, jre
+, gtk, glib
+, libXtst
+, git, mercurial, subversion
+, which
+}:
+
+let
+  the_version = "6_0_6";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "smartgithg-${the_version}";
+
+  src = fetchurl {
+    url = "http://www.syntevo.com/download/smartgithg/" +
+          "smartgithg-generic-${the_version}.tar.gz";
+    sha256 = "13e41560138ef18395fbe0bf56d4d29e8614eee004d51d7dd03381080d8426e6";
+  };
+
+  buildInputs = [
+    makeWrapper
+    jre
+  ];
+
+  buildCommand = let
+    pkg_path = "$out/${name}";
+    bin_path = "$out/bin";
+    runtime_paths = lib.makeSearchPath "bin" [
+      jre
+      git mercurial subversion
+      which
+    ];
+    runtime_lib_paths = lib.makeLibraryPath [
+      gtk glib
+      libXtst
+    ];
+  in ''
+    tar xvzf $src
+    mkdir -pv $out
+    # unpacking should have produced a dir named ${name}
+    cp -a ${name} $out
+    mkdir -pv ${bin_path}
+    [ -d ${jre}/lib/openjdk ] \
+      && jre=${jre}/lib/openjdk \
+      || jre=${jre}
+    makeWrapper ${pkg_path}/bin/smartgithg.sh ${bin_path}/smartgithg \
+      --prefix PATH : ${runtime_paths} \
+      --prefix LD_LIBRARY_PATH : ${runtime_lib_paths} \
+      --prefix JRE_HOME : ${jre} \
+      --prefix JAVA_HOME : ${jre} \
+      --prefix SMARTGITHG_JAVA_HOME : ${jre}
+    patchShebangs $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for Git, Mercurial, Subversion";
+    homepage = http://www.syntevo.com/smartgithg/;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 7526bb5f04370..283ea7591538a 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
 
 stdenv.mkDerivation rec {
 
-  version = "1.8.9";
+  version = "1.8.10";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion/${name}.tar.bz2";
-    sha1 = "424ee12708f39a126efd905886666083dcc4eeaf";
+    sha256 = "1k3xskg2kjfp3zipl46lqx4fq4lhqnswd79qxp1kfhwplz401j8w";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index c06aa0a036cda..b42e781704a03 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -10,8 +10,7 @@
 , openalSupport ? false, openal ? null
 , alsaSupport ? true, alsaLib ? null
 , pulseaudioSupport ? true, pulseaudio ? null
-, portaudioSupport ? false, portaudio ? null
-}:
+, portaudioSupport ? false, portaudio ? null }:
 
 assert spellChecking -> (hunspell != null);
 assert automationSupport -> (lua != null);
@@ -22,17 +21,15 @@ assert portaudioSupport -> (portaudio != null);
 
 stdenv.mkDerivation rec {
   name = "aegisub-${version}";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
-    sha256 = "0nciw5p1aq94qwz5j4vbc06fywdjhazgh4qs6qr9iqj3n94gvrfr";
+    sha256 = "1p7qdnxyyyrlpvxdrrp15b5967d7bzpjl3vdy0q66g4aabr2h6ln";
   };
 
-  nativeBuildInputs = [ intltool ];
-
   buildInputs = with stdenv.lib;
-  [ libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost ]
+  [ intltool libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost boost.lib ]
   ++ optional spellChecking hunspell
   ++ optional automationSupport lua
   ++ optional openalSupport openal
@@ -43,7 +40,7 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm -lGL";
 
-  configureFlags = "--with-boost-libdir=${boost}/lib/";
+  configureFlags = "--with-boost-libdir=${boost.lib}/lib/";
 
   postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
 
@@ -62,6 +59,5 @@ stdenv.mkDerivation rec {
               # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
-
   };
 }
diff --git a/pkgs/applications/video/cmplayer/default.nix b/pkgs/applications/video/cmplayer/default.nix
new file mode 100644
index 0000000000000..5016686cad78a
--- /dev/null
+++ b/pkgs/applications/video/cmplayer/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, fetchpatch, pkgconfig, python2, perl
+, libX11, libxcb, qt5, mesa
+, ffmpeg
+, libchardet
+, mpg123
+, libass
+, libdvdread
+, libdvdnav
+, icu
+, libquvi
+, alsaLib
+, libvdpau, libva
+, libbluray
+, jackSupport ? false, jack ? null
+, portaudioSupport ? false, portaudio ? null
+, pulseSupport ? true, pulseaudio ? null
+, cddaSupport ? false, libcdda ? null
+}:
+
+assert jackSupport -> jack != null;
+assert portaudioSupport -> portaudio != null;
+assert pulseSupport -> pulseaudio != null;
+assert cddaSupport -> libcdda != null;
+
+stdenv.mkDerivation rec {
+  name = "cmplayer-${version}";
+  version = "0.8.16";
+
+  src = fetchurl {
+    url = "https://github.com/xylosper/cmplayer/releases/download/v${version}/${name}-source.tar.gz";
+    sha256 = "1yppp0jbq3mwa7vq4sjmm2lsqnfcv4n7cjap50gc2bavq7qynr85";
+  };
+
+  patches = [ ./fix-gcc48.patch ];
+
+  buildInputs = with stdenv.lib;
+                [ libX11 libxcb qt5 mesa
+                  ffmpeg
+                  libchardet
+                  mpg123
+                  libass
+                  libdvdread
+                  libdvdnav
+                  icu
+                  libquvi
+                  alsaLib
+                  libvdpau
+                  libva
+                  libbluray
+                ]
+                ++ optional jackSupport jack
+                ++ optional portaudioSupport portaudio
+                ++ optional pulseSupport pulseaudio
+                ++ optional cddaSupport libcdda
+                ;
+
+  preConfigure = "patchShebangs ./configure";
+
+  configureFlags = with stdenv.lib;
+                   [ "--qmake=qmake" ]
+                   ++ optional jackSupport "--enable-jack"
+                   ++ optional portaudioSupport "--enable-portaudio"
+                   ++ optional pulseSupport "--enable-pulseaudio"
+                   ++ optional cddaSupport "--enable-cdda"
+                   ;
+
+  preBuild = "patchShebangs ./build-mpv";
+
+  nativeBuildInputs = [ pkgconfig python2 perl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Powerful and easy-to-use multimedia player";
+    homepage = http://cmplayer.github.io;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/cmplayer/fix-gcc48.patch b/pkgs/applications/video/cmplayer/fix-gcc48.patch
new file mode 100644
index 0000000000000..134acf89569e3
--- /dev/null
+++ b/pkgs/applications/video/cmplayer/fix-gcc48.patch
@@ -0,0 +1,22 @@
+From f6de1c7537dc3a0b4c9d69a63653c9bb4af26948 Mon Sep 17 00:00:00 2001
+From: xylosper <darklin20@gmail.com>
+Date: Wed, 2 Jul 2014 11:57:05 +0900
+Subject: [PATCH] add a space between user defined literal operator
+
+---
+ src/cmplayer/stdafx.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cmplayer/stdafx.hpp b/src/cmplayer/stdafx.hpp
+index 5f7d49c..c724f08 100644
+--- a/src/cmplayer/stdafx.hpp
++++ b/src/cmplayer/stdafx.hpp
+@@ -52,7 +52,7 @@ SIA operator "" _q(const char16_t *str, size_t len) -> QString
+ SIA operator "" _a(const char *str, size_t len) -> QLatin1String
+ { return QLatin1String(str, len); }
+ 
+-SIA operator ""_b(const char *str, size_t len) -> QByteArray
++SIA operator "" _b(const char *str, size_t len) -> QByteArray
+ { return QByteArray::fromRawData(str, len); }
+ 
+ SIA operator "" _8(const char *str, size_t len) -> QString
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
index 515e2591461fa..879fa08ea3828 100644
--- a/pkgs/applications/video/gnash/default.nix
+++ b/pkgs/applications/video/gnash/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
     gst_ffmpeg speex libtool
-    libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
+    libogg libxml2 libjpeg mesa libpng libungif boost boost.lib freetype agg
     dbus curl pkgconfig glib gtk gtkglext pangox_compat
     xulrunner
     makeWrapper
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index e0ab4582cd892..567821ba36128 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -15,12 +15,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "7.1.0";
+  version = "7.2.0";
   name = "mkvtoolnix-${version}";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "06xqy4f7gi1xj0yqb6y1wmxwvsxfxal2plfsbl33dkwd0srixj06";
+    sha256 = "1bpmd37y2v4icv9iqjv3p4kr62jbdng2ar8vpiij3bdgwrjc6gv1";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 07bcb26569e93..dec3a5fc28da2 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -21,6 +21,7 @@
 , bs2bSupport ? false, libbs2b ? null
 # For screenshots
 , libpngSupport ? true, libpng ? null
+, libjpegSupport ? true, libjpeg ? null
 , useUnfreeCodecs ? false
 }:
 
@@ -46,6 +47,7 @@ assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
+assert libjpegSupport -> libjpeg != null;
 
 let
 
@@ -121,6 +123,7 @@ stdenv.mkDerivation rec {
     ++ optional vdpauSupport libvdpau
     ++ optional speexSupport speex
     ++ optional libpngSupport libpng
+    ++ optional libjpegSupport libjpeg
     ++ optional bs2bSupport libbs2b
     ;
 
diff --git a/pkgs/applications/video/mplayer2/default.nix b/pkgs/applications/video/mplayer2/default.nix
index d8ada6372b101..5827e22ea5e0d 100644
--- a/pkgs/applications/video/mplayer2/default.nix
+++ b/pkgs/applications/video/mplayer2/default.nix
@@ -15,6 +15,7 @@
 , bs2bSupport ? false, libbs2b ? null
 # For screenshots
 , libpngSupport ? true, libpng ? null
+, libjpegSupport ? true, libjpeg ? null
 , useUnfreeCodecs ? false
 }:
 
@@ -32,6 +33,7 @@ assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
+assert libjpegSupport -> libjpeg != null;
 
 let
 
@@ -96,6 +98,7 @@ stdenv.mkDerivation rec {
     ++ optional speexSupport speex
     ++ optional bs2bSupport libbs2b
     ++ optional libpngSupport libpng
+    ++ optional libjpegSupport libjpeg
     ;
 
   nativeBuildInputs = [ yasm python3 ];
@@ -110,8 +113,8 @@ stdenv.mkDerivation rec {
       ${optionalString (stdenv.isi686 || stdenv.isx86_64) "--enable-runtime-cpudetection"}
       ${optionalString dvdnavSupport "--extra-ldflags=-ldvdread"}
       ${if xvSupport then "--enable-xv" else "--disable-xv"}
-      ${if x11Support then "--enable-x11 --enable-gl --extra-cflags=-I{libx11}/include"
-		else "--disable-x11 --disable-gl"}
+      ${if x11Support then "--enable-x11 --enable-gl --extra-cflags=-I${libX11}/include"
+        else "--disable-x11 --disable-gl"}
       --disable-xvid
       --disable-ossaudio
     '';
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index db1ced49166eb..a9f9c78d332ff 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -22,8 +22,7 @@
 # for Youtube support
 , quviSupport ? false, libquvi ? null
 , cacaSupport ? false, libcaca ? null
-, vaapiSupport ? false, libva ? null
-}:
+, vaapiSupport ? false, libva ? null }:
 
 assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
@@ -114,15 +113,17 @@ stdenv.mkDerivation rec {
     ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
     '';
 
-  meta = {
+  meta = with stdenv.lib;{
     description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
     longDescription = ''
-    mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both.
+      mpv is a free and open-source general-purpose video player,
+      based on the MPlayer and mplayer2 projects, with great
+      improvements above both.
     '';
-    homepage = "http://mpv.io";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = http://mpv.io;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index 3add2646ad9e0..449190cfaa179 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, raspberrypifw, pcre, boostHeaders, freetype, zlib }:
+{ stdenv, fetchurl, raspberrypifw, pcre, boost, freetype, zlib }:
 
 let
   ffmpeg = stdenv.mkDerivation rec {
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp omxplayer.bin $out/bin
   '';
-  buildInputs = [ raspberrypifw ffmpeg pcre boostHeaders freetype zlib ];
+  buildInputs = [ raspberrypifw ffmpeg pcre boost freetype zlib ];
 
   meta = {
     homepage = https://github.com/huceke/omxplayer;
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 51baa32f61e87..79fd26204a908 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "14.08";
+  version = "14.09";
 
   src = fetchurl {
     url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
-    sha256 = "0klcvpgp2l6xcdjy1gg7a5s8mx0mm347zdf26q6kk685pldlvkyj";
+    sha256 = "1504ds3ppqmpg84nb2gb74qndqysjwn3xw7n8xv19kd1pppnr10f";
   };
 
   buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index c1c11357ca030..7c42aebf2bcf8 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = http://home.gna.org/subtitleeditor;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.plcplc;
+    maintainers = [ stdenv.lib.maintainers.plcplc ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix
new file mode 100644
index 0000000000000..561ab15168218
--- /dev/null
+++ b/pkgs/applications/video/wxcam/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl
+, pkgconfig
+, intltool
+, libX11, libXv, libSM
+, gtk, libglade
+, wxGTK
+, perlXMLParser
+, xvidcore
+, mjpegtools
+, alsaLib
+, libv4l
+, cimg }:
+
+stdenv.mkDerivation rec {
+
+  name = "wxcam-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/wxcam/wxcam/${version}/${name}.tar.gz";
+    sha256 = "1765bvc65fpzn9ycnnj5hais9xkx9v0sm6a878d35x54bpanr859";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlXMLParser xvidcore mjpegtools alsaLib libv4l cimg ];
+
+  NIX_CFLAGS_COMPILE="-I ${cimg}/include/cimg";
+
+  postUnpack = ''
+    sed -ie 's|/usr/share/|'"$out/share/"'|g' $sourceRoot/Makefile.in
+  '';
+
+  installPhase = ''
+    make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
+  '';    
+  
+  meta = with stdenv.lib; {
+    description = "An open-source, wxGTK-based webcam app for Linux"; 
+    longDescription = ''
+    wxCam is a webcam application for linux. It supports video recording
+    (avi uncompressed and Xvid formats), snapshot taking, and some special
+    commands for philips webcams, so you can also use it for astronomy purposes.
+    It supports both video4linux 1 and 2 drivers,
+    so it should work on a very large number of devices.
+    '';
+    homepage = http://wxcam.sourceforge.net/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index 875ed48c102fd..6d192c967f782 100644
--- a/pkgs/applications/video/xbmc/default.nix
+++ b/pkgs/applications/video/xbmc/default.nix
@@ -90,6 +90,7 @@ stdenv.mkDerivation rec {
           --prefix PATH ":" "${xdpyinfo}/bin" \
           --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
           --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \
           --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib"
       done
     '';
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
index 83b5c778f866f..ade840dc0218f 100644
--- a/pkgs/applications/video/xvidcap/default.nix
+++ b/pkgs/applications/video/xvidcap/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, perl, perlXMLParser, pkgconfig, gtk
-, scrollkeeper, libglade, libXmu, libX11, libXext, gettext, lame, libXfixes, libXdamage}:
+, scrollkeeper, libglade, libXmu, libX11, libXext, gettext
+, lame, libXfixes, libXdamage }:
 
 stdenv.mkDerivation {
   name = "xvidcap-1.1.7";
@@ -10,14 +11,18 @@ stdenv.mkDerivation {
   };
 
   patches = [ ./xlib.patch ];
-  buildInputs = [perl perlXMLParser pkgconfig gtk scrollkeeper libglade libXmu gettext lame libXdamage libXfixes libXext libX11];
+  buildInputs = [
+    perl perlXMLParser pkgconfig gtk scrollkeeper
+    libglade libXmu gettext lame libXdamage libXfixes libXext libX11
+  ];
 
   # !!! don't know why this is necessary
   NIX_LDFLAGS = "-lXext -lX11 -lz -lgcc_s";
 
-  meta = { 
+  meta = with stdenv.lib; { 
     description = "screencast video catpuring tool";
     homepage = http://xvidcap.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix
index a16f052f622f8..15d98dc9be50b 100644
--- a/pkgs/applications/virtualization/8086tiny/default.nix
+++ b/pkgs/applications/virtualization/8086tiny/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl
 , localBios ? true, nasm ? null
-, sdlSupport ? true, SDL ? null
-}:
+, sdlSupport ? true, SDL ? null }:
 
 assert sdlSupport -> (SDL != null);
 
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 74ce7bdfcaa6f..95db0dd67a1c2 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -5,8 +5,7 @@
 , termSupport ? true , ncurses ? null, readline ? null
 , wxSupport ? false, wxGTK ? null
 , wgetSupport ? false, wget ? null
-, curlSupport ? false, curl ? null
-}:
+, curlSupport ? false, curl ? null }:
 
 assert sdlSupport -> (SDL != null);
 assert termSupport -> (ncurses != null&& readline != null);
@@ -52,15 +51,19 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
 	
-  meta = {
+  meta = with stdenv.lib; {
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
-    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.
+    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator,
+    written in C++, that runs on most popular platforms. It includes
+    emulation of the Intel x86 CPU, common I/O devices, and a custom
+    BIOS.
     '';
     homepage = http://bochs.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
+
 # TODO: study config.bochs.* implementation (like config.ffmpeg.* options)
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index f4d329221ff35..dafc093bf05af 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper,
-btrfsProgs, iptables, bash, e2fsprogs}:
+btrfsProgs, iptables, bash, e2fsprogs, xz}:
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker
-    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit
-    wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin"
+    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
+    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
+    makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin"
 
     # systemd
     install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index e451ff79a9455..d4d680f05fa2f 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -51,7 +51,6 @@ buildPythonPackage rec {
             --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
             --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
             --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \
-            --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \
             --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
     done
 
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index a5d7c77541257..1da4a521da754 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation  {
 
   meta = {
     description = "A viewer for remote virtual machines";
-    maintainers = maintainers.raskin;
+    maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
   };
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index f3e7bea3ca9a5..309cfe1f35a1f 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -11,7 +11,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.3.14"; # changes ./guest-additions as well
+  version = "4.3.16"; # changes ./guest-additions as well
 
   forEachModule = action: ''
     for mod in \
@@ -31,13 +31,13 @@ let
   '';
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
-  extpackRevision = "95030";
+  extpackRevision = "95972";
   extensionPack = requireFile rec {
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
     # IMPORTANT: Hash must be base16 encoded because it's used as an input to
     # VBoxExtPackHelperApp!
     # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
-    sha256 = "b965c3565e7933bc61019d2992f4da084944cfd9e809fbeaff330f4743d47537";
+    sha256 = "93b01ac2c575388ea6ae994450907c24e30a788c271ae9ff18512a06f28d9abd";
     message = ''
       In order to use the extension pack, you need to comply with the VirtualBox Personal Use
       and Evaluation License (PUEL) by downloading the related binaries from:
@@ -56,7 +56,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "bc893adde4449a2d35d8b4d0b8b247f0f2ac62a434fd8a8f7c54f613a100855a";
+    sha256 = "99c32e646dbc93cbf4cc0b62ca6c1d24113a295fd758dc15724c14908dd6dcb3";
   };
 
   buildInputs =
@@ -76,6 +76,7 @@ in stdenv.mkDerivation {
     ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
     find . -type f | xargs sed 's/depmod -a/true/' -i
+    sed -e 's@"libasound.so.2"@"${alsaLib}/lib/libasound.so.2"@g' -i src/VBox/Main/xml/Settings.cpp src/VBox/Devices/Audio/alsa_stubs.c
     export USER=nix
     set +x
   '';
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index f168c0d57259b..9552e7264c5aa 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "c76dd5ec86f61ad72263ab6d2405723b06badfc2fae57f83ffa5de96f553400d";
+    sha256 = "d58f678613bd37f5f94bcf324708af63572fc8582833a2558574090231fd080f";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/*/build";
diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix
new file mode 100644
index 0000000000000..962942905db07
--- /dev/null
+++ b/pkgs/applications/window-managers/afterstep/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig
+, libjpeg, libtiff, libpng, freetype
+, fltk, gtk
+, libX11, libXext, libICE
+, dbus, dbus_libs
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "afterstep-${version}";
+  version = "2.2.12";
+  sourceName = "AfterStep-${version}";
+
+  src = fetchurl {
+    urls = [ "ftp://ftp.afterstep.org/stable/${sourceName}.tar.bz2" ];
+    sha256 = "1j7vkx1ig4kzwffdxnkqv3kld9qi3sam4w2nhq18waqjsi8xl5gz";
+  };
+
+  buildInputs = [ pkgconfig libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus_libs ];
+
+  # A strange type of bug: dbus is not immediately found by pkgconfig
+  preConfigure = ''
+     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A NEXTStep-inspired window manager";
+    longDescription = ''
+      AfterStep is a window manager for the Unix X Window
+      System. Originally based on the look and feel of the NeXTStep
+      interface, it provides end users with a consistent, clean, and
+      elegant desktop. The goal of AfterStep development is to provide
+      for flexibility of desktop configuration, improving aestetics,
+      and efficient use of system resources.
+    '';
+    homepage = http://www.afterstep.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
index bee774d10da2b..46a19b90b8bba 100644
--- a/pkgs/applications/window-managers/bar/default.nix
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -17,8 +17,8 @@ in
   
     meta = {
       description = "A lightweight xcb based bar";
-      homepage = "https://github.com/LemonBoy/bar";
-      maintainers = stdenv.lib.maintainers.meisternu;
+      homepage = https://github.com/LemonBoy/bar;
+      maintainers = [ stdenv.lib.maintainers.meisternu ];
       license = "Custom";   
       platforms = stdenv.lib.platforms.linux;
     };
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index 24789f37ba7eb..0b36d922df4c4 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tiling window manager based on binary space partitioning";
-    homepage = "http://github.com/baskerville/bspwm";
-    maintainers = stdenv.lib.maintainers.meisternu;
+    homepage = http://github.com/baskerville/bspwm;
+    maintainers = [ stdenv.lib.maintainers.meisternu ];
     license = "BSD";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix
index af6545b615152..b46864b9c2e4f 100644
--- a/pkgs/applications/window-managers/fluxbox/default.nix
+++ b/pkgs/applications/window-managers/fluxbox/default.nix
@@ -2,8 +2,7 @@
 , freetype, fribidi
 , libXext, libXft, libXpm, libXrandr, libXrender, xextproto
 , libXinerama
-, imlib2
-}:
+, imlib2 }:
 
 stdenv.mkDerivation rec {
 
@@ -17,17 +16,19 @@ stdenv.mkDerivation rec {
     sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Full-featured, light-resource X window manager";
     longDescription = ''
-      Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources.
-      It is very light on resources and easy to handle but yet full of features to make an easy,
-      and extremely fast, desktop experience. It is written in C++ and licensed under MIT license.
+      Fluxbox is a X window manager based on Blackbox 0.61.1 window
+      manager sources.  It is very light on resources and easy to
+      handle but yet full of features to make an easy, and extremely
+      fast, desktop experience. It is written in C++ and licensed
+      under MIT license.
     '';
     homepage = http://fluxbox.org/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 # Many thanks Jack Ryan from Nix-dev mailing list!
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 73c5e5df81afe..f019ba9751b9c 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "jwm-2.2.2";
   
   src = fetchurl {
-     url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz";
+     url = "http://www.joewing.net/projects/jwm/releases/${name}.tar.xz";
      sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
   };
 
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index fad5b8010ea4a..2756525b2b02b 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -17,8 +17,16 @@ stdenv.mkDerivation rec {
     sha256 = "0cxgb334zj6aszwiki9g10i56sm18i7w1kw52vdnwgzq27pv93qj";
   };
 
+  setlayoutSrc = fetchurl {
+    url = "http://openbox.org/dist/tools/setlayout.c";
+    sha256 = "1ci9lq4qqhl31yz1jwwjiawah0f7x0vx44ap8baw7r6rdi00pyiv";
+  };
+
+  postBuild = "gcc -O2 -o setlayout $(pkg-config --cflags --libs x11) $setlayoutSrc";
+
   # Openbox needs XDG_DATA_DIRS set or it can't find its default theme
   postInstall = ''
+    cp -a setlayout "$out"/bin
     wrapProgram "$out/bin/openbox" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-session" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-gnome-session" --prefix XDG_DATA_DIRS : "$out/share"
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 0eb28464e5903..e550f9fdd83fa 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchurl, libX11, inputproto, libXt, libXpm, libXft, fontconfig, freetype
-, libXtst, xextproto, readline, libXi, pkgconfig, perl, autoconf, automake }:
+{ stdenv, fetchurl, pkgconfig, perl, autoconf, automake
+, libX11, inputproto, libXt, libXpm, libXft, libXtst, xextproto, libXi
+, fontconfig, freetype, readline
+}:
 
 stdenv.mkDerivation rec {
-  name = "ratpoison-1.4.6";
+  name = "ratpoison-${version}";
+  version = "1.4.8";
 
   src = fetchurl {
-    url = "mirror://savannah/ratpoison/${name}.tar.gz";
-    sha256 = "1y1b38bng0naxfy50asshzg5xr1b2rn88mcgbds42y72d7y9d0za";
+    url = "mirror://savannah/ratpoison/${name}.tar.xz";
+    sha256 = "1w502z55vv7zs45l80nsllqh9fvfwjfdfi11xy1qikhzdmirains";
   };
 
   buildInputs =
-    [ libX11 inputproto libXt libXpm libXft fontconfig freetype libXtst
-      xextproto readline libXi pkgconfig perl autoconf automake
-    ];
+    [ pkgconfig perl autoconf automake
+      libX11 inputproto libXt libXpm libXft libXtst xextproto libXi
+      fontconfig freetype readline ];
 
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
-
-  preConfigure = "autoreconf -vf";      # needed because of the patch above
-
-  postInstall = ''
-    mkdir -p $out/share/emacs/site-lisp
-    mv "$out/share/ratpoison/"*.el $out/share/emacs/site-lisp/
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.nongnu.org/ratpoison/";
     description = "Simple mouse-free tiling window manager";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
     longDescription = ''
        Ratpoison is a simple window manager with no fat library
@@ -43,7 +37,7 @@ stdenv.mkDerivation rec {
        cripples Emacs and other quality pieces of software.
     '';
 
-    hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix
index 43a1d2b8e79ae..b7f1d9adad123 100644
--- a/pkgs/applications/window-managers/trayer/default.nix
+++ b/pkgs/applications/window-managers/trayer/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     description = "A lightweight GTK2-based systray for UNIX desktop";
     platforms = platforms.linux;
-    maintainer = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub ];
   };
 }
 
diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix
index bbb6c03882516..190319db72082 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -3,18 +3,27 @@
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
   version = "0.95.5";
+  srcName = "WindowMaker-${version}";
 
   src = fetchurl {
-    url = "http://windowmaker.org/pub/source/release/"
-        + "WindowMaker-${version}.tar.gz";
+    url = "http://windowmaker.org/pub/source/release/${srcName}.tar.gz";
     sha256 = "1l3hmx4jzf6vp0zclqx9gsqrlwh4rvqm1g1zr5ha0cp0zmsg89ab";
   };
 
   buildInputs = [ pkgconfig libX11 libXft libXmu ];
 
-  meta = {
-    homepage = "http://windowmaker.org/";
+  meta = with stdenv.lib; {
+    homepage = http://windowmaker.org/;
     description = "NeXTSTEP-like window manager";
-    license = stdenv.lib.licenses.gpl2Plus;
+    longDescription = ''
+      Window Maker is an X11 window manager originally designed to
+      provide integration support for the GNUstep Desktop
+      Environment. In every way possible, it reproduces the elegant look
+      and feel of the NEXTSTEP user interface. It is fast, feature rich,
+      easy to configure, and easy to use. It is also free software, with
+      contributions being made by programmers from around the world.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
new file mode 100644
index 0000000000000..f8130b423a203
--- /dev/null
+++ b/pkgs/build-support/agda/default.nix
@@ -0,0 +1,95 @@
+# Builder for Agda packages. Mostly inspired by the cabal builder.
+#
+# Contact: stdenv.lib.maintainers.fuuzetsu
+
+{ stdenv, Agda, glibcLocales
+, writeScriptBin
+, extension ? (self: super: {})
+}:
+
+let
+  optionalString = stdenv.lib.optionalString;
+  filter = stdenv.lib.filter;
+  concatMapStringsSep = stdenv.lib.strings.concatMapStringsSep;
+  concatMapStrings = stdenv.lib.strings.concatMapStrings;
+  unwords = stdenv.lib.strings.concatStringsSep " ";
+  mapInside = xs: unwords (map (x: x + "/*") xs);
+in
+{ mkDerivation = args:
+    let
+      postprocess = x: x // {
+        sourceDirectories = filter (y: !(y == null)) x.sourceDirectories;
+        propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
+        propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
+        extraBuildFlags = filter (y : ! (y == null)) x.extraBuildFlags;
+        everythingFile = if x.everythingFile == "" then "Everything.agda" else x.everythingFile;
+      };
+
+      defaults = self : {
+        # There is no Hackage for Agda so we require src.
+        inherit (self) src name;
+
+        buildInputs = [ Agda ] ++ self.buildDepends;
+        buildDepends = [];
+        # Not much choice here ;)
+        LANG = "en_US.UTF-8";
+        LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
+
+        everythingFile = "Everything.agda";
+
+        propagatedBuildInputs = self.buildDepends ++ self.buildTools;
+        propagatedUserEnvPkgs = self.buildDepends;
+
+        # Immediate source directories under which modules can be found.
+        sourceDirectories = [ ];
+
+        # This is used if we have a top-level element that only serves
+        # as the container for the source and we only care about its
+        # contents. The directories put here will have their
+        # *contents* copied over as opposed to sourceDirectories which
+        # would make a direct copy of the whole thing.
+        topSourceDirectories = [ "src" ];
+
+        buildTools = [];
+
+        # Extra stuff to pass to the Agda binary.
+        extraBuildFlags = [ "-i ." ];
+        buildFlags = let r = map (x: "-i " + x + "/share/agda") self.buildDepends;
+                         d = map (x : "-i " + x) (self.sourceDirectories ++ self.topSourceDirectories);
+                     in unwords (r ++ d ++ self.extraBuildFlags);
+
+        # We expose this as a mere convenience for any tools.
+        AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDepends;
+
+        # Makes a wrapper available to the user. Very useful in
+        # nix-shell where all dependencies are -i'd.
+        agdaWrapper = writeScriptBin "agda" ''
+          ${Agda}/bin/agda ${self.buildFlags} "$@"
+        '';
+
+        # configurePhase is idempotent
+        configurePhase = ''
+          eval "$preConfigure"
+          export AGDA_PACKAGE_PATH=${self.AGDA_PACKAGE_PATH};
+          export PATH="${self.agdaWrapper}/bin:$PATH"
+          eval "$postConfigure"
+        '';
+
+        buildPhase = ''
+          eval "$preBuild"
+          ${Agda}/bin/agda ${self.buildFlags} ${self.everythingFile}
+          eval "$postBuild"
+        '';
+
+        installPhase = ''
+          eval "$preInstall"
+          mkdir -p $out/share/agda
+          cp -pR ${unwords self.sourceDirectories} ${mapInside self.topSourceDirectories} $out/share/agda
+          eval "$postInstall"
+        '';
+      };
+    in stdenv.mkDerivation
+         (postprocess (let super = defaults self // args self;
+                           self  = super // extension self super;
+                       in self));
+}
\ No newline at end of file
diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix
index e807a04628a38..89dd2faf3ba4f 100644
--- a/pkgs/build-support/build-fhs-chrootenv/default.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/default.nix
@@ -1,16 +1,77 @@
-{stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2, 
-bashInteractive, xz, shadow, gawk, less, buildEnv}:
-{name, pkgs ? [], profile ? ""}:
+{ buildEnv, nixpkgs, nixpkgs_i686, system
+, stdenv, glibc, glibc_multi, glibcLocales
+, bashInteractive, coreutils, less, shadow, su
+, gawk, gcc, gcc_multi, diffutils, findutils, gnused, gnugrep
+, gnutar, gzip, bzip2, xz
+} :
+{ name, pkgs ? [], profile ? ""
+, targetPkgs ? null, multiPkgs ? null
+, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
+}:
+
+assert pkgs       != []   -> targetPkgs == null && multiPkgs == null;
+assert targetPkgs != null -> multiPkgs  != null;
+assert multiPkgs  != null -> targetPkgs != null;
+assert targetPkgs != null -> pkgs       == [];
+
+
+# HOWTO:
+# If pkgs is defined buildFHSChrootEnv will run in legacy mode. This means
+# it will build all pkgs contained in pkgs and basePkgs and then just merge
+# all of their contents together via buildEnv.
+#
+# The new way is to define both targetPkgs and multiPkgs. These two are
+# functions which get a pkgs environment supplied and should then return a list
+# of packages based this environment.
+# For example: targetPkgs = pkgs: [ pkgs.nmap ];
+#
+# All packages (most likeley programs) placed in targetPkgs will only be
+# installed once--matching the hosts architecture (64bit on x86_64 and 32bit on
+# x86). These packages will populate the chroot directory tree.
+#
+# Packages (most likeley libraries) defined in multiPkgs will be installed once
+# on x86 systems and twice on x86_64 systems.
+# On x86 they will just be merge with the packages defined in targetPkgs.
+# On x86_64 they will be added to targetPkgs and in addition their 32bit
+# versions will also be installed. The final directory should look as follows:
+# /lib will include 32bit libraries from multiPkgs
+# /lib32 will link to /lib
+# /lib64 will include 64bit libraries from multiPkgs and targetPkgs
+# /x86 will contain a complete 32bit environment composed by multiPkgs
 
 let
-  basePkgs = [
-    glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar
-    gzip bzip2 bashInteractive xz shadow gawk less
-  ];
+  is64Bit       = system == "x86_64-linux";
+  # enable multi builds on x86_64 hosts if pakgs_target/multi are defined
+  isMultiBuild  = is64Bit && targetPkgs != null;
+  isTargetBuild = !isMultiBuild;
+
+  # list of packages (usually programs) which will only be installed for the
+  # hosts architecture
+  targetPaths = if targetPkgs == null
+                  then pkgs
+                  else targetPkgs nixpkgs ++ multiPkgs nixpkgs;
+
+  # list of pckages which should be build for both x86 and x86_64 on x86_64
+  # systems
+  multiPaths = if isMultiBuild
+                  then multiPkgs nixpkgs_i686
+                  else [];
+
+  # base packages of the chroot
+  # these match the hosts architecture, gcc/glibc_multi will be choosen
+  # on multi builds
+  choosenGcc = if isMultiBuild then gcc_multi else gcc;
+  basePkgs =
+    [ (if isMultiBuild then glibc_multi else glibc)
+      choosenGcc
+      bashInteractive coreutils less shadow su
+      gawk diffutils findutils gnused gnugrep
+      gnutar gzip bzip2 xz
+    ];
 
   # Compose a global profile for the chroot environment
-  profilePkg = stdenv.mkDerivation {
-    name = "${name}-chrootenv-profile";
+  profilePkg = nixpkgs.stdenv.mkDerivation {
+    name         = "${name}-chrootenv-profile";
     buildCommand = ''
       mkdir -p $out/etc
       cat >> $out/etc/profile << "EOF"
@@ -20,67 +81,139 @@ let
     '';
   };
 
-  paths = basePkgs ++ [ profilePkg ] ++ pkgs;
-
   # Composes a /usr like directory structure
-  staticUsrProfile = buildEnv {
-    name = "system-profile";
-    inherit paths;
+  staticUsrProfileTarget = buildEnv {
+    name = "system-profile-target";
+    paths = basePkgs ++ [ profilePkg ] ++ targetPaths;
+  };
+
+  staticUsrProfileMulti = buildEnv {
+    name = "system-profile-multi";
+    paths = multiPaths;
   };
-  
+
   # References to shell scripts that set up or tear down the environment
-  initSh = ./init.sh.in;
-  mountSh = ./mount.sh.in;
-  loadSh = ./load.sh.in;
-  umountSh = ./umount.sh.in;
+  initSh    = ./init.sh.in;
+  mountSh   = ./mount.sh.in;
+  loadSh    = ./load.sh.in;
+  umountSh  = ./umount.sh.in;
   destroySh = ./destroy.sh.in;
-in
-stdenv.mkDerivation {
-  name = "${name}-chrootenv";
-  buildCommand = ''
-    mkdir -p $out/sw
-    cd $out/sw
-    
-    for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var}
-    do
+
+  linkProfile = profile: ''
+    for i in ${profile}/{etc,bin,sbin,share,var}; do
         if [ -x "$i" ]
         then
             ln -s "$i"
         fi
     done
-    
-    ln -s ${staticUsrProfile} usr
-    
+  '';
+
+  # the target profile is the actual profile that will be used for the chroot
+  setupTargetProfile = ''
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
+
+    mkdir -m0755 usr
+    cd usr
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
     cd ..
-    
+  '';
+
+  # this will happen on x86_64 host:
+  # /x86         -> links to the whole profile defined by multiPaths
+  # /lib, /lib32 -> links to 32bit binaries
+  # /lib64       -> links to 64bit binaries
+  # /usr/lib*    -> same as above
+  setupMultiProfile = if isTargetBuild then "" else ''
+    mkdir -m0755 x86
+    cd x86
+    ${linkProfile staticUsrProfileMulti}
+    cd ..
+  '';
+
+  setupLibDirs = if isTargetBuild then setupLibDirs_target
+                                  else setupLibDirs_multi;
+
+  # setup library paths only for the targeted architecture
+  setupLibDirs_target = ''
+    mkdir -m0755 lib
+
+    # copy content of targetPaths
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib/
+  '';
+
+  # setup /lib, /lib32 and /lib64
+  setupLibDirs_multi = ''
+    mkdir -m0755 lib
+    mkdir -m0755 lib64
+    ln -s lib lib32
+
+    # copy glibc stuff
+    cp -rsf ${staticUsrProfileTarget}/lib/32/* lib/
+
+    # copy content of multiPaths (32bit libs)
+    cp -rsf ${staticUsrProfileMulti}/lib/* lib/
+
+    # copy content of targetPaths (64bit libs)
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib64/
+
+    # most 64bit only libs put their stuff into /lib
+    # some pkgs (like gcc_multi) put 32bit libs into and /lib 64bit libs into /lib64
+    # by overwriting these we will hopefully catch all these cases
+    # in the end /lib should only contain 32bit and /lib64 only 64bit libs
+    cp -rsf ${staticUsrProfileTarget}/lib64/* lib64/
+
+    # copy gcc libs (and may overwrite exitsting wrongly placed libs)
+    cp -rsf ${choosenGcc.gcc}/lib/*   lib/
+    cp -rsf ${choosenGcc.gcc}/lib64/* lib64/
+  '';
+
+in stdenv.mkDerivation {
+  name         = "${name}-chrootenv";
+  buildCommand = ''
+    mkdir -p "$out/sw"
+    cd "$out/sw"
+    ${setupTargetProfile}
+    ${setupMultiProfile}
+    cd ..
+
     mkdir -p bin
     cd bin
-    
+
     sed -e "s|@chrootEnv@|$out|g" \
         -e "s|@name@|${name}|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         ${initSh} > init-${name}-chrootenv
     chmod +x init-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${mountSh} > mount-${name}-chrootenv
     chmod +x mount-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${loadSh} > load-${name}-chrootenv
     chmod +x load-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${umountSh} > umount-${name}-chrootenv
     chmod +x umount-${name}-chrootenv
-    
+
     sed -e "s|@chrootEnv@|$out|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${destroySh} > destroy-${name}-chrootenv
     chmod +x destroy-${name}-chrootenv
+
+    cd ..
+
+    cd "$out/sw"
+    ${extraBuildCommands}
+    cd "$out/sw"
+    ${if isMultiBuild then extraBuildCommandsMulti else ""}
+    cd ..
   '';
 }
diff --git a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
index 30b51cb5068f7..8ddf350913eb2 100644
--- a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
@@ -3,7 +3,7 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Remove bind mount points
-rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run}
+rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run,tmp}
 
 # Remove symlinks to the software that should be part of the chroot system profile
 for i in @chrootEnv@/sw/*
@@ -15,7 +15,8 @@ do
 done
 
 # Remove the remaining folders
-rm -Rf $chrootenvDest/{etc,root,tmp}
+rm -Rf $chrootenvDest/{etc,root}
+rm -Rf /tmp/chrootenv-@name@
 
 # Remove the chroot environment folder
 rmdir $chrootenvDest
diff --git a/pkgs/build-support/build-fhs-chrootenv/init.sh.in b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
index 5b0ab94bc4eb6..079ec09d60f71 100644
--- a/pkgs/build-support/build-fhs-chrootenv/init.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
@@ -45,4 +45,5 @@ ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fon
 mkdir $chrootenvDest/root
 
 # Create tmp folder
-mkdir -m1777 $chrootenvDest/tmp
+mkdir -m1777    $chrootenvDest/tmp
+mkdir -m1777 -p /tmp/chrootenv-@name@
diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
index 225d9dbc4f727..c64f9356283b8 100644
--- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
@@ -21,3 +21,6 @@ mount --rbind /run $chrootenvDest/run
 
 # Bind mount the host system's /etc
 mount --bind /etc $chrootenvDest/host-etc
+
+# Bind mount /tmp
+mount --bind /tmp/chrootenv-@name@ /run/chrootenv/steam/tmp
diff --git a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
index 5089141c0aa44..b8222a4121ab3 100644
--- a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
@@ -3,4 +3,4 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Unmount all (r)bind mounts
-umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
+umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,tmp,run}
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index a17daf9a2c575..c52a26b7165de 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -1,5 +1,7 @@
 {stdenv, git, cacert}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true
+, name ? "git-export"
+}:
 
 /* NOTE:
    fetchgit has one problem: git fetch only works for refs.
@@ -26,7 +28,7 @@
 assert md5 != "" || sha256 != "";
 
 stdenv.mkDerivation {
-  name = "git-export";
+  inherit name;
   builder = ./builder.sh;
   fetcher = ./nix-prefetch-git;
   buildInputs = [git];
diff --git a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
index c53fd44207d00..2ad7783a442c4 100644
--- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
@@ -77,7 +77,6 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
         n=$((n + 1))
     done
     params=("${rest[@]}")
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty"
 fi
 
 
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index e66b348d082a6..bd6ac84a0f8d0 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -32,7 +32,7 @@ let
 
     grKernel = if cfg.stable
                then mkKernel pkgs.linux_3_14 stable-patch
-               else mkKernel pkgs.linux_3_15 test-patch;
+               else mkKernel pkgs.linux_3_16 test-patch;
 
     ## -- grsecurity configuration ---------------------------------------------
 
diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
index 28c28f695875e..b66001073f270 100644
--- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
+++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
@@ -8,6 +8,10 @@ SF_version_dir () {
   version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$'
 }
 
+SF_version_tarball () {
+  version_link '[.]tar[.].*/download$'
+}
+
 GH_latest () {
   prefetch_command_rel ../fetchgit/nix-prefetch-git
   revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )"
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index e11eb722e0e4c..e60499b60f27f 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -280,6 +280,12 @@ do_overwrite_just_version () {
   set_var_value sha256 $CURRENT_HASH
 }
 
+minimize_overwrite() {
+  do_overwrite(){
+    do_overwrite_just_version
+  }
+}
+
 process_config () {
   CONFIG_DIR="$(directory_of "$1")"
   CONFIG_NAME="$(basename "$1")"
@@ -297,9 +303,7 @@ process_config () {
       exit 1;
     }
     [ -z "$(retrieve_meta fullRegenerate)" ] && eval "
-      do_overwrite(){
-        do_overwrite_just_version
-      }
+      minimize_overwrite
     "
   fi
   ensure_attribute_name
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 7a35577c69a30..72cc7f68b090e 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1,5 +1,5 @@
 { pkgs
-, kernel ? pkgs.linux_3_10
+, kernel ? pkgs.linux
 , img ? "bzImage"
 , rootModules ?
     [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl
index 94da0a20adc11..411c351f1e44d 100644
--- a/pkgs/build-support/vm/rpm/rpm-closure.pl
+++ b/pkgs/build-support/vm/rpm/rpm-closure.pl
@@ -91,7 +91,7 @@ for (my $i = 0; $i < scalar(@packagesFiles); $i++) {
 
 my %provides;
 foreach my $pkgName (keys %pkgs) {
-    print STDERR "looking at $pkgName\n";
+    #print STDERR "looking at $pkgName\n";
     my $pkg = $pkgs{$pkgName};
     
     #print STDERR keys %{$pkg->{format}}, "\n";
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
index d9801428a8877..b560a850a3067 100644
--- a/pkgs/build-support/vm/windows/cygwin-iso/default.nix
+++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
@@ -40,7 +40,7 @@ let
     };
   in map gen expr;
 
-in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
+in import ../../../../../nixos/lib/make-iso9660-image.nix {
   inherit stdenv perl cdrkit pathsFromGraph;
   contents = [
     { source = "${cygwinCross}/bin/setup.exe";
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 2eefa31691ee6..ceac2a0c78e43 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-3.71";
+  name = "man-pages-3.72";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "981038ecffcf6db490c0bc4359f489c318654068a6ba5aa086962ac41b0d2894";
+    sha256 = "0lw62qvbbnxk19q7ca6kcwb0qxqh1rrf39m35bm5fwirqw8dmr7y";
   };
 
   preBuild =
diff --git a/pkgs/data/documentation/pthread-man-pages/default.nix b/pkgs/data/documentation/pthread-man-pages/default.nix
index 4cd5a5b8297ba..cbd3234b2d443 100644
--- a/pkgs/data/documentation/pthread-man-pages/default.nix
+++ b/pkgs/data/documentation/pthread-man-pages/default.nix
@@ -43,6 +43,6 @@ in
     meta = {
       description = "POSIX threads (pthreads) manual pages from LinuxThreads";
       homepage = http://www.gnu.org/software/libc/;
-      maintainers = stdenv.lib.maintainers.mornfall;
+      maintainers = [ stdenv.lib.maintainers.mornfall ];
     };
   }
diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix
index 7394dce551bae..189c066b13ebc 100644
--- a/pkgs/data/fonts/arkpandora/default.nix
+++ b/pkgs/data/fonts/arkpandora/default.nix
@@ -4,6 +4,7 @@ rec {
   src = fetchurl {
     urls = [
       "ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
+      "http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
       "http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
       ];
     sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51";
diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix
new file mode 100644
index 0000000000000..acd16478fcf59
--- /dev/null
+++ b/pkgs/data/fonts/baekmuk-ttf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "baekmuk-ttf-2.2";
+
+  src = fetchurl {
+    url = "http://kldp.net/frs/download.php/1429/${name}.tar.gz";
+    sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882";
+  };
+
+  dontBuild = true;
+
+  installPhase = let
+    fonts_dir = "$out/share/fonts";
+    doc_dir = "$out/share/doc/${name}";
+  in ''
+    mkdir -pv ${fonts_dir}
+    mkdir -pv ${doc_dir}
+    cp ttf/*.ttf ${fonts_dir}
+    cp COPYRIGHT* ${doc_dir}
+  '';
+
+  meta = {
+    description = "Korean font";
+    homepage = "http://kldp.net/projects/baekmuk/";
+    license = "BSD-like";
+  };
+}
+
diff --git a/pkgs/data/fonts/proggyfonts/default.nix b/pkgs/data/fonts/proggyfonts/default.nix
new file mode 100644
index 0000000000000..1c41a92bf96c3
--- /dev/null
+++ b/pkgs/data/fonts/proggyfonts/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+
+# adapted from https://aur.archlinux.org/packages/proggyfonts/
+
+stdenv.mkDerivation rec {
+  name = "proggyfonts-0.1";
+
+  src = fetchurl {
+    url = "http://kaictl.net/software/${name}.tar.gz";
+    sha256 = "1plcm1sjpa3hdqhhin48fq6zmz3ndm4md72916hd8ff0w6596q0n";
+  };
+
+  buildInputs = [ mkfontdir mkfontscale ];
+
+  installPhase =
+    ''
+      mkdir -p $out/share/doc/$name $out/share/fonts/misc $out/share/fonts/truetype
+
+      cp Licence.txt $out/share/doc/$name/LICENSE
+
+      for f in *.pcf; do
+        gzip -c "$f" > $out/share/fonts/misc/"$f".gz
+      done
+      cp *.bdf $out/share/fonts/misc
+      cp *.ttf $out/share/fonts/truetype
+
+      for f in misc truetype; do
+        cd $out/share/fonts/$f
+        mkfontscale
+        mkfontdir
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://upperbounds.net;
+    description = "A set of fixed-width screen fonts that are designed for code listings";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/stix-otf/default.nix b/pkgs/data/fonts/stix-otf/default.nix
new file mode 100644
index 0000000000000..f32d865c95c7d
--- /dev/null
+++ b/pkgs/data/fonts/stix-otf/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "stix-otf-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/stixfonts/STIXv${version}-word.zip";
+    sha256 = "1q35wbqn3nh78pdban9z37lh090c6p49q3d00zzxm0axxz66xy4q";
+  };
+
+  buildInputs = [unzip];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  sourceRoot = "Fonts/STIX-Word";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp *.otf $out/share/fonts/opentype
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.stixfonts.org/;
+    description = "Fonts for Scientific and Technical Information eXchange";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
index b324e52d02123..70375a22bae53 100644
--- a/pkgs/data/fonts/symbola/default.nix
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "symbola-7.12";
+  name = "symbola-7.17";
 
   src = fetchurl {
     url = "http://users.teilar.gr/~g1951d/Symbola.zip";
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
index 065bb4bc828f3..c0665b2f0ccf6 100644
--- a/pkgs/data/fonts/wqy-microhei/default.nix
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.asl20;
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index d42665c69ccaa..92f043c7fc07e 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.gpl2; # with font embedding exceptions
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix
index db4d13b890fdb..a40856e591062 100644
--- a/pkgs/data/misc/miscfiles/default.nix
+++ b/pkgs/data/misc/miscfiles/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "miscfiles-1.4.2";
+  name = "miscfiles-1.5";
 
   src = fetchurl {
     url = "mirror://gnu/miscfiles/${name}.tar.gz";
-    sha256 = "1rh10y63asyrqyp5mlmxy7y4kdp6svk2inws3y7mfx8lsrhcm6dn";
+    sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/miscfiles/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     description = "Collection of files not of crucial importance for sysadmins";
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 134a6f5307ebe..57f5b24a6f87d 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -2,11 +2,11 @@
 , libxml2, glib}:
 
 stdenv.mkDerivation rec {
-  name = "shared-mime-info-1.2";
+  name = "shared-mime-info-1.3";
 
   src = fetchurl {
     url = "http://freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5";
+    sha256 = "0fijrc8j2kw6bvdx7fmlfafbcwxvinhr8l44b46b3v59gj69rm2g";
   };
 
   buildInputs = [
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 90111cb52e190..6a4427bea4040 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl }:
 
-let version = "2014e"; in
+let version = "2014g"; in
 
 stdenv.mkDerivation rec {
   name = "tzdata-${version}";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
   srcs =
     [ (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
-        sha256 = "1ic63ykplnrvh9704j6l089rais0nxw1lcf1dbc3iy2ij2kl7qh8";
+        sha256 = "0w52hafnf82vy678rm8p39ckymcj6shv5376zwzzbxw2m6vxaism";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "074c98vmdgysgkksaqwkn1gbrlnzk8l28zs8lhif44a9mckc9ss3";
+        sha256 = "0ymg0cscpbfj9jpnx4g9apmfrixq6z8dch99h6a77k2pmnj5ymfz";
       })
     ];
 
diff --git a/pkgs/desktops/e19/default.nix b/pkgs/desktops/e19/default.nix
new file mode 100644
index 0000000000000..5740337a11a11
--- /dev/null
+++ b/pkgs/desktops/e19/default.nix
@@ -0,0 +1,26 @@
+{ callPackage, pkgs }:
+let
+  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: {
+         name = "openjpeg-1.5.1";
+         src = fetchurl {
+           url = "http://openjpeg.googlecode.com/files/openjpeg-1.5.1.tar.gz";
+           sha1 = "1b0b74d1af4c297fd82806a9325bb544caf9bb8b";
+         };
+         #passthru = { incDir = "openjpeg-1.5.1"; };
+     });
+in
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { openjpeg=openjpeg_1; };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+
+}
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
new file mode 100644
index 0000000000000..1e42895b4e22e
--- /dev/null
+++ b/pkgs/desktops/e19/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e19, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl_1_11 python27Packages.dbus e19.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_11}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/efl-setup-hook.sh b/pkgs/desktops/e19/efl-setup-hook.sh
new file mode 100755
index 0000000000000..d98f24b4c04b0
--- /dev/null
+++ b/pkgs/desktops/e19/efl-setup-hook.sh
@@ -0,0 +1,8 @@
+addDbusIncludePath () {
+    if test -d "$1/include/dbus-1.0"
+    then
+        export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
+    fi
+}
+
+envHooks=(${envHooks[@]} addDbusIncludePath)
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
new file mode 100644
index 0000000000000..2252bc9199191
--- /dev/null
+++ b/pkgs/desktops/e19/efl.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, lua5_2, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, vlc, libwebp, curl }:
+
+
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "123jrcifd7i0r9zh8qllqiz3d378fyy7fzkanyki9wbxlz91rk7k";
+  };
+
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
+
+  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ] ++ [ xlibs.libXrender xlibs.libXfixes xlibs.libXrandr xlibs.libxkbfile xlibs.libxcb xlibs.xcbutilkeysyms openjpeg doxygen expat lua5_2 harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler libraw libspectre xineLib vlc libwebp curl ];
+
+  configureFlags = [ "--with-tests=none" "--enable-sdl" "--enable-drm" "--with-opengl=full" "--enable-image-loader-jp2k" "--enable-xinput22" "--enable-multisense" "--enable-systemd" "--enable-image-loader-webp" "--enable-harfbuzz" "--enable-wayland" "--enable-xine" "--enable-fb" "--disable-tslib" "--with-systemdunitdir=$out/systemd/user" ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${xlibs.libXtst}" "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  preConfigure = ''
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+
+  setupHook = ./efl-setup-hook.sh;
+
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
new file mode 100644
index 0000000000000..db335a156202c
--- /dev/null
+++ b/pkgs/desktops/e19/elementary.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "041hwp81qyq4wsw483g2jh52gcanqg046f91pmd0vzgwcgxyixqq";
+  };
+  buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
new file mode 100644
index 0000000000000..781d884fe3bd1
--- /dev/null
+++ b/pkgs/desktops/e19/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e19, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.11.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "0x6aigsqnfn9vcaj1rj6055s0vh811svzhwz5zghksg4lqipjbjx";
+  };
+  buildInputs = [ pkgconfig e19.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
new file mode 100644
index 0000000000000..95c5abdfa58c7
--- /dev/null
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, e19, xlibs, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap, set_freqset_setuid ? false }:
+
+
+
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.19.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
+    sha256 = "0d9s8gwma32hj8h000k1bzibr3zj8qajcf14va3w81k87gkilxfp";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary xlibs.libXdmcp xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 -I${e19.efl}/include/ecore-imf-1 -I${e19.efl}/include/ethumb-client-1 -I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+    export USER_SESSION_DIR=$prefix/lib/systemd/user
+  '';
+
+  # this is a hack and without this cpufreq module is not working:
+  #   when set_freqset_setuid is true and "e19_freqset" is set in setuidPrograms (this is taken care of in e19 NixOS module),
+  #   then this postInstall does the folowing:
+  #   1. moves the "freqset" binary to "e19_freqset",
+  #   2. linkes "e19_freqset" to enlightenment/bin so that,
+  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e19_freqset,
+  #   4. and finaly, linkes /var/setuid-wrappers/e19_freqset to original destination where enlightenment wants it
+  postInstall = if set_freqset_setuid then ''
+    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
+    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e19_freqset
+    ln -sv $CPUFREQ_DIRPATH/e19_freqset $out/bin/e19_freqset
+    ln -sv /var/setuid-wrappers/e19_freqset $CPUFREQ_DIRPATH/freqset
+  '' else "";
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
new file mode 100644
index 0000000000000..98b035f94e405
--- /dev/null
+++ b/pkgs/desktops/e19/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "03p6v7l2fxvldiymqk16pqnbm9llygp6i19qhn3rmrqy1hkjkry6";
+  };
+  buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
new file mode 100644
index 0000000000000..97bf07b298d5a
--- /dev/null
+++ b/pkgs/desktops/e19/terminology.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e19 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.6.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 97dcbf4e0041a..3da878dde7422 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
 
 stdenv.mkDerivation {
   name = "scrollkeeper-0.3.14";
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
     cp ${automake}/share/automake*/config.{sub,guess} .
   ";
 
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
+  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt gettext];
   configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
 }
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
index 84a77e5a024af..6b9a69c738dc4 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gedit" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
       --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
index b393bb439316e..a8c84d6a7698e 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
@@ -28,17 +28,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ];
-    in
-    ''
+  preFixup = ''
     substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
     wrapProgram "$out/bin/gnome-documents" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libPath}" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
index b8d2bbc79efd1..31d521e8c302c 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
@@ -24,19 +24,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ glib gtk3 libnotify tracker gnome3.grilo cairo
-          gst_all_1.gstreamer gst_all_1.gst-plugins-base
-          gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
-    in
-    ''
+  preFixup = ''
     wrapProgram "$out/bin/gnome-music" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${libPath}" \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
       --prefix PYTHONPATH : "$PYTHONPATH"
diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
index f9fbbbe56c625..b60363b024cf8 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
@@ -1,22 +1,22 @@
 { stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
 , pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3
 , makeWrapper, itstool, shared_mime_info, libical, db, gcr
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
 , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }:
 
 stdenv.mkDerivation rec {
-  name = "evolution-3.12.2";
+  name = "evolution-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz";
-    sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948";
+    sha256 = "08y1qiydbbk4fq8rrql9sgbwsny8bwz6f7m5kbbj5zjqvf1baksj";
   };
 
   doCheck = true;
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
                   gnome3.evolution_data_server libsecret libical gcr
                   webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
index 0909a4239db50..c65a28c344678 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "gedit-3.12.1";
+  name = "gedit-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz";
-    sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f";
+    sha256 = "0lxnswqa0ysr57cqh062wp41sd76p6q7y3mnkl7rligd5c8hnikm";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
index d784544a183dc..c5f9bdb277461 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
@@ -4,11 +4,11 @@
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-music-3.12.2";
+  name = "gnome-music-3.12.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz";
-    sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a";
+    sha256 = "1vwzjv5001pg37qc0sh4ph3srqwg3vgibbdlqpim9w2k70l9j34z";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
new file mode 100644
index 0000000000000..75c82607a024c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
+  dbus_glib, libcanberra, gst_all_1, upower, vala, gnome3_12, gtk3, gst_plugins_base,
+  glib, gobjectIntrospection, hicolor_icon_theme
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-pomodoro-0.10.2-11-gd5f5b69";
+
+  src = fetchurl {
+    url =
+      "https://codeload.github.com/codito/gnome-shell-pomodoro/" +
+      "legacy.tar.gz/gnome-3.12";
+    sha256 =
+      "6c86203f56f69a52675c2df21e580a785f8894a2a9cdf4322d44743603504d10";
+    name = "${name}.tar.gz"; 
+  };
+
+  configureScript = ''./autogen.sh'';
+
+  buildInputs = [
+    which automake113x intltool glib gobjectIntrospection pkgconfig libtool
+    makeWrapper dbus_glib libcanberra upower vala gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    gnome3_12.gsettings_desktop_schemas gnome3_12.gnome_desktop
+    gnome3_12.gnome_common gnome3_12.gnome_shell hicolor_icon_theme gtk3
+  ];
+
+  preBuild = ''
+    sed -i \
+        -e 's|/usr\(/share/gir-1.0/UPowerGlib\)|${upower}\1|' \
+        -e 's|/usr\(/share/gir-1.0/GnomeDesktop\)|${gnome3_12.gnome_desktop}\1|' \
+        vapi/Makefile
+  '';
+
+  preFixup = ''
+    wrapProgram $out/bin/gnome-pomodoro \
+        --prefix XDG_DATA_DIRS : \
+        "$out/share:$GSETTINGS_SCHEMAS_PATH:$XDG_DATA_DIRS"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/codito/gnome-shell-pomodoro;
+    description =
+      "Personal information management application that provides integrated " + 
+      "mail, calendaring and address book functionality";
+    maintainers = with maintainers; [ DamienCassou ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
index 7fb341948be58..c6ac93b107473 100644
--- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
@@ -11,11 +11,11 @@
 # TODO: enable more features
 
 stdenv.mkDerivation rec {
-  name = "empathy-3.12.2";
+  name = "empathy-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz";
-    sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd";
+    sha256 = "0rhgpiv75aafmdh6r7d4ci59lnxqmmwg9hvsa5b3mk7j2d2pma86";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
index b8711f7e563dd..2cb1fbe90d45f 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
@@ -4,11 +4,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "evolution-data-server-3.12.2";
+  name = "evolution-data-server-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz";
-    sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6";
+    sha256 = "d3a2f832f823cb2a41467926dcaec984a15b2cb51ef89cf41267e337ca750811";
   };
 
   buildInputs = with gnome3;
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
index 47b958002a39c..7e3af8405a4bd 100644
--- a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
@@ -5,11 +5,11 @@
 # TODO: enable more folks backends
 
 stdenv.mkDerivation rec {
-  name = "folks-0.9.6";
+  name = "folks-0.9.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
-    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
+    sha256 = "09cbs3ihcswpi1wg8xbjmkqjbhnxa1idy1fbzmz0gah7l5mxmlfj";
   };
 
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
index 666032f56a732..19d0c9c10e897 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
@@ -3,11 +3,11 @@
 , itstool, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-calculator-3.12.1";
+  name = "gnome-calculator-3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz";
-    sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740";
+    sha256 = "0bn3agh3g22iradfpzkc19a2b33b1mbf0ciy1hf2sijrczi24410";
   };
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index dbb19f77d21e5..6f6816efa5bd7 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-shell" \
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
index 7377c839d1c96..2a237b15c21cb 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-user-docs-3.12.1";
+  name = "gnome-user-docs-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz";
-    sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418";
+    sha256 = "1cj45lpa74vkbxyila3d6pn5m1gh51nljp9fjirxmzwi1h6wg7jd";
   };
 
   buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
index a8a1c244767ca..9076d5c583903 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
@@ -3,11 +3,11 @@
 , gmime, json_glib, avahi, tracker, itstool }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-plugins-0.2.12";
+  name = "grilo-plugins-0.2.13";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
-    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
+    sha256 = "008jwm5ydl0k25p3d2fkcail40fj9y3qknihxb5fg941p8qlhm55";
   };
 
   installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
index 6f1bfbbcfe948..9c0e3f9a0bc9f 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
@@ -2,11 +2,11 @@
 , libxml2, gnome3, gobjectIntrospection, libsoup }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-0.2.10";
+  name = "grilo-0.2.11";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
-    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
+    sha256 = "8a52c37521de80d6caf08a519a708489b9e2b097c2758a0acaab6fbd26d30ea6";
   };
 
   configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
index 4564b0d21e174..8a89425a69638 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "3.12.2";
+  version = "3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz";
-    sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad";
+    sha256 = "1xzmw9n9zbkaasl8xi7s5h49wiv5dq4qf8hr2pzjkack3ai5j6gk";
   };
 
   buildInputs = [ pkgconfig atk cairo glib gtk3 pango
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
index 3589299df3ec4..4909475198322 100644
--- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
@@ -5,11 +5,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "totem-3.12.1";
+  name = "totem-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz";
-    sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3";
+    sha256 = "1law033wxbs8v3l2fk0p1v8lf9m45dm997yhq0cmqgw10jxxiybn";
   };
 
   doCheck = true;
@@ -39,8 +39,6 @@ stdenv.mkDerivation rec {
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
-  patches = [ ./fix_files_loss.patch ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Videos;
     description = "Movie player for the GNOME desktop based on GStreamer";
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
deleted file mode 100644
index b85ad1efd00e8..0000000000000
--- a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Thu, 15 May 2014 19:28:35 +0200
-Subject: main: Fix potential data loss when removing multiple files
-
-We were using a list of GtkTreePaths and deleting the items one-by-one
-when the user clicked the "Delete" button. But after the first deletion,
-the tree model would have changed, and instead of pointing to the 2nd
-item we wanted to delete, the GtkTreePath would have pointed to another
-item, usually not one that we wanted to delete.
-
-We now use GtkTreeRowReferences, which will always point to the same
-row, as long as it exists.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=729778
-
-diff --git a/src/totem-grilo.c b/src/totem-grilo.c
-index 2133d77..0cff0d6 100644
---- a/src/totem-grilo.c
-+++ b/src/totem-grilo.c
-@@ -2074,7 +2074,8 @@ static void
- delete_foreach (gpointer data,
- 		gpointer user_data)
- {
--	GtkTreePath *path = data;
-+	GtkTreeRowReference *ref = data;
-+	GtkTreePath *path;
- 	GtkTreeModel *view_model = user_data;
- 	GtkTreeIter iter;
- 	GrlSource *source;
-@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data,
- 	GtkTreeModel *model;
- 	GtkTreeIter real_model_iter;
- 
--	if (!gtk_tree_model_get_iter (view_model, &iter, path))
-+	path = gtk_tree_row_reference_get_path (ref);
-+	if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) {
-+		g_warning ("An item that was scheduled for removal isn't available any more");
- 		return;
-+	}
- 
- 	gtk_tree_model_get (view_model, &iter,
- 			    MODEL_RESULTS_CONTENT, &media,
-@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar,
- 	   TotemGrilo            *self)
- {
- 	GtkTreeModel *model;
--	GList *list;
-+	GList *list, *l;
- 
- 	g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self);
- 
- 	model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser));
- 	list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser));
-+
-+	/* GList of GtkTreePaths to a GList of GtkTreeRowReferences */
-+	for (l = list; l != NULL; l = l->next) {
-+		GtkTreeRowReference *ref;
-+
-+		ref = gtk_tree_row_reference_new (model, l->data);
-+		gtk_tree_path_free (l->data);
-+		l->data = ref;
-+	}
- 	g_list_foreach (list, delete_foreach, model);
--	g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
-+	g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free);
- 
- 	g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self);
- 
--- 
-cgit v0.10.1
-
diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
index 79155fe9b567b..cf84f511416ba 100644
--- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
@@ -8,11 +8,11 @@
 , libpng, libexif, libgsf, libuuid, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "tracker-1.0.1";
+  name = "tracker-1.0.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz";
-    sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889";
+    sha256 = "11pqcldgh07mjn38dlbj6ry5qkfbpf79ln5sqx7q86hhqzh3712h";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index 41597e47fa54e..f63ae98c48668 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2
+, selectTextPatch ? false }:
 
 stdenv.mkDerivation rec {
-
   versionMajor = "0.36";
-  versionMinor = "2";
+  versionMinor = "3";
   moduleName   = "vte";
 
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345";
+    sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c";
   };
 
+  patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.patch;
+
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
 
   configureFlags = [ "--enable-introspection" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
new file mode 100644
index 0000000000000..80a2a445ec030
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
@@ -0,0 +1,214 @@
+diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
+--- vte-0.32.2-old/src/vte.c	2012-07-13 21:09:04.003969877 -0400
++++ vte-0.32.2/src/vte.c	2012-08-30 04:30:04.285924831 -0400
+@@ -129,7 +129,6 @@
+ 						 gpointer data,
+ 						 GArray *attributes,
+ 						 gboolean include_trailing_spaces);
+-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal);
+ static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
+ static void vte_terminal_stop_processing (VteTerminal *terminal);
+ 
+@@ -3508,8 +3507,8 @@
+ 	_vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
+ 	terminal->pvt->pty_input_source = 0;
+ }
+-static void
+-_vte_terminal_connect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
+ {
+ 	if (terminal->pvt->pty_channel == NULL) {
+ 		return;
+@@ -3560,8 +3559,8 @@
+ 	}
+ }
+ 
+-static void
+-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
+ {
+ 	if (terminal->pvt->pty_input_source != 0) {
+ 		_vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
+@@ -3708,8 +3707,8 @@
+         return NULL;
+ }
+ 
+-static char *
+-_vte_terminal_get_user_shell_with_fallback (void)
++char *
++vte_terminal_get_user_shell_with_fallback (void)
+ {
+         char *command;
+         const gchar *env;
+@@ -3744,7 +3743,7 @@
+ 	char **argv2;
+         char *shell = NULL;
+ 
+-        argv2 = __vte_pty_get_argv(command ? command : (shell = _vte_terminal_get_user_shell_with_fallback ()),
++        argv2 = __vte_pty_get_argv(command ? command : (shell = vte_terminal_get_user_shell_with_fallback ()),
+                                    argv,
+                                    flags);
+         g_free(shell);
+@@ -6545,6 +6544,28 @@
+ 	}
+ }
+ 
++/**
++ * vte_terminal_set_cursor_position:
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++				 long column, long row)
++{
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	terminal->pvt->screen->cursor_current.col = column;
++	terminal->pvt->screen->cursor_current.row = row;
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	_vte_check_cursor_blink(terminal);
++	vte_terminal_queue_cursor_moved(terminal);
++}
++
+ static GtkClipboard *
+ vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
+ {
+@@ -6676,7 +6697,7 @@
+ 			terminal->pvt->selection_start.row);
+ 
+ 	/* Temporarily stop caring about input from the child. */
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ }
+ 
+ static gboolean
+@@ -6693,7 +6714,7 @@
+ 		terminal->pvt->selecting = FALSE;
+ 
+ 		/* Reconnect to input from the child if we paused it. */
+-		_vte_terminal_connect_pty_read(terminal);
++		vte_terminal_connect_pty_read(terminal);
+ 
+ 		return TRUE;
+ 	}
+@@ -8994,7 +9015,7 @@
+ #endif
+ 		kill(terminal->pvt->pty_pid, SIGHUP);
+ 	}
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ 	_vte_terminal_disconnect_pty_write(terminal);
+ 	if (terminal->pvt->pty_channel != NULL) {
+ 		g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -14384,7 +14405,7 @@
+         g_object_freeze_notify(object);
+ 
+         if (pvt->pty != NULL) {
+-                _vte_terminal_disconnect_pty_read(terminal);
++                vte_terminal_disconnect_pty_read(terminal);
+                 _vte_terminal_disconnect_pty_write(terminal);
+ 
+                 if (terminal->pvt->pty_channel != NULL) {
+@@ -14440,7 +14461,7 @@
+         _vte_terminal_setup_utf8 (terminal);
+ 
+         /* Open channels to listen for input on. */
+-        _vte_terminal_connect_pty_read (terminal);
++        vte_terminal_connect_pty_read (terminal);
+ 
+         g_object_notify(object, "pty");
+         g_object_notify(object, "pty-object");
+@@ -14567,6 +14588,50 @@
+ 	}
+ }
+ 
++/**
++ * vte_terminal_get_selection_block_mode:
++ * @terminal: a #VteTerminal
++ *
++ * Checks whether or not block selection is enabled.
++ *
++ * Returns: %TRUE if block selection is enabled, %FALSE if not
++ */
++gboolean
++vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
++	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
++	return terminal->pvt->selection_block_mode;
++}
++
++/**
++ * vte_terminal_set_selection_block_mode:
++ * @terminal: a #VteTerminal
++ * @block_mode: whether block selection is enabled
++ *
++ * Sets whether or not block selection is enabled.
++ */
++void
++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++	terminal->pvt->selection_block_mode = block_mode;
++}
++
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++			 long start_col, long start_row,
++			 long end_col, long end_row) {
++	_vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
++}
++
+ void
+ _vte_terminal_select_text(VteTerminal *terminal,
+ 			  long start_col, long start_row,
+diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h
+--- vte-0.32.2-old/src/vte.h	2012-07-13 21:09:04.003969877 -0400
++++ vte-0.32.2/src/vte.h	2012-08-30 04:30:09.695999432 -0400
+@@ -296,6 +296,15 @@
+ /* simple manipulation of selection */
+ void vte_terminal_select_all(VteTerminal *terminal);
+ void vte_terminal_select_none(VteTerminal *terminal);
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal);
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode);
++void vte_terminal_select_text(VteTerminal *terminal,
++                              long start_col, long start_row,
++                              long end_col, long end_row);
++
++/* pause and unpause output */
++void vte_terminal_disconnect_pty_read(VteTerminal *vte);
++void vte_terminal_connect_pty_read(VteTerminal *vte);
+ 
+ /* Set the terminal's size. */
+ void vte_terminal_set_size(VteTerminal *terminal,
+@@ -435,6 +444,8 @@
+ 				  GArray *attributes);
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 				      glong *column, glong *row);
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++				      long column, long row);
+ /* Display string matching:  clear all matching expressions. */
+ void vte_terminal_match_clear_all(VteTerminal *terminal);
+ 
+@@ -484,6 +495,7 @@
+ VtePty *vte_terminal_get_pty_object(VteTerminal *terminal);
+ 
+ char *vte_get_user_shell (void);
++char *vte_terminal_get_user_shell_with_fallback(void);
+ 
+ /* Accessors for bindings. */
+ #if !GTK_CHECK_VERSION (2, 91, 2)
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index 586c66e849414..a2ac4a94593b4 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -168,6 +168,8 @@ rec {
 
   vte = callPackage ./core/vte { };
 
+  vte-select-text = callPackage ./core/vte { selectTextPatch = true; };
+
   vino = callPackage ./core/vino { };
 
   yelp = callPackage ./core/yelp { };
@@ -211,6 +213,8 @@ rec {
 
   seahorse = callPackage ./apps/seahorse { };
 
+  pomodoro = callPackage ./apps/pomodoro { };
+
 #### Dev http://ftp.gnome.org/pub/GNOME/devtools/
 
   anjuta = callPackage ./devtools/anjuta { };
@@ -232,7 +236,7 @@ rec {
   libgit2-glib = callPackage ./misc/libgit2-glib { };
 
   libmediaart = callPackage ./misc/libmediaart { };
-  
+
   gexiv2 = callPackage ./misc/gexiv2 { };
 
   gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
@@ -240,4 +244,5 @@ rec {
   gpaste = callPackage ./misc/gpaste { };
 
   gtkhtml = callPackage ./misc/gtkhtml { };
+
 }
diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
index 1eb6c0e3ed299..768e8bdb36ef4 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
@@ -5,11 +5,11 @@
 , gnome3, librsvg, gnome_doc_utils, webkitgtk }:
 
 stdenv.mkDerivation rec {
-  name = "geary-0.6.0";
+  name = "geary-0.6.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz";
-    sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715";
+    sha256 = "0ap40mpj89sx82kcxlhl9gipq34ks2b70yhiv9s8zc5wg0nm7rpg";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
index 2eccb9a32cf99..26e9144349f24 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file, libnotify }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-tweak-tool-3.10.1";
+  name = "gnome-tweak-tool-3.12.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
-    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
+    url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz";
+    sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29";
   };
 
   doCheck = true;
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
       --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
index d2e7072d963c4..48a0860140715 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -30,8 +30,7 @@ stdenv.mkDerivation rec {
       for i in $out/libexec/gpaste/*; do
         wrapProgram $i \
           --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-          --prefix LD_LIBRARY_PATH : "${libPath}"
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
       done
     '';
 
diff --git a/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch b/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
new file mode 100644
index 0000000000000..c85eccd6beb64
--- /dev/null
+++ b/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
@@ -0,0 +1,36 @@
+--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+@@ -144,7 +144,7 @@
+ 
+ Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
+ {
+-    PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
+     PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
+                                                                                               PolkitQt1::Authority::None);
+     switch (r) {
+@@ -160,21 +160,12 @@
+ 
+ QByteArray Polkit1Backend::callerID() const
+ {
+-    QByteArray a;
+-    QDataStream s(&a, QIODevice::WriteOnly);
+-    s << QCoreApplication::applicationPid();
+-
+-    return a;
++    return QDBusConnection::systemBus().baseService().toUtf8();
+ }
+ 
+ bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
+ {
+-    QDataStream s(&callerID, QIODevice::ReadOnly);
+-    qint64 pid;
+-
+-    s >> pid;
+-
+-    PolkitQt1::UnixProcessSubject subject(pid);
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
+     PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
+ 
+     PolkitResultEventLoop e;
+
diff --git a/pkgs/desktops/kde-4.12/kde-workspace.nix b/pkgs/desktops/kde-4.12/kde-workspace.nix
index 537beaac6ae65..38e28225d94a6 100644
--- a/pkgs/desktops/kde-4.12/kde-workspace.nix
+++ b/pkgs/desktops/kde-4.12/kde-workspace.nix
@@ -20,7 +20,7 @@ kde {
       xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
       xorg.libXdamage
 
-      python boost qjson lm_sensors gpsd libraw1394 pciutils udev
+      python boost boost.lib qjson lm_sensors gpsd libraw1394 pciutils udev
       akonadi pam libusb1 libqalculate kdepimlibs  prison
       kactivities
     ];
diff --git a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
index 64e196452e318..b298cdbc81675 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
+++ b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
@@ -9,7 +9,7 @@ kde {
 
   buildInputs = [
     python kdepimlibs shared_desktop_ontologies
-    boost polkit_qt_1
+    boost boost.lib polkit_qt_1
   ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kig.nix b/pkgs/desktops/kde-4.12/kdeedu/kig.nix
index 37906c32bcb22..fb442e2ef6291 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kig.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/kig.nix
@@ -1,6 +1,6 @@
 { kde, kdelibs, boost, python}:
 kde {
-  buildInputs = [ kdelibs boost python ];
+  buildInputs = [ kdelibs boost boost.lib python ];
 
   cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
   meta = {
diff --git a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
index ce30d11fda316..135598ded90a2 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
+++ b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
@@ -1,7 +1,9 @@
 { kde, kdelibs, boost, grantlee }:
-
+let
+  boostpkg = boost.override { enableExceptions = true; };
+in
 kde {
-  buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ];
+  buildInputs = [ kdelibs boostpkg boostpkg.lib grantlee ];
 
   NIX_CFLAGS_COMPILE = "-fexceptions";
 
diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
index 396adf9ba7521..5db693e6ea07b 100644
--- a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
+++ b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
@@ -28,7 +28,10 @@ kde {
   # There are a few hardcoded paths.
   # Split plugins from libs?
 
-  patches = [ ../files/polkit-install.patch ];
+  patches = [
+    ../files/polkit-install.patch
+    ../files/kdelibs-cve-2014-5033.patch  # Security patch, remove when updating to 4.14.0 or more
+  ];
 
   cmakeFlags = [
     "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
index e838d84fc5eb7..9a76863c8e040 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
@@ -1,7 +1,7 @@
 { kde, kdelibs, boost }:
 
 kde {
-  buildInputs = [ kdelibs boost ];
+  buildInputs = [ kdelibs boost boost.lib ];
 
   meta = {
     description = "Strigi analyzers for various network protocols";
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
index f986da2de2148..d7527ca6a60d4 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
@@ -8,7 +8,7 @@ kde {
 
   buildInputs =
     [ kdelibs libktorrent nepomuk_core nepomuk_widgets sqlite qca2
-      libmms kde_baseapps kde_workspace boost ];
+      libmms kde_baseapps kde_workspace boost boost.lib ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
index 7d8aec21ce6c3..e8eab764419af 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
+++ b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
@@ -10,7 +10,7 @@ kde {
   buildInputs = [
     kdelibs qca2 mediastreamer libgadu jsoncpp
     kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib
-    libidn libxslt boost
+    libidn libxslt boost boost.lib
     ortp srtp libv4l
   ];
 
diff --git a/pkgs/desktops/kde-4.12/kdepim-runtime.nix b/pkgs/desktops/kde-4.12/kdepim-runtime.nix
index d92e225482065..484d3e1933a2f 100644
--- a/pkgs/desktops/kde-4.12/kdepim-runtime.nix
+++ b/pkgs/desktops/kde-4.12/kdepim-runtime.nix
@@ -5,7 +5,7 @@ kde {
 # TODO: libkgapi(2), LibKFbAPI,libkolab, libkolabxml
 
   buildInputs = [
-    kdepimlibs akonadi boost shared_desktop_ontologies
+    kdepimlibs akonadi boost boost.lib shared_desktop_ontologies
     libxslt
   ];
 
diff --git a/pkgs/desktops/kde-4.12/kdepim.nix b/pkgs/desktops/kde-4.12/kdepim.nix
index 4f364648d238b..0f5d868837e58 100644
--- a/pkgs/desktops/kde-4.12/kdepim.nix
+++ b/pkgs/desktops/kde-4.12/kdepim.nix
@@ -8,9 +8,9 @@ kde {
 # TODO: LinkGrammar
 
   buildInputs =
-    [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
-      libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
-      libXScrnSaver qjson
+    [ kdepimlibs boost boost.lib shared_desktop_ontologies akonadi
+      nepomuk_widgets libxslt cyrus_sasl gpgme libassuan grantlee prison
+      kactivities libXScrnSaver qjson
     ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/kde-4.12/kdepimlibs.nix b/pkgs/desktops/kde-4.12/kdepimlibs.nix
index ca0af9400b112..90d2717b88058 100644
--- a/pkgs/desktops/kde-4.12/kdepimlibs.nix
+++ b/pkgs/desktops/kde-4.12/kdepimlibs.nix
@@ -6,7 +6,7 @@ kde {
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs =
-    [ boost gpgme libical libxslt qjson prison
+    [ boost boost.lib gpgme libical libxslt qjson prison
       openldap cyrus_sasl akonadi shared_desktop_ontologies
     ];
 
diff --git a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
index 550099830d91b..afc925c79aab1 100644
--- a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
+++ b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
@@ -9,8 +9,8 @@ kde {
 
   KDEDIRS=marble;
 
-  buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
-                  eigen qca2 libXtst qimageblitz libqalculate 
+  buildInputs = [ kdelibs boost boost.lib kde_workspace kdepimlibs attica qjson
+                  qoauth eigen qca2 libXtst qimageblitz libqalculate
                   shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
   ];
 
diff --git a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
index e83a2d9a901b8..2dbccdef9450c 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
@@ -1,7 +1,7 @@
 { kde, kdelibs, libxml2, libxslt, boost }:
 
 kde {
-  buildInputs = [ kdelibs libxml2 libxslt boost ];
+  buildInputs = [ kdelibs libxml2 libxslt boost boost.lib ];
 
   meta = {
     description = "Umbrello UML modeller";
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
index 3ff1a286ae582..11b62f499a47c 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
+++ b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
@@ -2,7 +2,7 @@
 
 kde {
 
-  buildInputs = [ kdelibs kdepimlibs boost ];
+  buildInputs = [ kdelibs kdepimlibs boost boost.lib ];
 
   meta = {
     description = "Simple KDE GUI for GPG";
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
index 918512e2b2de2..36630ef8fc69c 100644
--- a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
+++ b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
@@ -4,7 +4,7 @@ kde {
 
 # todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
 
-  buildInputs = [ kdelibs kdepimlibs htmlTidy boost ];
+  buildInputs = [ kdelibs kdepimlibs htmlTidy boost boost.lib ];
 
   meta = {
     description = "A KDE link checker";
diff --git a/pkgs/desktops/kde-4.12/support/akonadi/default.nix b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
index d51996e3bc1ee..824fd3e6616b7 100644
--- a/pkgs/desktops/kde-4.12/support/akonadi/default.nix
+++ b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc";
   };
 
-  buildInputs = [ qt4 soprano libxslt boost sqlite ];
+  buildInputs = [ qt4 soprano libxslt boost boost.lib sqlite ];
 
   nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index 2b0f729c0a352..f486373ee17dd 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base, gtk
-, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique?null }:
+{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
+, glib, gstreamer, gst_plugins_base, gtk
+, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null
+}:
 
 let
   # The usual Gstreamer plugins package has a zillion dependencies
@@ -23,13 +25,13 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
-      libxfce4util libxfce4ui xfce4panel xfconf libunique
+      libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper
     ];
 
   postInstall =
     ''
-      mkdir -p $out/nix-support
-      echo ${gst_plugins_minimal} > $out/nix-support/propagated-user-env-packages
+      wrapProgram "$out/bin/xfce4-mixer" \
+        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
     '';
 
   meta = {
diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix
index db160c652cfb6..3a44baa489a75 100644
--- a/pkgs/development/compilers/agda/default.nix
+++ b/pkgs/development/compilers/agda/default.nix
@@ -28,7 +28,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://wiki.portal.chalmers.se/agda/";
     description = "A dependently typed functional programming language and proof assistant";
-    license = "unknown";
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
index d0ae1394f894a..7305fbb5397ba 100644
--- a/pkgs/development/compilers/agda/stdlib.nix
+++ b/pkgs/development/compilers/agda/stdlib.nix
@@ -1,7 +1,7 @@
-{ cabal, fetchurl, filemanip, Agda }:
+{ stdenv, agda, fetchurl, ghc, filemanip }:
 
-cabal.mkDerivation (self: rec {
-  pname = "Agda-stdlib";
+agda.mkDerivation (self: rec {
+  name = "Agda-stdlib";
   version = "0.8.1";
 
   src = fetchurl {
@@ -9,23 +9,18 @@ cabal.mkDerivation (self: rec {
     sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf";
   };
 
-  buildDepends = [ filemanip Agda ];
-
-  preConfigure = "cd ffi";
-
-  postInstall = ''
-      mkdir -p $out/share
-      cd ..
-      ${self.ghc.ghc}/bin/runhaskell GenerateEverything
-      ${Agda}/bin/agda -i . -i src Everything.agda
-      cp -pR src $out/share/agda
+  buildInputs = [ filemanip ghc ];
+  preConfigure = ''
+    runhaskell GenerateEverything.hs
   '';
 
-  meta = {
+  topSourceDirectories = [ "src" ];
+
+  meta = with stdenv.lib; {
     homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
     description = "A standard library for use with the Agda compiler.";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ jwiegley ];
   };
-})
\ No newline at end of file
+})
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index b77c7e476676a..07a4ceefd4d27 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "ats2-${version}";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "1266hl03d4w13qrimq6jsxcmw1mjivl27l3lhf9ddqlz0vy97j6a";
+    sha256 = "157k703zsdf0gr7mwz08rdldfgwfsm5ipg36xcc8092fcjs5ryqp";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 2fb8f9d73b5e5..7166d325b31c8 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -13,7 +13,7 @@
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, mpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
 , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@@ -59,14 +59,12 @@ let version = "4.8.3";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = []
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
       ++ optional (cross != null) ./libstdc++-target.patch
+      ++ optional noSysDirs ./no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ./gnat-cflags.patch
@@ -84,8 +82,8 @@ let version = "4.8.3";
     # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
     # binary distribution here to allow the whole chain to be bootstrapped.
     javaAntlr = fetchurl {
-      url = http://www.antlr.org/download/antlr-3.1.3.jar;
-      sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
+      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
+      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
     };
 
     xlibs = [
@@ -278,7 +276,6 @@ stdenv.mkDerivation ({
     ++ (optional javaAwtGtk pkgconfig);
 
   buildInputs = [ gmp mpfr mpc libelf ]
-    ++ (optional (ppl != null) ppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -295,15 +292,7 @@ stdenv.mkDerivation ({
 
   NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
 
-  preConfigure = ''
-    configureFlagsArray=(
-      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
-        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
-      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
-        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
-         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
-    );
-  '' + stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -331,7 +320,6 @@ stdenv.mkDerivation ({
     ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
     ${if enableShared then "" else "--disable-shared"}
     ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
-    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
     ${optionalString (isl != null) "--with-isl=${isl}"}
     ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
     ${if langJava then
@@ -414,7 +402,6 @@ stdenv.mkDerivation ({
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
       ${if enableShared then "" else "--disable-shared"}
-      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
       ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
       ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
       ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
@@ -523,7 +510,6 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
 
-    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
     platforms =
diff --git a/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
new file mode 100644
index 0000000000000..36df51904acf4
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch
@@ -0,0 +1,28 @@
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/cppdefault.c gcc-4.8.3/gcc/cppdefault.c
+--- gcc-4.8.3-orig/gcc/cppdefault.c	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.3/gcc/cppdefault.c	2014-08-18 16:20:32.893944536 +0200
+@@ -35,6 +35,8 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++#undef LOCAL_INCLUDE_DIR
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+diff -ru -x '*~' gcc-4.8.3-orig/gcc/gcc.c gcc-4.8.3/gcc/gcc.c
+--- gcc-4.8.3-orig/gcc/gcc.c	2014-03-23 12:30:57.000000000 +0100
++++ gcc-4.8.3/gcc/gcc.c	2014-08-18 13:19:32.689201690 +0200
+@@ -1162,10 +1162,10 @@
+ /* Default prefixes to attach to command names.  */
+ 
+ #ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#define STANDARD_STARTFILE_PREFIX_1 ""
+ #endif
+ #ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#define STANDARD_STARTFILE_PREFIX_2 ""
+ #endif
+ 
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 8b185d00bcc07..d38040a48b385 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -11,7 +11,7 @@
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, mpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
-, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
+, cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
 , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@@ -57,10 +57,7 @@ let version = "4.9.1";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = [ ]
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
@@ -276,7 +273,6 @@ stdenv.mkDerivation ({
     ++ (optional javaAwtGtk pkgconfig);
 
   buildInputs = [ gmp mpfr mpc libelf ]
-    ++ (optional (ppl != null) ppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -294,13 +290,6 @@ stdenv.mkDerivation ({
   NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
 
   preConfigure = ''
-    configureFlagsArray=(
-      ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
-        "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"}
-      ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS)
-        "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\"
-         \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""}
-    );
     ${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit)
       ''
         export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
@@ -322,7 +311,6 @@ stdenv.mkDerivation ({
     ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"}
     ${if enableShared then "" else "--disable-shared"}
     ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
-    ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""}
     ${optionalString (isl != null) "--with-isl=${isl}"}
     ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"}
     ${if langJava then
@@ -403,7 +391,6 @@ stdenv.mkDerivation ({
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
       ${if enableShared then "" else "--disable-shared"}
-      ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""}
       ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""}
       ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
       ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
@@ -510,7 +497,6 @@ stdenv.mkDerivation ({
 
     maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
 
-    # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
     platforms =
diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix
index 73492fc65b777..e9c69261fbc1e 100644
--- a/pkgs/development/compilers/gcl/default.nix
+++ b/pkgs/development/compilers/gcl/default.nix
@@ -17,11 +17,11 @@ assert a.stdenv.gcc.libc != null ;
 
 rec {
   src = a.fetchurl {
-    sha256 = "1vsicv81ml7d92c87bckgkpvcshi6hzdnj44k0j6zs5mj8pzp8br";
-    url="http://gnu.spinellicreations.com/gcl/gcl-2.6.10.tar.gz";
+    sha256 = "177vz8z74mky5nrq6qlfvnzvb1prw8jmlv4cwfx8w7k3k818y1a4";
+    url="http://gnu.spinellicreations.com/gcl/gcl-2.6.11.tar.gz";
   };
 
-  name = "gcl-2.6.10";
+  name = "gcl-2.6.11";
   inherit buildInputs;
   configureFlags = [
     "--enable-ansi"
diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix
new file mode 100644
index 0000000000000..d710f67299568
--- /dev/null
+++ b/pkgs/development/compilers/gforth/default.nix
@@ -0,0 +1,10 @@
+{ stdenv, fetchurl, m4 }:
+
+stdenv.mkDerivation rec {
+  name = "gforth-0.7.3";
+  src = fetchurl {
+    url = "http://ftp.gnu.org/gnu/gforth/gforth-0.7.3.tar.gz";
+    sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
+  };
+  buildInputs = [ m4 ];
+}
\ No newline at end of file
diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix
index dfb545bb368de..e54d12ef9c505 100644
--- a/pkgs/development/compilers/go/1.1.nix
+++ b/pkgs/development/compilers/go/1.1.nix
@@ -51,6 +51,8 @@ stdenv.mkDerivation {
     sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go
   '' + stdenv.lib.optionalString removeGodocExternals ''
     sed -i -e '/googleapi/d' -e '/javascript">$/,+6d' lib/godoc/godoc.html 
   '';
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
index b519b96415bd5..8567337be0b5d 100644
--- a/pkgs/development/compilers/go/1.2.nix
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -50,6 +50,8 @@ stdenv.mkDerivation {
     sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go
   '';
 
   patches = [ ./cacert-1.2.patch ];
diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix
index 1dcdd89b5bf4e..0bd057ad5132b 100644
--- a/pkgs/development/compilers/go/1.3.nix
+++ b/pkgs/development/compilers/go/1.3.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }:
+{ stdenv, lib, fetchurl, fetchhg, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl }:
 
 assert stdenv.gcc.gcc != null;
 
@@ -6,17 +6,26 @@ let
   loader386 = "${glibc}/lib/ld-linux.so.2";
   loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
   loaderArm = "${glibc}/lib/ld-linux.so.3";
+  srcs = {
+    golang = fetchurl {
+      url = https://storage.googleapis.com/golang/go1.3.1.src.tar.gz;
+      sha256 = "fdfa148cc12f1e4ea45a5565261bf43d8a2e7d1fad4a16aed592d606223b93a8";
+    };
+    tools = fetchhg {
+      url = https://code.google.com/p/go.tools/;
+      rev = "e1c276c4e679";
+      sha256 = "0x62njflwkd99i2ixbksg6mjppl1wfg86f0g3swn350l1h0xzp76";
+    };
+  };
 in
 
 stdenv.mkDerivation {
   name = "go-1.3.1";
 
-  src = fetchurl {
-    url = https://storage.googleapis.com/golang/go1.3.1.src.tar.gz;
-    sha256 = "fdfa148cc12f1e4ea45a5565261bf43d8a2e7d1fad4a16aed592d606223b93a8";
-  };
+  src = srcs.golang;
 
-  buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
+  # perl is used for testing go vet
+  buildInputs = [ bison bash makeWrapper perl ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
 
   # I'm not sure what go wants from its 'src', but the go installation manual
   # describes an installation keeping the src.
@@ -24,6 +33,10 @@ stdenv.mkDerivation {
     mkdir -p $out/share
     cd $out/share
   '';
+  postUnpack = ''
+    mkdir -p $out/share/go/src/pkg/code.google.com/p/
+    cp -rv --no-preserve=mode,ownership ${srcs.tools} $out/share/go/src/pkg/code.google.com/p/go.tools
+  '';
 
   prePatch = ''
     # Ensure that the source directory is named go
@@ -46,6 +59,8 @@ stdenv.mkDerivation {
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
     sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/format_test.go
   '' + lib.optionalString stdenv.isLinux ''
     sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
     sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
@@ -81,6 +96,12 @@ stdenv.mkDerivation {
     ./all.bash
     cd -
 
+    # Build extra tooling
+    # TODO: Fix godoc tests
+    TOOL_ROOT=code.google.com/p/go.tools/cmd
+    go install -v $TOOL_ROOT/cover $TOOL_ROOT/vet $TOOL_ROOT/godoc
+    go test -v    $TOOL_ROOT/cover $TOOL_ROOT/vet # $TOOL_ROOT/godoc
+
     # Copy the emacs configuration for Go files.
     mkdir -p "$out/share/emacs/site-lisp"
     cp ./misc/emacs/* $out/share/emacs/site-lisp/
diff --git a/pkgs/development/compilers/gwydion-dylan/binary-builder.sh b/pkgs/development/compilers/gwydion-dylan/binary-builder.sh
deleted file mode 100644
index a0e71c02ab935..0000000000000
--- a/pkgs/development/compilers/gwydion-dylan/binary-builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-set -e
-
-mkdir -p $out
-cd $out
-tar zxvf $src
-mv ./usr/local/* .
-rm -rf ./usr
diff --git a/pkgs/development/compilers/gwydion-dylan/binary.nix b/pkgs/development/compilers/gwydion-dylan/binary.nix
deleted file mode 100644
index 0ac942d14b89f..0000000000000
--- a/pkgs/development/compilers/gwydion-dylan/binary.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "binary-gwydion-dylan-2.4.0";
-  builder = ./binary-builder.sh;
-  src = fetchurl {
-    url = http://www.gwydiondylan.org/downloads/binaries/linux/x86/tar/gwydion-dylan-2.4.0-x86-linux.tar.gz;
-    md5 = "52643ad51a455d21fd4d5bf82d98914c";
-  };
-}
diff --git a/pkgs/development/compilers/gwydion-dylan/builder.sh b/pkgs/development/compilers/gwydion-dylan/builder.sh
deleted file mode 100644
index ea2e54243990e..0000000000000
--- a/pkgs/development/compilers/gwydion-dylan/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-export DYLANDIR=$dylan
-export DYLANPATH=$dylan/lib/dylan/2.4.0/x86-linux-gcc
-configureFlags="--with-existing-runtime=$dylan/lib/dylan/2.4.0/x86-linux-gcc"
-export LD_LIBRARY_PATH="$dylan/lib/dylan/2.4.0/x86-linux-gcc:$LD_LIBRARY_PATH:$boehmgc/lib"
-
-genericBuild
diff --git a/pkgs/development/compilers/gwydion-dylan/default.nix b/pkgs/development/compilers/gwydion-dylan/default.nix
deleted file mode 100644
index 7c00e65d7ccd6..0000000000000
--- a/pkgs/development/compilers/gwydion-dylan/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, dylan, boehmgc, perl, flex, yacc, readline}:
-
-stdenv.mkDerivation {
-  name = "gwydion-dylan-2.4.0";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://www.gwydiondylan.org/downloads/src/tar/gwydion-dylan-2.4.0.tar.gz;
-    md5 = "7ed180bf4ef11e8e8da3bd78b45477a8";
-  };
-
-  inherit boehmgc dylan perl;
-  buildInputs = [boehmgc dylan perl flex yacc readline];
-}
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index d2f2439031850..1873b58e802ea 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ cmake pkgconfig boost libunwind mariadb libmemcached pcre libevent gd curl
-      libxml2 icu flex bison openssl zlib php expat libcap oniguruma
-      libdwarf libmcrypt tbb gperftools bzip2 openldap readline
+    [ cmake pkgconfig boost boost.lib libunwind mariadb libmemcached pcre
+      libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
+      oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
       libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml
     ];
 
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 0761f189bc824..2af8ec1b022ae 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.14.2";
-  sha256 = "0j64kx357l16z9y9j20i7mvxgqff94bfssbhh1shb13c0pk5lmi6";
+  version = "0.9.14.3";
+  sha256 = "03zppfqjamy4mdwcfx3x1wzxav67ha1zgnynrxhvdqw3zcsrwnlr";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -26,7 +26,6 @@ cabal.mkDerivation (self: {
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
   configureFlags = "-fllvm -fgmp -fffi";
-  jailbreak = true;
   meta = {
     homepage = "http://www.idris-lang.org/";
     description = "Functional Programming Language with Dependent Types";
diff --git a/pkgs/development/compilers/lessc/default.nix b/pkgs/development/compilers/lessc/default.nix
index 1d2bd5e7d0bcc..266e9eb5255fa 100644
--- a/pkgs/development/compilers/lessc/default.nix
+++ b/pkgs/development/compilers/lessc/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "lessc-${version}";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchgit {
     url = https://github.com/less/less.js.git;
     rev = "refs/tags/v${version}";
-    sha256 = "12nzaz7v1bnqzylh4zm1srrj7w7f45fqj4sihxyg0bknfvfwdc56";
+    sha256 = "1v3b4f1np3mxkj0irh1pk52r26nzpf4k2ax14cbn7mxx16mqjp50";
   };
 
   phases = [ "installPhase" ];
@@ -19,10 +19,11 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/lessc --replace "/usr/bin/env node" ${nodejs}/bin/node
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "LESS to CSS compiler";
     homepage = http://lesscss.org/;
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix
new file mode 100644
index 0000000000000..183640f5985d6
--- /dev/null
+++ b/pkgs/development/compilers/mezzo/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory}:
+
+stdenv.mkDerivation {
+
+  name = "mezzo-0.0.m8";
+
+  src = fetchurl {
+    url = https://github.com/protz/mezzo/archive/m8.tar.gz;
+    sha256 = "17mfapgqp8ssa5x9blv72zg9l561zbiwv3ikwi6nl9dd36lwkkc6";
+  };
+
+  buildInputs = [ ocaml findlib yojson menhir ulex pprint fix functory ];
+
+  createFindlibDestdir = true;
+
+  postInstall = ''
+    mkdir $out/bin
+    cp mezzo $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://protz.github.io/mezzo/;
+    description = "A programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory";
+    license = licenses.gpl2;
+    platforms = ocaml.meta.platforms;
+  };
+}
+
+
diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
index 23b5883c0098d..68b4a22220e69 100644
--- a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
+++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
@@ -3,9 +3,9 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "3.0";
+  version = "3.1";
   
-  date = "February2011";
+  date = "April2012";
   
   name = "nvidia-cg-toolkit-${version}";
   
@@ -13,12 +13,12 @@ stdenv.mkDerivation rec {
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86_64.tgz";
-        sha256 = "07gmnzfsla3vf1kf00cj86p87h6wrdbp6ri4ycslc5kmfxsq7ypq";
+        sha256 = "e8ff01e6cc38d1b3fd56a083f5860737dbd2f319a39037528fb1a74a89ae9878";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86.tgz";
-        sha256 = "0hr8l0r20akbfm5j0vqv4ghl0acwjf5996pxnfxlajacl9w58nam";
+        sha256 = "cef3591e436f528852db0e8c145d3842f920e0c89bcfb219c466797cb7b18879";
       }
     else throw "nvidia-cg-toolkit does not support platform ${stdenv.system}";
     
@@ -35,11 +35,6 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/"
     [ "$system" == "x86_64-linux" ] && cp -v lib64/* "$out/lib/"
     [ "$system" == "i686-linux" ] && cp -v lib/* "$out/lib/"
-    for mandir in man1 man3 manCg manCgFX
-    do
-        mkdir -p "$out/share/man/$mandir/"
-        cp -v share/man/$mandir/* "$out/share/man/$mandir/"
-    done
     mkdir -p "$out/share/doc/$name/"
     cp -v -r local/Cg/* "$out/share/doc/$name/"
   '';
diff --git a/pkgs/development/compilers/ocaml/4.02.0.nix b/pkgs/development/compilers/ocaml/4.02.0.nix
new file mode 100644
index 0000000000000..b6753cc6297c9
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.02.0.nix
@@ -0,0 +1,74 @@
+let
+  safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips);
+in
+
+{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }:
+
+assert useX11 -> !stdenv.isArm && !stdenv.isMips;
+
+let
+   useNativeCompilers = !stdenv.isMips;
+   inherit (stdenv.lib) optionals optionalString;
+in
+
+stdenv.mkDerivation rec {
+
+  x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
+  x11lib = x11env + "/lib";
+  x11inc = x11env + "/include";
+
+  name = "ocaml-4.02.0";
+
+  src = fetchurl {
+    url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz";
+    sha256 = "1ml5r8vzbwqhnq8jlps6jfgf0vym4nyrnr95mrbym6v5j2gabmw7";
+  };
+
+  prefixKey = "-prefix ";
+  configureFlags = optionals useX11 [ "-x11lib" x11lib
+                                      "-x11include" x11inc ];
+
+  buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
+  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
+  installTargets = "install" + optionalString useNativeCompilers " installopt";
+  preConfigure = ''
+    CAT=$(type -tp cat)
+    sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
+  '';
+  postBuild = ''
+    mkdir -p $out/include
+    ln -sv $out/lib/ocaml/caml $out/include/caml
+  '';
+
+  passthru = {
+    nativeCompilers = useNativeCompilers;
+  };
+
+  meta = {
+    homepage = http://caml.inria.fr/ocaml;
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    description = "Most popular variant of the Caml language";
+
+    longDescription =
+      ''
+        OCaml is the most popular variant of the Caml language.  From a
+        language standpoint, it extends the core Caml language with a
+        fully-fledged object-oriented layer, as well as a powerful module
+        system, all connected by a sound, polymorphic type system featuring
+        type inference.
+
+        The OCaml system is an industrial-strength implementation of this
+        language, featuring a high-performance native-code compiler (ocamlopt)
+        for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
+        Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
+        and an interactive read-eval-print loop (ocaml) for quick development
+        and portability.  The OCaml distribution includes a comprehensive
+        standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
+        parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
+        and a documentation generator (ocamldoc).
+      '';
+
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index 55e8ad45085f9..cf4990c33b5f5 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "65";
+  patchVersion = "67";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0";
-  sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7";
+  sha256_i686 = "0p58pag1x85r911lxhmr4blk687ivjqigflx175vp7rcmmj108xn";
+  sha256_x86_64 = "0db36jg08qy8712qy6lgyifdqlqb468rrnjm3aa6937ixl9ixpal";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 7dfbe218bb7cc..d654ebe6b0a7a 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,14 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.19";
+  name = "orc-0.4.22";
 
   src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.gz";
-    sha256 = "17mmgwll2waz44m908lcxc5fd6n44yysh7p4pdw33hr138r507z2";
+    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
+    sha256 = "0dgrbjm94y9l63s3srlddjcdxgrv6iazmvwh630jrw159dzhgjh4";
   };
 
-  doCheck = true;
+  # building memcpy_speed.log
+  # ../test-driver: line 107:  4495 Segmentation fault      "$@" > $log_file 2>&1
+  # FAIL: memcpy_speed
+  doCheck = false; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
 
   meta = {
     description = "The Oil Runtime Compiler";
@@ -17,5 +20,6 @@ stdenv.mkDerivation rec {
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = stdenv.lib.licenses.bsd3;
     platform = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
new file mode 100644
index 0000000000000..fea35d24960c6
--- /dev/null
+++ b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
@@ -0,0 +1,32 @@
+diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
+index 7a3e912..ced75fa 100644
+--- a/src/librustc/back/link.rs
++++ b/src/librustc/back/link.rs
+@@ -856,24 +856,15 @@
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => {}
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string()
+     }
+-
+-    // In the future, FreeBSD will use clang as default compiler.
+-    // It would be flexible to use cc (system's default C compiler)
+-    // instead of hard-coded gcc.
+-    // For Windows, there is no cc command, so we add a condition to make it use gcc.
+-    match sess.targ_cfg.os {
+-        abi::OsWindows => "gcc",
+-        _ => "cc",
+-    }.to_string()
+ }
+ 
+ pub fn get_ar_prog(sess: &Session) -> String {
+     match sess.opts.cg.ar {
+         Some(ref ar) => (*ar).clone(),
+-        None => "ar".to_string()
++        None => "@arPath@".to_string()
+     }
+ }
+ 
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index 4f512096a4235..f3dd7ef3c7500 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -16,19 +16,19 @@ assert stdenv.gcc.gcc != null;
 
 */
 
-with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-7a25cf3f3"; });
+with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-79a5448f4"; });
 
 let snapshot = if stdenv.system == "i686-linux"
-      then "a5e1bb723020ac35173d49600e76b0935e257a6a"
+      then "6f5464c9ab191d93bfea0894ca7c6f90c3506f2b"
       else if stdenv.system == "x86_64-linux"
-      then "1a2407df17442d93d1c34c916269a345658045d7"
+      then "72c92895fa9a1dba7880073f2b2b5d0e3e1a2ab6"
       else if stdenv.system == "i686-darwin"
-      then "6648fa88e41ad7c0991a085366e36d56005873ca"
+      then "545fc45a0071142714639c6be377e6d308c3a4e1"
       else if stdenv.system == "x86_64-darwin"
-      then "71b2d1dfd0abe1052908dc091e098ed22cf272c6"
+      then "8b44fbbbd1ba519d2e83d0d5ce1f6053d3cab8c6"
       else abort "no-snapshot for platform ${stdenv.system}";
-    snapshotDate = "2014-07-17";
-    snapshotRev = "9fc8394";
+    snapshotDate = "2014-09-10";
+    snapshotRev = "6faa4f3";
     snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
 
 in stdenv.mkDerivation {
@@ -38,8 +38,8 @@ in stdenv.mkDerivation {
 
   src = fetchgit {
     url = https://github.com/rust-lang/rust;
-    rev = "7a25cf3f30fa5fae2e868fa910ecc850f5e9ee65";
-    sha256 = "1hx8vd4gn5plbdvr0zvdvqyw9x9r2vbmh112h2f5d2xxsf9p7rf1";
+    rev = "79a5448f41dcc6ab52663105a6b02fc5af4c503e";
+    sha256 = "0v2ahwgb1ls3g4ch6005azjmfh8bs0v0nbmmfpn53zgiiywad2ji";
   };
 
   # We need rust to build rust. If we don't provide it, configure will try to download it.
@@ -63,7 +63,7 @@ in stdenv.mkDerivation {
   configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
 
   # The compiler requires cc, so we patch the source to tell it where to find it
-  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
+  patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ];
   postPatch = ''
     substituteInPlace src/librustc/back/link.rs \
       --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
diff --git a/pkgs/development/compilers/rustc/local_stage0.HEAD.patch b/pkgs/development/compilers/rustc/local_stage0.HEAD.patch
new file mode 100644
index 0000000000000..2f38d7c1757ce
--- /dev/null
+++ b/pkgs/development/compilers/rustc/local_stage0.HEAD.patch
@@ -0,0 +1,16 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index e78f231..6b6773b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -53,11 +53,6 @@
+ fi
+ 
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+ 
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix
new file mode 100644
index 0000000000000..c9d360f0ec5cf
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/1.2.0.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, sbclBootstrap, clisp}:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+  };
+
+  buildInputs = [ ]
+    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
+    ++ (stdenv.lib.optional stdenv.isLinux clisp)
+    ;
+
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+    echo "
+    (lambda (features)
+      (flet ((enable (x)
+               (pushnew x features))
+             (disable (x)
+               (setf features (remove x features))))
+        (enable :sb-thread))) " > customize-target-features.lisp
+
+    pwd
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix the tests
+    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
+
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+  '';
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  buildPhase = if stdenv.isLinux
+    then ''
+      sh make.sh clisp --prefix=$out
+    ''
+    else ''
+      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
+    '';
+
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
+
+  meta = {
+    description = "Lisp compiler";
+    homepage = http://www.sbcl.org;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index e299be9144eb8..c556870d519f3 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.11.0";
+  name = "scala-2.11.1";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7";
+    sha256 = "1vjsmqjwpxavyj29wrbvvx7799fsa65d4iha5mj63cgs8qp605gk";
   };
 
   buildInputs = [ jre makeWrapper ] ;
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index bd457b227e6f0..01dbaee8cde6c 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20140531";
+  version = "20140830";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
+    sha256 = "0l4zhvdy2fdvhihyl4gl09v8q4w05b1k0c6h4k8281px96d5ljgr";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix
index 568551bb5ba52..e723133e256dc 100644
--- a/pkgs/development/interpreters/acl2/default.nix
+++ b/pkgs/development/interpreters/acl2/default.nix
@@ -26,8 +26,8 @@ rec {
   doDeploy = (a.simplyShare installSuffix);
   doBuild = a.fullDepEntry (''
     cd $out/share/${installSuffix}
-    make LISP=${a.sbcl}/bin/sbcl
-    make LISP=${a.sbcl}/bin/sbcl regression
+    make LISP='${a.sbcl}/bin/sbcl --dynamic-space-size 2000'
+    make LISP='${a.sbcl}/bin/sbcl --dynamic-space-size 2000' regression
     mkdir -p "$out/bin"
     cp saved_acl2 "$out/bin/acl2"
   '') ["doDeploy" "addInputs" "defEnsureDir"];
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
new file mode 100644
index 0000000000000..b4a0b77e70545
--- /dev/null
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper }:
+let
+  version = "0.7";
+  name = "chibi-scheme-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  meta = {
+    homepage = "https://code.google.com/p/chibi-scheme/";
+    description = "Small Footprint Scheme for use as a C Extension Language";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ];
+  };
+
+  src = fetchurl {
+    url = "http://abrek.synthcode.com/${name}.tgz";
+    sha256 = "1hhkq0khgi8i24xv66y7r6pgk1issn1i2bf7rv91rbk0wm0kv7qm";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    make install PREFIX="$out"
+  '';
+
+  fixupPhase = ''
+    wrapProgram "$out/bin/chibi-scheme" \
+      --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi"
+
+    for f in chibi-doc chibi-ffi snow-chibi; do
+      substituteInPlace "$out/bin/$f" \
+        --replace "/usr/bin/env chibi-scheme" "$out/bin/chibi-scheme"
+    done
+  '';
+}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 59629eb2f59c8..8f0b4a238b3d7 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
 
 let
-  version = "0.15.1";
+  version = "1.0.0";
 in
 stdenv.mkDerivation {
   name = "elixir-${version}";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "8e608abf90a6e9a25ef5fb7e45dfd04e2cb7e1fecb4ac260bf6652885a7f0c50";
+    sha256 = "1ci8g6nh89xnn0ax9kazcs47w406nqsj1d4rf8sb1b6abfq78xsj";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
     '';
 
     license = licenses.epl10;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index 5945cdd8299df..23243803e8dc1 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
   version = "16B03-1";
 
   src = fetchurl {
@@ -17,7 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,7 +29,7 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
 
   postInstall = let
     manpages = fetchurl {
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 2aba55d36792b..a7378e69c3a58 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -1,23 +1,26 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
-  version = "17.1";
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
+  version = "17.3";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
+    sha256 = "1r3n7drzgmwcv46n4lzic9ki19psgx1vjgnmjp5g85k06kmh7gnl";
   };
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,12 +29,12 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
 
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
-      sha256 = "1aza6hxhh7ag2frsa0hg6il6ancjrbazvgz7jc2p7qrmy5vh48sa";
+      sha256 = "1dys0903snk0ppip8hfckfd656pl9z3s4vqqv3yk4i2rn30dmarz";
     };
   in ''
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
diff --git a/pkgs/development/interpreters/falcon/default.nix b/pkgs/development/interpreters/falcon/default.nix
index 0b4bfacb6de52..d9ce07f16f768 100644
--- a/pkgs/development/interpreters/falcon/default.nix
+++ b/pkgs/development/interpreters/falcon/default.nix
@@ -1,34 +1,21 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, zlib, sqlite }:
 
-  version = a.lib.attrByPath ["version"] "0.9.2" a; 
-  buildInputs = with a; [
-    cmake 
-  ];
-in
-rec {
-  src = fetchurl {
-    url = "http://www.falconpl.org/project_dl/_official_rel/Falcon-${version}.tar.gz";
-    sha256 = "0p32syiz2nc6lmmzi0078g4nzariw5ymdjkmhw6iamc0lkkb9x3i";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
+stdenv.mkDerivation rec {
+  name = "faclon-${version}";
+  version = "2013-09-19";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doDeploy"];
+  src = fetchFromGitHub {
+    owner = "falconpl";
+    repo = "falcon";
+    rev = "095141903c4ebab928ce803055f9bda363215c37";
+    sha256 = "1x3gdcz1gqhi060ngqi0ghryf69v8bn50yrbzfad8bhblvhzzdlf";
+  };
 
-  doDeploy = a.fullDepEntry (''
-    ./build.sh -i -p $out
-  '') ["minInit" "addInputs" "doFixInterpreter" "defEnsureDir"];
-     
-  doFixInterpreter = a.fullDepEntry (''
-    sed -e "s@/bin/bash@$shell@" -i build.sh
-  '') ["minInit" "doUnpack"];
+  buildInputs = [ cmake pkgconfig pcre zlib sqlite ];
 
-  name = "falcon-" + version;
-  meta = {
+  meta = with stdenv.lib; {
     description = "Programming language with macros and syntax at once";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index fdfb5d8ca30c8..c611577adfbea 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "groovy-${version}";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/groovy-binary-${version}.zip";
-    sha256 = "0yvk6x1f68avl52zzwx9p3faiqr98rfps70vql05j6kd7syyp0ah";
+    sha256 = "09957vi33c8bgk6z4wnidch5sz3s183yh6xba8cdjy5f7jpzmmiq";
   };
 
   installPhase = ''
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
new file mode 100644
index 0000000000000..a6b8478b5e20c
--- /dev/null
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, sqlite }:
+
+stdenv.mkDerivation {
+  name = "jimtcl-0.75-git";
+
+  src = fetchgit {
+    url = https://github.com/msteveb/jimtcl.git;
+    rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
+    sha256 = "0vnl2k5sj250l08bplqd61zj6261v7kp202pss66g01rhp42fj3r";
+  };
+
+  buildInputs = [
+    sqlite
+  ];
+
+  configureFlags = [
+    "--with-ext=oo"
+    "--with-ext=tree"
+    "--with-ext=binary"
+    "--with-ext=sqlite3"
+    "--enable-utf8"
+    "--ipv6"
+  ];
+
+  meta = {
+    description = "An open source small-footprint implementation of the Tcl programming language";
+    homepage = http://jim.tcl.tk/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 1b05cb8f77800..444ecbc787af6 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, readline }:
+{ stdenv, fetchurl, fetchpatch, readline }:
 
 let
   dsoPatch = fetchurl {
@@ -18,7 +18,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
-  patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ];
+  patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ])
+    ++ [(fetchpatch {
+      name = "CVE-2014-5461.patch";
+      url = "http://anonscm.debian.org/cgit/pkg-lua/lua5.1.git/plain/debian/patches/"
+        + "0004-Fix-stack-overflow-in-vararg-functions.patch?id=b75a2014db2ad65683521f7bb295bfa37b48b389";
+      sha256 = "05i5vh53d9i6dy11ibg9i9qpwz5hdm0s8bkx1d9cfcvy80cm4c7f";
+    })];
 
   configurePhase =
     if stdenv.isDarwin
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index ea44adb462c19..1812ccbf7d6e2 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -9,12 +9,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "lua-${version}";
-  majorVersion = "5.2";
-  version = "${majorVersion}.2";
+  luaversion = "5.2";
+  version = "${luaversion}.3";
 
   src = fetchurl {
     url = "http://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz";
+    sha1 = "926b7907bc8d274e063d42804666b40a3f3c124c";
   };
 
   nativeBuildInputs = [ readline ];
@@ -24,17 +24,17 @@ stdenv.mkDerivation rec {
   configurePhase =
     if stdenv.isDarwin
     then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
   '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${majorVersion} R=${version} )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${majorVersion} liblua.so.${version}" INSTALL_DATA='cp -d' )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} )
+    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
   '';
 
   postInstall = ''
     mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
-    rmdir $out/{share,lib}/lua/${majorVersion} $out/{share,lib}/lua
+    rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/lua.pc" <<EOF
     prefix=$out
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
         CC=${stdenv.cross.config}-gcc
         STRIP=:
         RANLIB=${stdenv.cross.config}-ranlib
-        V=${majorVersion}
+        V=${luaversion}
         R=${version}
         ${if isMingw then "mingw" else stdenv.lib.optionalString isDarwin ''
         AR="${stdenv.cross.config}-ar rcu"
diff --git a/pkgs/development/interpreters/lua-5/sec.nix b/pkgs/development/interpreters/lua-5/sec.nix
index 33def9c51fd4a..08eb1c89308ca 100644
--- a/pkgs/development/interpreters/lua-5/sec.nix
+++ b/pkgs/development/interpreters/lua-5/sec.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lua5, lua5_sockets, openssl }:
+{ stdenv, fetchurl, lua5, openssl }:
 
 stdenv.mkDerivation rec {
   version = "0.5";
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
index 9c6cea38170e4..018fb201bcda9 100644
--- a/pkgs/development/interpreters/lua-5/sockets.nix
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, lua5}:
+{ stdenv, fetchurl, lua5 }:
 
 stdenv.mkDerivation rec {
   name    = "lua-sockets-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
       sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
   };
 
-  luaver = "5.1"; # TODO
+  luaver = lua5.luaversion;
   patchPhase = ''
       sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \
           -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \
diff --git a/pkgs/development/interpreters/lua-5/zip.nix b/pkgs/development/interpreters/lua-5/zip.nix
new file mode 100644
index 0000000000000..f6460be16625c
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/zip.nix
@@ -0,0 +1,28 @@
+{ pkgs, stdenv, fetchurl, lua5_1, zziplib }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.3";
+  name = "lua-zip-${version}";
+  isLibrary = true;
+  src = fetchurl {
+    url = "https://github.com/luaforge/luazip/archive/0b8f5c958e170b1b49f05bc267bc0351ad4dfc44.zip";
+    sha256 = "beb9260d606fdd5304aa958d95f0d3c20be7ca0a2cff44e7b75281c138a76a50";
+  };
+
+  buildInputs = [ pkgs.unzip lua5_1 zziplib ];
+
+  preBuild = ''
+    makeFlagsArray=(
+      PREFIX=$out
+      LUA_LIBDIR="$out/lib/lua/${lua5_1.luaversion}"
+      LUA_INC="-I${lua5_1}/include");
+  '';
+
+  patches = [ ./zip.patch ];
+
+  meta = {
+    homepage = "https://github.com/luaforge/luazip";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/zip.patch b/pkgs/development/interpreters/lua-5/zip.patch
new file mode 100644
index 0000000000000..c3f88f451e8db
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/zip.patch
@@ -0,0 +1,23 @@
+--- a/Makefile	2007-10-30 01:59:10.000000000 +0300
++++ b/Makefile	2014-09-18 11:04:53.176320021 +0400
+@@ -6,10 +6,6 @@
+
+ include $(CONFIG)
+
+-ifeq "$(LUA_VERSION_NUM)" "500"
+-COMPAT_O= $(COMPAT_DIR)/compat-5.1.o
+-endif
+-
+ SRCS= src/lua$T.c
+ OBJS= src/lua$T.o $(COMPAT_O)
+
+@@ -19,9 +15,6 @@
+ src/$(LIBNAME): $(OBJS)
+ 	export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) $(LIB_OPTION) -o src/$(LIBNAME) $(OBJS) -lzzip
+
+-$(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c
+-	$(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
+-
+ install: src/$(LIBNAME)
+ 	mkdir -p $(LUA_LIBDIR)
+ 	cp src/$(LIBNAME) $(LUA_LIBDIR)
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index eac067da2828a..d302a2a6e1835 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
 , libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk
 , fftw, fftwSinglePrec, zlib, curl, qrupdate
-, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
+, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
 , suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null
 }:
 
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
     fftw fftwSinglePrec qrupdate ]
     ++ (stdenv.lib.optional (qt != null) qt)
+    ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
     ++ (stdenv.lib.optional (llvm != null) llvm)
     ++ (stdenv.lib.optional (hdf5 != null) hdf5)
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index 600884db5e67d..c1a5374c92ea0 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+
+      ${optionalString stdenv.isCygwin ''
+        cp cygwin/cygwin.c{,.bak}
+        echo "#define PERLIO_NOT_STDIO 0" > tmp
+        cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
+      ''}
     '';
 
   preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index e39661b224ad9..4f378ddff4f7f 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.31";
+  version = "5.4.32";
 
   name = "php-${version}";
 
@@ -249,7 +249,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
 
   src = fetchurl {
     url = "http://www.php.net/distributions/php-${version}.tar.bz2";
-    sha256 = "0kci0yir923fc7dv7j9qrc10pj05v82jnxjxjbgrj7gx64a4k3jy";
+    sha256 = "09n8lxnc5p2xfwk0ql2lh183h78hha1axhrdsa6g3650d5v73l16";
   };
 
   meta = {
diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.4/default.nix
index 0b3ca73909200..8f9647c213427 100644
--- a/pkgs/development/interpreters/pypy/2.3/default.nix
+++ b/pkgs/development/interpreters/pypy/2.4/default.nix
@@ -6,8 +6,8 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "2.3";
-  version = "${majorVersion}.1";
+  majorVersion = "2.4";
+  version = "${majorVersion}.0";
   pythonVersion = "2.7";
   libPrefix = "pypy${majorVersion}";
 
@@ -18,7 +18,7 @@ let
 
     src = fetchurl {
       url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
-      sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z";
+      sha256 = "1lhk86clnkj305dxa6xr9wjib6ckf6xxl6qj0bq20vqh80nfq3by";
     };
 
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ]
@@ -70,7 +70,8 @@ let
        # disable sqlite3 due to https://bugs.pypy.org/issue1740
        # disable test_multiprocessing due to transient errors
        # disable test_os because test_urandom_failure fails
-      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python
+       # disable test_urllib2net and test_urllibnet because it requires networking (example.com)
+      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not (test_sqlite or test_urllib2net or test_urllibnet or test_socket or test_os or test_shutil or test_mhlib or test_multiprocessing)' lib-python
     '';
 
     installPhase = ''
diff --git a/pkgs/development/interpreters/pypy/2.3/setup-hook.sh b/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
index 67c71bf008115..4cf7247fb9e76 100644
--- a/pkgs/development/interpreters/pypy/2.3/setup-hook.sh
+++ b/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.3/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.4/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/pypy2.3/site-packages"
+        p="$i/lib/pypy2.4/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix
index d8b3558be4f59..992f7281554cd 100644
--- a/pkgs/development/interpreters/regina/default.nix
+++ b/pkgs/development/interpreters/regina/default.nix
@@ -12,16 +12,15 @@ let
   sourceInfo = rec {
     baseName="Regina-REXX";
     pname="regina-rexx";
-    version="3.5";
+    version = "3.8.2";
     name="${baseName}-${version}";
     url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
-    hash="0gh0k6lbhfixs44adha7lxirl3a08jabdylzr6m7mh5q5fhzv5f8";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "06vr6p9pqr5zzsxm1l9iwb2w9z8qkm971c2knh0vf5bbm6znjz35";
   };
 
   inherit (sourceInfo) name version;
@@ -43,11 +42,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.lgpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
-    };
+    downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream
new file mode 100644
index 0000000000000..7b3c6905a1caa
--- /dev/null
+++ b/pkgs/development/interpreters/regina/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/regina-rexx/files/regina-rexx/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/development/interpreters/ruby/config.nix b/pkgs/development/interpreters/ruby/config.nix
new file mode 100644
index 0000000000000..c03c0520d7aee
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/config.nix
@@ -0,0 +1,6 @@
+# Ruby >= 2.1.0 tries to download config.{guess,sub}
+fetchgit: fetchgit {
+  url = "git://git.sv.gnu.org/config.git";
+  rev = "576c839acca0e082e536fd27568b90a446ce5b96";
+  sha256 = "11bjngchjhj0qq0ppp8c37rfw0yhp230nvhs2jvlx15i9qbf56a0";
+}
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 6ec0f4f73e5d1..78567b1979f52 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -4,30 +4,41 @@ g: # Get dependencies from patched gems
 {
   aliases = {
     ZenTest = g.ZenTest_4_10_1;
-    actionmailer = g.actionmailer_4_1_5;
-    actionpack = g.actionpack_4_1_5;
-    actionview = g.actionview_4_1_5;
-    activemodel = g.activemodel_4_1_5;
-    activerecord = g.activerecord_4_1_5;
-    activesupport = g.activesupport_4_1_5;
+    actionmailer = g.actionmailer_4_1_6;
+    actionpack = g.actionpack_4_1_6;
+    actionview = g.actionview_4_1_6;
+    activemodel = g.activemodel_4_1_6;
+    activerecord = g.activerecord_4_1_6;
+    activesupport = g.activesupport_4_1_6;
     addressable = g.addressable_2_3_6;
     arel = g.arel_5_0_1_20140414130214;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_2_1;
-    aws_sdk = g.aws_sdk_1_51_0;
-    backports = g.backports_3_6_0;
+    aws_sdk = g.aws_sdk_1_53_0;
+    aws_sdk_v1 = g.aws_sdk_v1_1_53_0;
+    backports = g.backports_3_6_1;
     bitbucket_backup = g.bitbucket_backup_0_3_1;
+    blankslate = g.blankslate_2_1_2_4;
     builder = g.builder_3_2_2;
-    buildr = g.buildr_1_4_19;
-    bundler = g.bundler_1_7_1;
+    buildr = g.buildr_1_4_20;
+    bundler = g.bundler_1_7_3;
+    celluloid = g.celluloid_0_16_0;
     childprocess = g.childprocess_0_5_3;
     chronic = g.chronic_0_10_2;
+    chunky_png = g.chunky_png_1_3_1;
+    classifier_reborn = g.classifier_reborn_2_0_1;
     coderay = g.coderay_1_1_0;
-    cucumber = g.cucumber_1_3_16;
+    coffee_script = g.coffee_script_2_3_0;
+    coffee_script_source = g.coffee_script_source_1_8_0;
+    colorator = g.colorator_0_1;
+    compass = g.compass_1_0_1;
+    compass_core = g.compass_core_1_0_1;
+    compass_import_once = g.compass_import_once_1_0_5;
+    cucumber = g.cucumber_1_3_17;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_2_5;
     dimensions = g.dimensions_1_2_0;
-    domain_name = g.domain_name_0_5_20;
+    domain_name = g.domain_name_0_5_21;
     dotenv = g.dotenv_0_11_1;
     dotenv_deployment = g.dotenv_deployment_0_0_2;
     em_resolv_replace = g.em_resolv_replace_1_1_3;
@@ -35,35 +46,51 @@ g: # Get dependencies from patched gems
     ethon = g.ethon_0_7_1;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
+    excon = g.excon_0_39_5;
+    execjs = g.execjs_2_2_1;
     fakes3 = g.fakes3_0_1_5_2;
     faraday = g.faraday_0_9_0;
     faraday_middleware = g.faraday_middleware_0_9_1;
+    fast_stemmer = g.fast_stemmer_1_0_2;
     ffi = g.ffi_1_9_3;
     file_tail = g.file_tail_1_0_12;
-    foreman = g.foreman_0_74_0;
-    gettext = g.gettext_3_1_3;
+    foreman = g.foreman_0_75_0;
+    gettext = g.gettext_3_1_4;
     gh = g.gh_0_13_2;
     gherkin = g.gherkin_2_12_2;
+    heroku = g.heroku_3_10_3;
+    heroku_api = g.heroku_api_0_3_19;
     highline = g.highline_1_6_21;
     hike = g.hike_1_2_3;
+    hitimes = g.hitimes_1_2_2;
     hoe = g.hoe_3_7_1;
     http_cookie = g.http_cookie_1_0_2;
     i18n = g.i18n_0_6_11;
     iconv = g.iconv_1_0_4;
+    jekyll = g.jekyll_2_4_0;
+    jekyll_coffeescript = g.jekyll_coffeescript_1_0_1;
+    jekyll_gist = g.jekyll_gist_1_1_0;
+    jekyll_paginate = g.jekyll_paginate_1_0_0;
+    jekyll_sass_converter = g.jekyll_sass_converter_1_2_1;
+    jekyll_watch = g.jekyll_watch_1_1_1;
     jsduck = g.jsduck_5_3_4;
     json = g.json_1_8_1;
     json_pure = g.json_pure_1_8_0;
+    kramdown = g.kramdown_1_4_2;
     launchy = g.launchy_2_4_2;
+    liquid = g.liquid_2_6_1;
+    listen = g.listen_2_7_9;
     locale = g.locale_2_1_0;
     lockfile = g.lockfile_2_1_3;
     macaddr = g.macaddr_1_7_1;
     mail = g.mail_2_6_1;
     mechanize = g.mechanize_2_7_3;
+    mercenary = g.mercenary_0_3_4;
     method_source = g.method_source_0_8_2;
     mime_types = g.mime_types_2_3;
     mini_portile = g.mini_portile_0_6_0;
     minitar = g.minitar_0_5_4;
-    minitest = g.minitest_5_4_0;
+    minitest = g.minitest_5_4_1;
     multi_json = g.multi_json_1_10_1;
     multi_test = g.multi_test_0_1_1;
     multipart_post = g.multipart_post_2_0_0;
@@ -72,6 +99,7 @@ g: # Get dependencies from patched gems
     net_http_pipeline = g.net_http_pipeline_1_0_1;
     net_sftp = g.net_sftp_2_1_2;
     net_ssh = g.net_ssh_2_9_1;
+    netrc = g.netrc_0_7_7;
     nix = g.nix_0_1_1;
     nokogiri = g.nokogiri_1_6_3_1;
     ntlm_http = g.ntlm_http_0_1_1;
@@ -79,22 +107,28 @@ g: # Get dependencies from patched gems
     papertrail = g.papertrail_0_9_10;
     papertrail_cli = g.papertrail_cli_0_9_3;
     parallel = g.parallel_0_7_1;
-    polyglot = g.polyglot_0_3_5;
+    parslet = g.parslet_1_5_0;
+    posix_spawn = g.posix_spawn_0_3_9;
     pry = g.pry_0_9_12_6;
     pusher_client = g.pusher_client_0_6_0;
+    pygments_rb = g.pygments_rb_0_6_0;
     rack = g.rack_1_5_2;
     rack_protection = g.rack_protection_1_5_3;
     rack_test = g.rack_test_0_6_2;
-    rails = g.rails_4_1_5;
-    railties = g.railties_4_1_5;
+    rails = g.rails_4_1_6;
+    railties = g.railties_4_1_6;
     rake = g.rake_10_3_2;
     rb_fsevent = g.rb_fsevent_0_9_4;
+    rb_inotify = g.rb_inotify_0_9_5;
     rdiscount = g.rdiscount_2_1_7_1;
+    rdoc = g.rdoc_4_1_2;
+    redcarpet = g.redcarpet_3_1_2;
     remote_syslog = g.remote_syslog_1_6_14;
+    rest_client = g.rest_client_1_6_7;
     riemann_dash = g.riemann_dash_0_2_9;
     right_aws = g.right_aws_3_1_0;
     right_http_connection = g.right_http_connection_1_5_0;
-    rjb = g.rjb_1_4_9;
+    rjb = g.rjb_1_5_0;
     rkelly_remix = g.rkelly_remix_0_0_6;
     rmail = g.rmail_1_0_0;
     rspec = g.rspec_2_14_1;
@@ -102,13 +136,14 @@ g: # Get dependencies from patched gems
     rspec_expectations = g.rspec_expectations_2_14_5;
     rspec_mocks = g.rspec_mocks_2_14_6;
     rubyzip = g.rubyzip_1_1_6;
-    sass = g.sass_3_4_1;
-    selenium_webdriver = g.selenium_webdriver_2_42_0;
+    safe_yaml = g.safe_yaml_1_0_3;
+    sass = g.sass_3_4_5;
+    selenium_webdriver = g.selenium_webdriver_2_43_0;
     servolux = g.servolux_0_10_0;
     sinatra = g.sinatra_1_4_5;
     slop = g.slop_3_6_0;
-    sprockets = g.sprockets_2_12_1;
-    sprockets_rails = g.sprockets_rails_2_1_3;
+    sprockets = g.sprockets_2_12_2;
+    sprockets_rails = g.sprockets_rails_2_1_4;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_6_4;
     taskjuggler = g.taskjuggler_3_5_0;
@@ -119,23 +154,26 @@ g: # Get dependencies from patched gems
     thor = g.thor_0_19_1;
     thread_safe = g.thread_safe_0_3_4;
     tilt = g.tilt_1_4_1;
-    tins = g.tins_1_3_2;
-    travis = g.travis_1_7_1;
-    treetop = g.treetop_1_4_15;
+    timers = g.timers_4_0_1;
+    tins = g.tins_1_3_3;
+    toml = g.toml_0_1_1;
+    travis = g.travis_1_7_2;
     trollop = g.trollop_2_0;
     typhoeus = g.typhoeus_0_6_9;
     tzinfo = g.tzinfo_1_2_2;
+    uglifier = g.uglifier_2_5_3;
     unf = g.unf_0_1_4;
     unf_ext = g.unf_ext_0_0_6;
     uuid = g.uuid_2_3_7;
     webrick = g.webrick_1_3_1;
     webrobots = g.webrobots_0_1_1;
-    websocket = g.websocket_1_2_0;
+    websocket = g.websocket_1_2_1;
     xapian_full = g.xapian_full_1_2_3;
     xapian_ruby = g.xapian_ruby_1_2_17;
     xml_simple = g.xml_simple_1_1_2;
+    yajl_ruby = g.yajl_ruby_1_2_1;
   };
-  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ];
+  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''compass'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''heroku'' ''iconv'' ''jekyll'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''rdoc'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uglifier'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ''yajl-ruby'' ];
   gems = {
     ZenTest_4_10_1 = {
       basename = ''ZenTest'';
@@ -168,71 +206,71 @@ installed versions.'';
       requiredGems = [  ];
       sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
     };
-    actionmailer_4_1_5 = {
+    actionmailer_4_1_6 = {
       basename = ''actionmailer'';
       meta = {
         description = ''Email composition, delivery, and receiving framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
       };
-      name = ''actionmailer-4.1.5'';
-      requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ];
-      sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c'';
+      name = ''actionmailer-4.1.6'';
+      requiredGems = [ g.actionpack_4_1_6 g.actionview_4_1_6 g.mail_2_6_1 ];
+      sha256 = ''1lsw9h0wm7pwdzm9jdq3y5b8b1cf56fd4dcgx4s91qf0lc0dw0wv'';
     };
-    actionpack_4_1_5 = {
+    actionpack_4_1_6 = {
       basename = ''actionpack'';
       meta = {
         description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
       };
-      name = ''actionpack-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ];
-      sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6'';
+      name = ''actionpack-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_6 ];
+      sha256 = ''07a95iahv04gikk4qbgpi9is709ynkpcd4g00kqm629jaffrsyj2'';
     };
-    actionview_4_1_5 = {
+    actionview_4_1_6 = {
       basename = ''actionview'';
       meta = {
         description = ''Rendering framework putting the V in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
       };
-      name = ''actionview-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ];
-      sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8'';
+      name = ''actionview-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 g.erubis_2_7_0 ];
+      sha256 = ''1r06r4zsaqsq1wyqy2g29nnycw50v37ab7zmnvzjhy24y53rv9w7'';
     };
-    activemodel_4_1_5 = {
+    activemodel_4_1_6 = {
       basename = ''activemodel'';
       meta = {
         description = ''A toolkit for building modeling frameworks (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.'';
       };
-      name = ''activemodel-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ];
-      sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl'';
+      name = ''activemodel-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 ];
+      sha256 = ''14mw7d0jax7sky4nc2a7rspcf2inb3m6mxhx653i00v0xjrxa3x6'';
     };
-    activerecord_4_1_5 = {
+    activerecord_4_1_6 = {
       basename = ''activerecord'';
       meta = {
         description = ''Object-relational mapper framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
       };
-      name = ''activerecord-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ];
-      sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc'';
+      name = ''activerecord-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.activemodel_4_1_6 g.arel_5_0_1_20140414130214 ];
+      sha256 = ''15s72gawgvd7msa2i7hmjw81znif8zh1v57pmans8vmphfg2n9l7'';
     };
-    activesupport_4_1_5 = {
+    activesupport_4_1_6 = {
       basename = ''activesupport'';
       meta = {
         description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
       };
-      name = ''activesupport-4.1.5'';
-      requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_0 g.thread_safe_0_3_4 ];
-      sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k'';
+      name = ''activesupport-4.1.6'';
+      requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_1 g.thread_safe_0_3_4 ];
+      sha256 = ''0crwl6rlxpv5fvvnvcbrjc7iygj8nklj83v1734h5lrhjzirxc22'';
     };
     addressable_2_3_6 = {
       basename = ''addressable'';
@@ -285,7 +323,7 @@ database compatibility and query generation.'';
 	check out Buildr!'';
       };
       name = ''atoulme-Antwrap-0.7.4'';
-      requiredGems = [ g.rjb_1_4_9 ];
+      requiredGems = [ g.rjb_1_5_0 ];
       sha256 = ''0sh9capkya88qm9mvixwly32fwb2c4nzif9j9vv0f73rqw8kz4j4'';
     };
     autotest_rails_4_2_1 = {
@@ -300,27 +338,42 @@ rails support and extra plugins for migrations and fixtures.'';
       requiredGems = [ g.ZenTest_4_10_1 ];
       sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
     };
-    aws_sdk_1_51_0 = {
+    aws_sdk_1_53_0 = {
       basename = ''aws_sdk'';
       meta = {
-        description = ''AWS SDK for Ruby'';
+        description = ''AWS SDK for Ruby V1'';
         homepage = ''http://aws.amazon.com/sdkforruby'';
-        longDescription = ''AWS SDK for Ruby'';
+        longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
+Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
+application.'';
       };
-      name = ''aws-sdk-1.51.0'';
+      name = ''aws-sdk-1.53.0'';
+      requiredGems = [ g.aws_sdk_v1_1_53_0 ];
+      sha256 = ''1jwvzlpyh5hpa3qn972wmn2pmhqpzw5vjal2n5i14qplvafmj7p2'';
+    };
+    aws_sdk_v1_1_53_0 = {
+      basename = ''aws_sdk_v1'';
+      meta = {
+        description = ''AWS SDK for Ruby V1'';
+        homepage = ''http://aws.amazon.com/sdkforruby'';
+        longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
+Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
+application.'';
+      };
+      name = ''aws-sdk-v1-1.53.0'';
       requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
-      sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai'';
+      sha256 = ''00yagrm2d5agwkfgkv4rqbxymwmgjmv5n8hah3xhrc90q1ywr7hw'';
     };
-    backports_3_6_0 = {
+    backports_3_6_1 = {
       basename = ''backports'';
       meta = {
         description = ''Backports of Ruby features for older Ruby.'';
         homepage = ''http://github.com/marcandre/backports'';
-        longDescription = ''Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.0.0 for earlier versions.'';
+        longDescription = ''Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.1.0 for earlier versions.'';
       };
-      name = ''backports-3.6.0'';
+      name = ''backports-3.6.1'';
       requiredGems = [  ];
-      sha256 = ''1pinn0m4fmq124adc6xjl2hk9799xq5jw4bva82cdzd4h2hwrgq5'';
+      sha256 = ''182fzzmzhjknnh8r6196lnws5fik86wnsn64a382w0fqb2vz98bq'';
     };
     bitbucket_backup_0_3_1 = {
       basename = ''bitbucket_backup'';
@@ -333,6 +386,16 @@ rails support and extra plugins for migrations and fixtures.'';
       requiredGems = [ g.highline_1_6_21 g.json_1_8_1 ];
       sha256 = ''17d2pfk0z3cxcx9m90avcp5wxhdbrq23zd665263m3hh9b5qi0fj'';
     };
+    blankslate_2_1_2_4 = {
+      basename = ''blankslate'';
+      meta = {
+        description = ''BlankSlate extracted from Builder.'';
+        homepage = ''http://github.com/masover/blankslate'';
+      };
+      name = ''blankslate-2.1.2.4'';
+      requiredGems = [  ];
+      sha256 = ''0jnnq5q5dwy2rbfcl769vd9bk1yn0242f6yjlb9mnqdm9627cdcx'';
+    };
     builder_3_2_2 = {
       basename = ''builder'';
       meta = {
@@ -349,7 +412,7 @@ simple to do.  Currently the following builder objects are supported:
       requiredGems = [  ];
       sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
     };
-    buildr_1_4_19 = {
+    buildr_1_4_20 = {
       basename = ''buildr'';
       meta = {
         description = ''Build like you code'';
@@ -361,20 +424,31 @@ to do, and it takes care of the rest.  But also something we can easily extend
 for those one-off tasks, with a language that's a joy to use.
 '';
       };
-      name = ''buildr-1.4.19'';
-      requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_8 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_1 g.orderedhash_0_0_6 ];
-      sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0'';
+      name = ''buildr-1.4.20'';
+      requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_9 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_3 g.orderedhash_0_0_6 ];
+      sha256 = ''0x4ffblw7jg0z49ywfm5abfxgg23di3d661czndwi904cvmghrkv'';
     };
-    bundler_1_7_1 = {
+    bundler_1_7_3 = {
       basename = ''bundler'';
       meta = {
         description = ''The best way to manage your application's dependencies'';
         homepage = ''http://bundler.io'';
         longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
       };
-      name = ''bundler-1.7.1'';
+      name = ''bundler-1.7.3'';
       requiredGems = [  ];
-      sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2'';
+      sha256 = ''00r3b4bchiqbd12y896hmrp5sa6n4391fygg1jmvljx1635x5kyj'';
+    };
+    celluloid_0_16_0 = {
+      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.16.0'';
+      requiredGems = [ g.timers_4_0_1 ];
+      sha256 = ''044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3'';
     };
     childprocess_0_5_3 = {
       basename = ''childprocess'';
@@ -398,6 +472,43 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn'';
     };
+    chunky_png_1_3_1 = {
+      basename = ''chunky_png'';
+      meta = {
+        description = ''Pure ruby library for read/write, chunk-level access to PNG files'';
+        homepage = ''http://wiki.github.com/wvanbergen/chunky_png'';
+        longDescription = ''    This pure Ruby library can read and write PNG images without depending on an external 
+    image library, like RMagick. It tries to be memory efficient and reasonably fast.
+    
+    It supports reading and writing all PNG variants that are defined in the specification, 
+    with one limitation: only 8-bit color depth is supported. It supports all transparency, 
+    interlacing and filtering options the PNG specifications allows. It can also read and 
+    write textual metadata from PNG files. Low-level read/write access to PNG chunks is
+    also possible.
+    
+    This library supports simple drawing on the image canvas and simple operations like
+    alpha composition and cropping. Finally, it can import from and export to RMagick for 
+    interoperability.
+    
+    Also, have a look at OilyPNG at http://github.com/wvanbergen/oily_png. OilyPNG is a 
+    drop in mixin module that implements some of the ChunkyPNG algorithms in C, which 
+    provides a massive speed boost to encoding and decoding.
+'';
+      };
+      name = ''chunky_png-1.3.1'';
+      requiredGems = [  ];
+      sha256 = ''1kpcv2wrx3zyfi5jbsnd9da1wmkjwidnmpshq6vhzz0r8hp7ai8a'';
+    };
+    classifier_reborn_2_0_1 = {
+      basename = ''classifier_reborn'';
+      meta = {
+        description = ''A general classifier module to allow Bayesian and other types of classifications.'';
+        homepage = ''https://github.com/jekyll/classifier-reborn'';
+      };
+      name = ''classifier-reborn-2.0.1'';
+      requiredGems = [ g.fast_stemmer_1_0_2 ];
+      sha256 = ''1p90lwn6x2akg882h597vb6fdbw6zmiw7pqlpqsc1dj243zf0pks'';
+    };
     coderay_1_1_0 = {
       basename = ''coderay'';
       meta = {
@@ -409,16 +520,88 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s'';
     };
-    cucumber_1_3_16 = {
+    coffee_script_2_3_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.3.0'';
+      requiredGems = [ g.coffee_script_source_1_8_0 g.execjs_2_2_1 ];
+      sha256 = ''0i0p52f2s7hk8sq3q9342and3whjnhjhc7ldg8zmnjjcm44asm3d'';
+    };
+    coffee_script_source_1_8_0 = {
+      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.8.0'';
+      requiredGems = [  ];
+      sha256 = ''04998xd43z9kqs6kmzvng90s2xn3ybp8918rq7xz6ljhv8yjqm88'';
+    };
+    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'';
+    };
+    compass_1_0_1 = {
+      basename = ''compass'';
+      meta = {
+        description = ''A Real Stylesheet Framework'';
+        homepage = ''http://compass-style.org'';
+        longDescription = ''Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintenance of CSS.'';
+      };
+      name = ''compass-1.0.1'';
+      requiredGems = [ g.sass_3_4_5 g.compass_core_1_0_1 g.compass_import_once_1_0_5 g.chunky_png_1_3_1 g.rb_fsevent_0_9_4 g.rb_inotify_0_9_5 ];
+      sha256 = ''0cxb6nbj37wz2zwwb4pkbvg9pg0ymamxx9v400h9ibvlb5n0ri40'';
+    };
+    compass_core_1_0_1 = {
+      basename = ''compass_core'';
+      meta = {
+        description = ''The Compass core stylesheet library'';
+        homepage = ''http://compass-style.org/reference/compass/'';
+        longDescription = ''The Compass core stylesheet library and minimum required ruby extensions. This library can be used stand-alone without the compass ruby configuration file or compass command line tools.'';
+      };
+      name = ''compass-core-1.0.1'';
+      requiredGems = [ g.sass_3_4_5 g.multi_json_1_10_1 ];
+      sha256 = ''0zhbmgjq6s9j2qdx3cz0v8s216mh8g0ymk4fzmq3c4an9rryl1zx'';
+    };
+    compass_import_once_1_0_5 = {
+      basename = ''compass_import_once'';
+      meta = {
+        description = ''Speed up your Sass compilation by making @import only import each file once.'';
+        homepage = ''https://github.com/chriseppstein/compass/tree/master/import-once'';
+        longDescription = ''Changes the behavior of Sass's @import directive to only import a file once.'';
+      };
+      name = ''compass-import-once-1.0.5'';
+      requiredGems = [ g.sass_3_4_5 ];
+      sha256 = ''0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq'';
+    };
+    cucumber_1_3_17 = {
       basename = ''cucumber'';
       meta = {
-        description = ''cucumber-1.3.16'';
+        description = ''cucumber-1.3.17'';
         homepage = ''http://cukes.info'';
         longDescription = ''Behaviour Driven Development with elegance and joy'';
       };
-      name = ''cucumber-1.3.16'';
+      name = ''cucumber-1.3.17'';
       requiredGems = [ g.builder_3_2_2 g.diff_lcs_1_2_5 g.gherkin_2_12_2 g.multi_json_1_10_1 g.multi_test_0_1_1 ];
-      sha256 = ''11cjw2d03r41b5pn5in6q822s3v6bpd8isxc9dl7by01jrzi0662'';
+      sha256 = ''1gjnxxrcf43mzs5qlg1m0b61g8vwfzjkj1wwi6xbpsqlhcwjjq1x'';
     };
     daemons_1_1_9 = {
       basename = ''daemons'';
@@ -486,7 +669,7 @@ We are happy to report that this issue has been resolved.'';
       requiredGems = [  ];
       sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
     };
-    domain_name_0_5_20 = {
+    domain_name_0_5_21 = {
       basename = ''domain_name'';
       meta = {
         description = ''Domain Name manipulation library for Ruby'';
@@ -497,9 +680,9 @@ It can also be used for cookie domain validation based on the Public
 Suffix List.
 '';
       };
-      name = ''domain_name-0.5.20'';
+      name = ''domain_name-0.5.21'';
       requiredGems = [ g.unf_0_1_4 ];
-      sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s'';
+      sha256 = ''1ryb2gmryzcrqm9gl19658m1kcjkjz5m0r24mzq4j0zfrs95nfnq'';
     };
     dotenv_0_11_1 = {
       basename = ''dotenv'';
@@ -597,6 +780,28 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
+    excon_0_39_5 = {
+      basename = ''excon'';
+      meta = {
+        description = ''speed, persistence, http(s)'';
+        homepage = ''https://github.com/excon/excon'';
+        longDescription = ''EXtended http(s) CONnections'';
+      };
+      name = ''excon-0.39.5'';
+      requiredGems = [  ];
+      sha256 = ''04dgrjq6b955bv2bps0g59gvn089mz8339nhlqksjf9jimgjglcq'';
+    };
+    execjs_2_2_1 = {
+      basename = ''execjs'';
+      meta = {
+        description = ''Run JavaScript code from Ruby'';
+        homepage = ''https://github.com/sstephenson/execjs'';
+        longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
+      };
+      name = ''execjs-2.2.1'';
+      requiredGems = [  ];
+      sha256 = ''1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b'';
+    };
     fakes3_0_1_5_2 = {
       basename = ''fakes3'';
       meta = {
@@ -628,6 +833,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.faraday_0_9_0 ];
       sha256 = ''1kndkrww1biz9j64fnyaqgis1gdiawxfv0ncadsz06gd555fgs6q'';
     };
+    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_3 = {
       basename = ''ffi'';
       meta = {
@@ -650,18 +866,18 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.tins_0_13_2 ];
       sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
     };
-    foreman_0_74_0 = {
+    foreman_0_75_0 = {
       basename = ''foreman'';
       meta = {
         description = ''Process manager for applications with multiple components'';
         homepage = ''http://github.com/ddollar/foreman'';
         longDescription = ''Process manager for applications with multiple components'';
       };
-      name = ''foreman-0.74.0'';
+      name = ''foreman-0.75.0'';
       requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ];
-      sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m'';
+      sha256 = ''0iicqdjwwms86nchk80ia7x4wjcd3p5c8s53bc0z0h063i0ks9ha'';
     };
-    gettext_3_1_3 = {
+    gettext_3_1_4 = {
       basename = ''gettext'';
       meta = {
         description = ''Gettext is a pure Ruby libary and tools to localize messages.'';
@@ -671,9 +887,9 @@ The catalog file(po-file) is same format with GNU gettext.
 So you can use GNU gettext tools for maintaining.
 '';
       };
-      name = ''gettext-3.1.3'';
+      name = ''gettext-3.1.4'';
       requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ];
-      sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q'';
+      sha256 = ''0gfnbkj2knpq8jxplkdr18by64kcadqxjhrxr3ncldz2ghm5zhvb'';
     };
     gh_0_13_2 = {
       basename = ''gh'';
@@ -683,7 +899,7 @@ So you can use GNU gettext tools for maintaining.
         longDescription = ''multi-layer client for the github api v3'';
       };
       name = ''gh-0.13.2'';
-      requiredGems = [ g.faraday_0_9_0 g.backports_3_6_0 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ];
+      requiredGems = [ g.faraday_0_9_0 g.backports_3_6_1 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ];
       sha256 = ''17scqa35j6ghpykzk986gnd6dvbrh8nn60ib04hb2gbyh9dns1dj'';
     };
     gherkin_2_12_2 = {
@@ -697,6 +913,28 @@ So you can use GNU gettext tools for maintaining.
       requiredGems = [ g.multi_json_1_10_1 ];
       sha256 = ''1mxfgw15pii1jmq00xxbyp77v71mh3bp99ndgwzfwkxvbcisha25'';
     };
+    heroku_3_10_3 = {
+      basename = ''heroku'';
+      meta = {
+        description = ''Client library and CLI to deploy apps on Heroku.'';
+        homepage = ''http://heroku.com/'';
+        longDescription = ''Client library and command-line tool to deploy and manage apps on Heroku.'';
+      };
+      name = ''heroku-3.10.3'';
+      requiredGems = [ g.heroku_api_0_3_19 g.launchy_2_4_2 g.netrc_0_7_7 g.rest_client_1_6_7 g.rubyzip_0_9_9 ];
+      sha256 = ''04j9rndygkf5gkv2w5a29wvn683viskhaqyj4fsvnj02qfhfrvnr'';
+    };
+    heroku_api_0_3_19 = {
+      basename = ''heroku_api'';
+      meta = {
+        description = ''Ruby Client for the Heroku API'';
+        homepage = ''http://github.com/heroku/heroku.rb'';
+        longDescription = ''Ruby Client for the Heroku API'';
+      };
+      name = ''heroku-api-0.3.19'';
+      requiredGems = [ g.excon_0_39_5 g.multi_json_1_10_1 ];
+      sha256 = ''08wddhsnvjyb2a1wl85gbb00rjb1xs26pjlkd068635hi6wmx2id'';
+    };
     highline_1_6_21 = {
       basename = ''highline'';
       meta = {
@@ -723,6 +961,17 @@ minutes of work.
       requiredGems = [  ];
       sha256 = ''0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm'';
     };
+    hitimes_1_2_2 = {
+      basename = ''hitimes'';
+      meta = {
+        description = ''Hitimes is a fast, high resolution timer library for recording performance metrics.  It uses the appropriate low method calls for each system to get the highest granularity time increments possible.'';
+        homepage = ''http://github.com/copiousfreetime/hitimes'';
+        longDescription = ''Hitimes is a fast, high resolution timer library for recording performance metrics.  It uses the appropriate low method calls for each system to get the highest granularity time increments possible.   It currently supports any of the following systems: * any system with the POSIX call `clock_gettime()` * Mac OS X * Windows * JRuby Using Hitimes can be faster than using a series of `Time.new` calls, and it will have a much higher granularity. It is definitely faster than using `Process.times`.'';
+      };
+      name = ''hitimes-1.2.2'';
+      requiredGems = [  ];
+      sha256 = ''17y3ggqxl3m6x9gqpgdn39z0pxpmw666d40r39bs7ngdmy680jn4'';
+    };
     hoe_3_7_1 = {
       basename = ''hoe'';
       meta = {
@@ -751,7 +1000,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
         longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265.  It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers.  It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
       };
       name = ''http-cookie-1.0.2'';
-      requiredGems = [ g.domain_name_0_5_20 ];
+      requiredGems = [ g.domain_name_0_5_21 ];
       sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
     };
     i18n_0_6_11 = {
@@ -776,6 +1025,67 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''16sgj6gqs4bgwv6q4vv811fb43908psr33dz7sphn1z8la3y7m2v'';
     };
+    jekyll_2_4_0 = {
+      basename = ''jekyll'';
+      meta = {
+        description = ''A simple, blog aware, static site generator.'';
+        homepage = ''https://github.com/jekyll/jekyll'';
+        longDescription = ''Jekyll is a simple, blog aware, static site generator.'';
+      };
+      name = ''jekyll-2.4.0'';
+      requiredGems = [ g.liquid_2_6_1 g.kramdown_1_4_2 g.mercenary_0_3_4 g.safe_yaml_1_0_3 g.colorator_0_1 g.pygments_rb_0_6_0 g.redcarpet_3_1_2 g.toml_0_1_1 g.jekyll_paginate_1_0_0 g.jekyll_gist_1_1_0 g.jekyll_coffeescript_1_0_1 g.jekyll_sass_converter_1_2_1 g.jekyll_watch_1_1_1 g.classifier_reborn_2_0_1 ];
+      sha256 = ''1n8m0cw91yayvcspqi3x9y9y0nahagg0sy8r6pn0zplqg1vh7y1l'';
+    };
+    jekyll_coffeescript_1_0_1 = {
+      basename = ''jekyll_coffeescript'';
+      meta = {
+        description = ''A CoffeeScript converter for Jekyll.'';
+        homepage = ''https://github.com/jekyll/jekyll-coffeescript'';
+      };
+      name = ''jekyll-coffeescript-1.0.1'';
+      requiredGems = [ g.coffee_script_2_3_0 ];
+      sha256 = ''19nkqbaxqbzqbfbi7sgshshj2krp9ap88m9fc5pa6mglb2ypk3hg'';
+    };
+    jekyll_gist_1_1_0 = {
+      basename = ''jekyll_gist'';
+      meta = {
+        description = ''Liquid tag for displaying GitHub Gists in Jekyll sites.'';
+        homepage = ''https://github.com/jekyll/jekyll-gist'';
+      };
+      name = ''jekyll-gist-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''06d4jwf64fl7x3dqfimnfqzr4d3wbsdz2l4fif35j91mmh37nmq9'';
+    };
+    jekyll_paginate_1_0_0 = {
+      basename = ''jekyll_paginate'';
+      meta = {
+        description = ''Built-in Pagination Generator for Jekyll'';
+        homepage = ''https://github.com/jekyll/jekyll-paginate'';
+      };
+      name = ''jekyll-paginate-1.0.0'';
+      requiredGems = [  ];
+      sha256 = ''1p01c3mncqrzyiskggdxd4cka1fl4ydlphhzbcfx9pylhrishkjk'';
+    };
+    jekyll_sass_converter_1_2_1 = {
+      basename = ''jekyll_sass_converter'';
+      meta = {
+        description = ''A basic Sass converter for Jekyll.'';
+        homepage = ''https://github.com/jekyll/jekyll-sass-converter'';
+      };
+      name = ''jekyll-sass-converter-1.2.1'';
+      requiredGems = [ g.sass_3_4_5 ];
+      sha256 = ''1w221nzcpaqh2llflciwhbzw1sqxjavwwzbri9n4qkj057a73ar1'';
+    };
+    jekyll_watch_1_1_1 = {
+      basename = ''jekyll_watch'';
+      meta = {
+        description = ''Rebuild your Jekyll site when a file changes with the `--watch` switch.'';
+        homepage = ''https://github.com/jekyll/jekyll-watch'';
+      };
+      name = ''jekyll-watch-1.1.1'';
+      requiredGems = [ g.listen_2_7_9 ];
+      sha256 = ''0q0skw4fjfrjaskfdvkknfy81a1pbr0mlhc2lrbpb533l5xm3gwz'';
+    };
     jsduck_5_3_4 = {
       basename = ''jsduck'';
       meta = {
@@ -809,6 +1119,19 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83'';
     };
+    kramdown_1_4_2 = {
+      basename = ''kramdown'';
+      meta = {
+        description = ''kramdown is a fast, pure-Ruby Markdown-superset converter.'';
+        homepage = ''http://kramdown.gettalong.org'';
+        longDescription = ''kramdown is yet-another-markdown-parser but fast, pure Ruby,
+using a strict syntax definition and supporting several common extensions.
+'';
+      };
+      name = ''kramdown-1.4.2'';
+      requiredGems = [  ];
+      sha256 = ''1a1y2a7aysx45qhc6dpbfnlcs1syp04ix12q62f6z84zqrb996xf'';
+    };
     launchy_2_4_2 = {
       basename = ''launchy'';
       meta = {
@@ -820,6 +1143,27 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.addressable_2_3_6 ];
       sha256 = ''0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv'';
     };
+    liquid_2_6_1 = {
+      basename = ''liquid'';
+      meta = {
+        description = ''A secure, non-evaling end user template engine with aesthetic markup.'';
+        homepage = ''http://www.liquidmarkup.org'';
+      };
+      name = ''liquid-2.6.1'';
+      requiredGems = [  ];
+      sha256 = ''0fc67cx36x05hsw0cc56la4qr3939g34cdgqmqgdi8yzs72cbv7x'';
+    };
+    listen_2_7_9 = {
+      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.7.9'';
+      requiredGems = [ g.celluloid_0_16_0 g.rb_fsevent_0_9_4 g.rb_inotify_0_9_5 ];
+      sha256 = ''1i9m8fc1w8khwpjxfv9430bqbl4df128i4r8gskgvi3pd4678llf'';
+    };
     locale_2_1_0 = {
       basename = ''locale'';
       meta = {
@@ -854,17 +1198,6 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.systemu_2_6_4 ];
       sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b'';
     };
-    mail_2_5_4 = {
-      basename = ''mail'';
-      meta = {
-        description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
-        homepage = ''http://github.com/mikel/mail'';
-        longDescription = ''A really Ruby Mail handler.'';
-      };
-      name = ''mail-2.5.4'';
-      requiredGems = [ g.mime_types_1_25_1 g.treetop_1_4_15 ];
-      sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
-    };
     mail_2_6_1 = {
       basename = ''mail'';
       meta = {
@@ -888,9 +1221,20 @@ submitted.  Mechanize also keeps track of the sites that you have visited as
 a history.'';
       };
       name = ''mechanize-2.7.3'';
-      requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_20 ];
+      requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_21 ];
       sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx'';
     };
+    mercenary_0_3_4 = {
+      basename = ''mercenary'';
+      meta = {
+        description = ''Lightweight and flexible library for writing command-line apps in Ruby.'';
+        homepage = ''https://github.com/jekyll/mercenary'';
+        longDescription = ''Lightweight and flexible library for writing command-line apps in Ruby.'';
+      };
+      name = ''mercenary-0.3.4'';
+      requiredGems = [  ];
+      sha256 = ''0fg8pbixs68aqx6slp7cpbl0cwa8c4x8rf1s66f7icqa6i9ifcfn'';
+    };
     method_source_0_8_2 = {
       basename = ''method_source'';
       meta = {
@@ -902,64 +1246,6 @@ a history.'';
       requiredGems = [  ];
       sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2'';
     };
-    mime_types_1_25_1 = {
-      basename = ''mime_types'';
-      meta = {
-        description = ''This library allows for the identification of a file's likely MIME content type'';
-        homepage = ''http://mime-types.rubyforge.org/'';
-        longDescription = ''This library allows for the identification of a file's likely MIME content
-type. This is release 1.25.1, fixing an issue with priority comparison for
-mime-types 1.x. The current release is 2.0, which only supports Ruby 1.9 or
-later.
-
-Release 1.25.1 contains all features of 1.25, including the experimental
-caching and lazy loading functionality. The caching and lazy loading features
-were initially implemented by Greg Brockman (gdb). As these features are
-experimental, they are disabled by default and must be enabled through the use
-of environment variables. The cache is invalidated on a per-version basis; the
-cache for version 1.25 will not be reused for any later version.
-
-To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+
-to any value other than 'false'. When using lazy loading, the initial startup
-of MIME::Types is around 12–25× faster than normal startup (on my system,
-normal startup is about 90 ms; lazy startup is about 4 ms). This isn't
-generally useful, however, as the MIME::Types database has not been loaded.
-Lazy startup and load is just *slightly* faster—around 1 ms. The real advantage
-comes from using the cache.
-
-To enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a
-filename where MIME::Types will have read-write access. The first time a new
-version of MIME::Types is run using this file, it will be created, taking a
-little longer than normal. Subsequent loads using the same cache file will be
-approximately 3½× faster (25 ms) than normal loads. This can be combined with
-+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded
-or multiprocess environment where all threads or processes will be using the
-same cache file.
-
-As the caching interface is still experimental, the only values cached are the
-default MIME::Types database, not any custom MIME::Types added by users.
-
-MIME types are used in MIME-compliant communications, as in e-mail or HTTP
-traffic, to indicate the type of content which is transmitted. MIME::Types
-provides the ability for detailed information about MIME entities (provided as
-a set of MIME::Type objects) to be determined and used programmatically. There
-are many types defined by RFCs and vendors, so the list is long but not
-complete; don't hesitate to ask to add additional information. This library
-follows the IANA collection of MIME types (see below for reference).
-
-MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark
-Overmeer, copyright 2001 - 2009.
-
-MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
-tracks the {IANA registry}[http://www.iana.org/assignments/media-types/]
-({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
-added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
-and added by the users of MIME::Types.'';
-      };
-      name = ''mime-types-1.25.1'';
-      requiredGems = [  ];
-      sha256 = ''0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8'';
-    };
     mime_types_2_3 = {
       basename = ''mime_types'';
       meta = {
@@ -1023,7 +1309,7 @@ with some types added by the users of mime-types.'';
       requiredGems = [  ];
       sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
     };
-    minitest_5_4_0 = {
+    minitest_5_4_1 = {
       basename = ''minitest'';
       meta = {
         description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
@@ -1082,9 +1368,9 @@ classes, modules, inheritance, methods. This means you only have to
 learn ruby to use minitest and all of your regular OO practices like
 extract-method refactorings still apply.'';
       };
-      name = ''minitest-5.4.0'';
+      name = ''minitest-5.4.1'';
       requiredGems = [  ];
-      sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl'';
+      sha256 = ''04iqz25v8vngw4z5pzhwnsf72fb8gf2vzhidrfcbphwsqqik5s4r'';
     };
     multi_json_1_10_1 = {
       basename = ''multi_json'';
@@ -1213,6 +1499,17 @@ The server will respond in-order.'';
       requiredGems = [  ];
       sha256 = ''1vscp4r58jisiigqc6d6752w19m1m6hmi3jkzmp3ydxai7h3jb2j'';
     };
+    netrc_0_7_7 = {
+      basename = ''netrc'';
+      meta = {
+        description = ''Library to read and write netrc files.'';
+        homepage = ''https://github.com/geemus/netrc'';
+        longDescription = ''This library can read and update netrc files, preserving formatting including comments and whitespace.'';
+      };
+      name = ''netrc-0.7.7'';
+      requiredGems = [  ];
+      sha256 = ''1y64v93hsxdwgx3dfkyzdki3zqd1slm42dmi23v0zy3kap4vpard'';
+    };
     nix_0_1_1 = {
       basename = ''nix'';
       meta = {
@@ -1292,19 +1589,26 @@ enough of it.'';
       requiredGems = [  ];
       sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq'';
     };
-    polyglot_0_3_5 = {
-      basename = ''polyglot'';
+    parslet_1_5_0 = {
+      basename = ''parslet'';
+      meta = {
+        description = ''Parser construction library with great error reporting in Ruby.'';
+        homepage = ''http://kschiess.github.com/parslet'';
+      };
+      name = ''parslet-1.5.0'';
+      requiredGems = [ g.blankslate_2_1_2_4 ];
+      sha256 = ''0qp1m8n3m6k6g22nn1ivcfkvccq5jmbkw53vvcjw5xssq179l9z3'';
+    };
+    posix_spawn_0_3_9 = {
+      basename = ''posix_spawn'';
       meta = {
-        description = ''Augment 'require' to load non-Ruby file types'';
-        homepage = ''http://github.com/cjheath/polyglot'';
-        longDescription = ''
-The Polyglot library allows a Ruby module to register a loader
-for the file type associated with a filename extension, and it
-augments 'require' to find and load matching files.'';
+        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 = ''polyglot-0.3.5'';
+      name = ''posix-spawn-0.3.9'';
       requiredGems = [  ];
-      sha256 = ''1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr'';
+      sha256 = ''042i1afggy1sv2jmdjjjhyffas28xp2r1ylj5xfv3hchy3b4civ3'';
     };
     pry_0_9_12_6 = {
       basename = ''pry'';
@@ -1325,9 +1629,20 @@ augments 'require' to find and load matching files.'';
         longDescription = ''Client for consuming WebSockets from http://pusher.com'';
       };
       name = ''pusher-client-0.6.0'';
-      requiredGems = [ g.websocket_1_2_0 g.json_1_8_1 ];
+      requiredGems = [ g.websocket_1_2_1 g.json_1_8_1 ];
       sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy'';
     };
+    pygments_rb_0_6_0 = {
+      basename = ''pygments_rb'';
+      meta = {
+        description = ''pygments wrapper for ruby'';
+        homepage = ''https://github.com/tmm1/pygments.rb'';
+        longDescription = ''pygments.rb exposes the pygments syntax highlighter to Ruby'';
+      };
+      name = ''pygments.rb-0.6.0'';
+      requiredGems = [ g.yajl_ruby_1_1_0 g.posix_spawn_0_3_9 ];
+      sha256 = ''0jszj99cirbkxaqllbgnp9718v32xhvg08rfldvr10gy8i7bhy2s'';
+    };
     rack_1_5_2 = {
       basename = ''rack'';
       meta = {
@@ -1371,27 +1686,27 @@ request helpers feature.'';
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
     };
-    rails_4_1_5 = {
+    rails_4_1_6 = {
       basename = ''rails'';
       meta = {
         description = ''Full-stack web application framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
       };
-      name = ''rails-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.actionview_4_1_5 g.activemodel_4_1_5 g.activerecord_4_1_5 g.actionmailer_4_1_5 g.railties_4_1_5 g.bundler_1_7_1 g.sprockets_rails_2_1_3 ];
-      sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7'';
+      name = ''rails-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.actionview_4_1_6 g.activemodel_4_1_6 g.activerecord_4_1_6 g.actionmailer_4_1_6 g.railties_4_1_6 g.bundler_1_7_3 g.sprockets_rails_2_1_4 ];
+      sha256 = ''187g903gmni3prd5i768yfgszc4ak5kmrazavr93d0ybfdbcjlgk'';
     };
-    railties_4_1_5 = {
+    railties_4_1_6 = {
       basename = ''railties'';
       meta = {
         description = ''Tools for creating, working with, and running Rails applications.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
       };
-      name = ''railties-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ];
-      sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha'';
+      name = ''railties-4.1.6'';
+      requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.rake_10_3_2 g.thor_0_19_1 ];
+      sha256 = ''11valflllkrrz06bsflz78h5nmxhrhm7hdpm1lwmgm8hwd4ybl0c'';
     };
     rake_0_9_2_2 = {
       basename = ''rake'';
@@ -1447,6 +1762,17 @@ Rake has the following features:
       requiredGems = [  ];
       sha256 = ''12if5xsik64kihxf5awsyavlp595y47g9qz77vfp2zvkxgglaka7'';
     };
+    rb_inotify_0_9_5 = {
+      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.5'';
+      requiredGems = [ g.ffi_1_9_3 ];
+      sha256 = ''0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9'';
+    };
     rdiscount_2_1_7_1 = {
       basename = ''rdiscount'';
       meta = {
@@ -1457,6 +1783,30 @@ Rake has the following features:
       requiredGems = [  ];
       sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii'';
     };
+    rdoc_4_1_2 = {
+      basename = ''rdoc'';
+      meta = {
+        description = ''RDoc produces HTML and command-line documentation for Ruby projects'';
+        homepage = ''http://docs.seattlerb.org/rdoc'';
+        longDescription = ''RDoc produces HTML and command-line documentation for Ruby projects.  RDoc
+includes the +rdoc+ and +ri+ tools for generating and displaying documentation
+from the command-line.'';
+      };
+      name = ''rdoc-4.1.2'';
+      requiredGems = [ g.json_1_8_1 ];
+      sha256 = ''0cqhjidw657d8irkypxsrv6dr4y9r8csg9inaq40c3iz110cc8w6'';
+    };
+    redcarpet_3_1_2 = {
+      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-3.1.2'';
+      requiredGems = [  ];
+      sha256 = ''076p52lkns90hqs27rs4kns2bg7maz8qxr87bl34yd6in319flzz'';
+    };
     remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
@@ -1468,6 +1818,17 @@ Rake has the following features:
       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'';
     };
+    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_3 ];
+      sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853'';
+    };
     riemann_dash_0_2_9 = {
       basename = ''riemann_dash'';
       meta = {
@@ -1476,7 +1837,7 @@ Rake has the following features:
         longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
       };
       name = ''riemann-dash-0.2.9'';
-      requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_1 g.webrick_1_3_1 g.multi_json_1_3_6 ];
+      requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_5 g.webrick_1_3_1 g.multi_json_1_3_6 ];
       sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3'';
     };
     right_aws_3_1_0 = {
@@ -1546,7 +1907,7 @@ algorithm for low-level network errors.
       requiredGems = [  ];
       sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf'';
     };
-    rjb_1_4_8 = {
+    rjb_1_4_9 = {
       basename = ''rjb'';
       meta = {
         description = ''Ruby Java bridge'';
@@ -1554,11 +1915,11 @@ algorithm for low-level network errors.
         longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
 '';
       };
-      name = ''rjb-1.4.8'';
+      name = ''rjb-1.4.9'';
       requiredGems = [  ];
-      sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw'';
+      sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz'';
     };
-    rjb_1_4_9 = {
+    rjb_1_5_0 = {
       basename = ''rjb'';
       meta = {
         description = ''Ruby Java bridge'';
@@ -1566,9 +1927,9 @@ algorithm for low-level network errors.
         longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
 '';
       };
-      name = ''rjb-1.4.9'';
+      name = ''rjb-1.5.0'';
       requiredGems = [  ];
-      sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz'';
+      sha256 = ''0hjc0l3241lqrfracgb7gmsyd54v0lzplqfv9kfzk8km61pkjlfb'';
     };
     rkelly_remix_0_0_6 = {
       basename = ''rkelly_remix'';
@@ -1690,7 +2051,18 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       requiredGems = [  ];
       sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
     };
-    sass_3_4_1 = {
+    safe_yaml_1_0_3 = {
+      basename = ''safe_yaml'';
+      meta = {
+        description = ''SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.'';
+        homepage = ''https://github.com/dtao/safe_yaml'';
+        longDescription = ''Parse YAML safely'';
+      };
+      name = ''safe_yaml-1.0.3'';
+      requiredGems = [  ];
+      sha256 = ''063bykyk40s3rhy1dxfbvl69s179n1iny418z4wqjbvhrmjn18wl'';
+    };
+    sass_3_4_5 = {
       basename = ''sass'';
       meta = {
         description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -1701,20 +2073,20 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       command line tool or a web-framework plugin.
 '';
       };
-      name = ''sass-3.4.1'';
+      name = ''sass-3.4.5'';
       requiredGems = [  ];
-      sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4'';
+      sha256 = ''1rd07m2gprzgd6a4vnrlnyx5lkslfn30hcgfav86rb82a8zqmxah'';
     };
-    selenium_webdriver_2_42_0 = {
+    selenium_webdriver_2_43_0 = {
       basename = ''selenium_webdriver'';
       meta = {
         description = ''The next generation developer focused tool for automated testing of webapps'';
         homepage = ''http://selenium.googlecode.com'';
         longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
       };
-      name = ''selenium-webdriver-2.42.0'';
-      requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ];
-      sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q'';
+      name = ''selenium-webdriver-2.43.0'';
+      requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_2_1 ];
+      sha256 = ''06jjkb4hcyh8mwsqc8c5p6pz6ac1v313h4md0dab872ls5s47zh9'';
     };
     servolux_0_10_0 = {
       basename = ''servolux'';
@@ -1763,26 +2135,26 @@ interpreters.'';
       requiredGems = [  ];
       sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
     };
-    sprockets_2_12_1 = {
+    sprockets_2_12_2 = {
       basename = ''sprockets'';
       meta = {
         description = ''Rack-based asset packaging system'';
         homepage = ''http://getsprockets.org/'';
         longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
       };
-      name = ''sprockets-2.12.1'';
+      name = ''sprockets-2.12.2'';
       requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ];
-      sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y'';
+      sha256 = ''0sclb5nqs5hhr7qfp42rgpasy0f9k4c3jcr3hz89amf2bg5v7slx'';
     };
-    sprockets_rails_2_1_3 = {
+    sprockets_rails_2_1_4 = {
       basename = ''sprockets_rails'';
       meta = {
         description = ''Sprockets Rails integration'';
         homepage = ''https://github.com/rails/sprockets-rails'';
       };
-      name = ''sprockets-rails-2.1.3'';
-      requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ];
-      sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy'';
+      name = ''sprockets-rails-2.1.4'';
+      requiredGems = [ g.sprockets_2_12_2 g.actionpack_4_1_6 g.activesupport_4_1_6 ];
+      sha256 = ''1difqidflj71qh8a84lcfdfg9vy4rw5hkgf2j0jis8bcczcq54l3'';
     };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
@@ -1834,7 +2206,7 @@ management.
         longDescription = ''This library uses ANSI escape sequences to control the attributes of terminal output'';
       };
       name = ''term-ansicolor-1.3.0'';
-      requiredGems = [ g.tins_1_3_2 ];
+      requiredGems = [ g.tins_1_3_3 ];
       sha256 = ''1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b'';
     };
     terminal_notifier_1_6_1 = {
@@ -1902,6 +2274,17 @@ management.
       requiredGems = [  ];
       sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir'';
     };
+    timers_4_0_1 = {
+      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/celluloid/timers'';
+        longDescription = ''Pure Ruby one-shot and periodic timers'';
+      };
+      name = ''timers-4.0.1'';
+      requiredGems = [ g.hitimes_1_2_2 ];
+      sha256 = ''03ahv07wn1f2g3c5843q7sf03a81518lq5624s9f49kbrswa2p7l'';
+    };
     tins_0_13_2 = {
       basename = ''tins'';
       meta = {
@@ -1913,37 +2296,38 @@ management.
       requiredGems = [  ];
       sha256 = ''1ygkm4ava7x6ap61qz6pn79193g6g29248fa04mwknsz6acfjs2y'';
     };
-    tins_1_3_2 = {
+    tins_1_3_3 = {
       basename = ''tins'';
       meta = {
         description = ''Useful stuff.'';
         homepage = ''http://flori.github.com/tins'';
         longDescription = ''All the stuff that isn't good/big enough for a real library.'';
       };
-      name = ''tins-1.3.2'';
+      name = ''tins-1.3.3'';
       requiredGems = [  ];
-      sha256 = ''1i27zj1bhmgq19f3i5i08njprfnlv3yi5frm8ax6w0b342p6v8ly'';
+      sha256 = ''14jnsg15wakdk1ljh2iv9yvzk8nb7gpzd2zw4yvjikmffqjyqvna'';
+    };
+    toml_0_1_1 = {
+      basename = ''toml'';
+      meta = {
+        description = ''Parse your TOML.'';
+        homepage = ''http://github.com/jm/toml'';
+        longDescription = ''Parse your TOML, seriously.'';
+      };
+      name = ''toml-0.1.1'';
+      requiredGems = [ g.parslet_1_5_0 ];
+      sha256 = ''1m5dv66qnbbg0r2zpp45hzq2nkmc4qaq0xmqw8j1kwkrpiwihwp8'';
     };
-    travis_1_7_1 = {
+    travis_1_7_2 = {
       basename = ''travis'';
       meta = {
         description = ''Travis CI client'';
         homepage = ''https://github.com/travis-ci/travis.rb'';
         longDescription = ''CLI and Ruby client library for Travis CI'';
       };
-      name = ''travis-1.7.1'';
-      requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
-      sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf'';
-    };
-    treetop_1_4_15 = {
-      basename = ''treetop'';
-      meta = {
-        description = ''A Ruby-based text parsing and interpretation DSL'';
-        homepage = ''https://github.com/cjheath/treetop'';
-      };
-      name = ''treetop-1.4.15'';
-      requiredGems = [ g.polyglot_0_3_5 g.polyglot_0_3_5 ];
-      sha256 = ''1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz'';
+      name = ''travis-1.7.2'';
+      requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_1 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
+      sha256 = ''0zl9b48dv0v0gmrj6xyprhysa4g0r3yz8a6f99h0qgwiw2l2xxcc'';
     };
     trollop_2_0 = {
       basename = ''trollop'';
@@ -1982,6 +2366,17 @@ specify.'';
       requiredGems = [ g.thread_safe_0_3_4 ];
       sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx'';
     };
+    uglifier_2_5_3 = {
+      basename = ''uglifier'';
+      meta = {
+        description = ''Ruby wrapper for UglifyJS JavaScript compressor'';
+        homepage = ''http://github.com/lautis/uglifier'';
+        longDescription = ''Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby'';
+      };
+      name = ''uglifier-2.5.3'';
+      requiredGems = [ g.execjs_2_2_1 g.json_1_8_1 ];
+      sha256 = ''0rlx9nrcavpfffyacsrh7xyvz3adv7jvylz0sv0jnix1mj5rkpd9'';
+    };
     unf_0_1_4 = {
       basename = ''unf'';
       meta = {
@@ -2041,27 +2436,16 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
     };
-    websocket_1_0_7 = {
-      basename = ''websocket'';
-      meta = {
-        description = ''Universal Ruby library to handle WebSocket protocol'';
-        homepage = ''http://github.com/imanel/websocket-ruby'';
-        longDescription = ''Universal Ruby library to handle WebSocket protocol'';
-      };
-      name = ''websocket-1.0.7'';
-      requiredGems = [  ];
-      sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0'';
-    };
-    websocket_1_2_0 = {
+    websocket_1_2_1 = {
       basename = ''websocket'';
       meta = {
         description = ''Universal Ruby library to handle WebSocket protocol'';
         homepage = ''http://github.com/imanel/websocket-ruby'';
         longDescription = ''Universal Ruby library to handle WebSocket protocol'';
       };
-      name = ''websocket-1.2.0'';
+      name = ''websocket-1.2.1'';
       requiredGems = [  ];
-      sha256 = ''17q3fsqwa44cali3x852jzjpzgcvvly0n8gszmkaqx520lb9r5l4'';
+      sha256 = ''17mf28xp6h4gglbn1606jjrhdz9r6kyb2pr603ckadsrx31wh9p6'';
     };
     xapian_full_1_2_3 = {
       basename = ''xapian_full'';
@@ -2093,5 +2477,25 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb'';
     };
+    yajl_ruby_1_1_0 = {
+      basename = ''yajl_ruby'';
+      meta = {
+        description = ''Ruby C bindings to the excellent Yajl JSON stream-based parser library.'';
+        homepage = ''http://github.com/brianmario/yajl-ruby'';
+      };
+      name = ''yajl-ruby-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''0sj46j47icb12hdhcfh76rnvddyiic5ifqzkh3kla1vcr505kf4m'';
+    };
+    yajl_ruby_1_2_1 = {
+      basename = ''yajl_ruby'';
+      meta = {
+        description = ''Ruby C bindings to the excellent Yajl JSON stream-based parser library.'';
+        homepage = ''http://github.com/brianmario/yajl-ruby'';
+      };
+      name = ''yajl-ruby-1.2.1'';
+      requiredGems = [  ];
+      sha256 = ''0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf'';
+    };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 9d694eac1e42a..438aaf7ba547d 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -132,4 +132,6 @@ in
         zcat ${patch} | patch -p 1
       ''; # */
     };
+
+  bundler = { dontPatchShebangs=1; };
 }
diff --git a/pkgs/development/interpreters/ruby/ruby-1.8.7.nix b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
new file mode 100644
index 0000000000000..9b43368c6173b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
@@ -0,0 +1,94 @@
+{ stdenv, fetchurl, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, ruby_1_8_7, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_1_8_7.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v1_8_7_${passthru.patchLevel}";
+    sha256 = "1xddhxr0j26hpxfixvhqdscwk2ri846w2129fcfwfjzvy19igswx";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
+    sha256 = "1qq7khilwkayrhwmzlxk83scrmiqfi7lgsn4c63znyvz2c1lgqxl";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm);
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/01-ignore-generated-files.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/02-fix-tests-for-osx.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/03-sigvtalrm-fix.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/04-railsbench-gc-patch.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/05-display-full-stack-trace.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/06-better-source-file-tracing.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/07-heap-dump-support.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/08-fork-support-for-gc-logging.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/09-track-malloc-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/10-track-object-allocation.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/11-expose-heap-slots.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/12-fix-heap-size-growth-logic.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/13-heap-slot-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/14-add-trace-stats-enabled-methods.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/15-track-live-dataset-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/16-add-object-size-information-to-heap-dump.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/17-caller-for-all-threads.patch"
+  ];
+
+  configureFlags = [ "--enable-shared" "--enable-pthread" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby";
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
+
+  meta = {
+    license = "Ruby";
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+  };
+
+  passthru = rec {
+    majorVersion = "1";
+    minorVersion = "8";
+    teenyVersion = "7";
+    patchLevel = "374";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
new file mode 100644
index 0000000000000..e361824bb5327
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
@@ -0,0 +1,112 @@
+{ stdenv, fetchurl, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, ruby_1_9_3, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_1_9_3.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v1_9_3_${passthru.patchLevel}";
+    sha256 = "040x67snfjrql5j7blizpm9j58jhwvh00v8h1h59aq90h52lkj68";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
+    sha256 = "0k7g0ahicjnd4sij2pml1p1dcb95ms3k3j1k3169n02kzz9qwn7g";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (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;
+
+  patches = [
+    ./ruby19-parallel-install.patch
+    ./bitperfect-rdoc.patch
+  ] ++ ops useRailsExpress [
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/01-fix-make-clean.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/02-railsbench-gc.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/04-fork-support-for-gc-logging.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/05-track-live-dataset-size.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/06-webrick_204_304_keep_alive_fix.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/08-thread-variables.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/09-faster-loading.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/10-falcon-st-opt.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/11-falcon-sparse-array.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/12-falcon-array-queue.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/13-railsbench-gc-fixes.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/14-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/15-configurable-fiber-stack-sizes.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/16-backport-psych-20.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/17-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/18-fix-process-daemon-call.patch"
+  ];
+
+  configureFlags = [ "--enable-shared" "--enable-pthread" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # 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";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
+
+  meta = {
+    license     = "Ruby";
+    homepage    = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "1";
+    minorVersion = "9";
+    teenyVersion = "3";
+    patchLevel = "547";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-18.nix b/pkgs/development/interpreters/ruby/ruby-18.nix
deleted file mode 100644
index 356fce4913c1e..0000000000000
--- a/pkgs/development/interpreters/ruby/ruby-18.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl
-, zlib, zlibSupport ? true
-, openssl, opensslSupport ? true
-, gdbm, gdbmSupport ? true
-, ncurses, readline, cursesSupport ? false
-, groff, docSupport ? false
-}:
-
-let
-  op = stdenv.lib.optional;
-  ops = stdenv.lib.optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
-  name = "ruby-${version}";
-  
-  src = fetchurl {
-    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.
-  NROFF = "${groff}/bin/nroff";
-
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
-    ++ (op docSupport groff )
-    ++ (op zlibSupport zlib)
-    ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm);
-    
-  configureFlags = ["--enable-shared" "--enable-pthread"];
-
-  installFlags = stdenv.lib.optionalString docSupport "install-doc";
-
-  postInstall = ''
-    # Bundler tries to create this directory
-    mkdir -pv $out/${passthru.gemPath}
-    mkdir -p $out/nix-support
-    cat > $out/nix-support/setup-hook <<EOF
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
-    }
-
-    envHooks+=(addGemPath)
-    EOF
-  '';
-
-  meta = {
-    license = "Ruby";
-    homepage = "http://www.ruby-lang.org/en/";
-    description = "The Ruby language";
-  };
-
-  passthru = rec {
-    majorVersion = "1.8";
-    minorVersion = "7";
-    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
deleted file mode 100644
index d18718184ba6e..0000000000000
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ stdenv, fetchurl
-, zlib, zlibSupport ? true
-, openssl, opensslSupport ? true
-, gdbm, gdbmSupport ? true
-, ncurses, readline, cursesSupport ? false
-, groff, docSupport ? false
-, libyaml, yamlSupport ? true
-}:
-
-let
-  op = stdenv.lib.optional;
-  ops = stdenv.lib.optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
-  name = "ruby-${version}";
-  
-  src = fetchurl {
-    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.
-  NROFF = "${groff}/bin/nroff";
-
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
-    ++ (op docSupport groff )
-    ++ (op zlibSupport zlib)
-    ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm)
-    ++ (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;
-  patches = [ ./ruby19-parallel-install.patch
-	      ./bitperfect-rdoc.patch
-  ];
-
-  configureFlags = [ "--enable-shared" "--enable-pthread" ]
-    # 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";
-
-  postInstall = ''
-    # Bundler tries to create this directory
-    mkdir -pv $out/${passthru.gemPath}
-    mkdir -p $out/nix-support
-    cat > $out/nix-support/setup-hook <<EOF
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
-    }
-
-    envHooks+=(addGemPath)
-    EOF
-  '';
-
-  meta = {
-    license     = "Ruby";
-    homepage    = "http://www.ruby-lang.org/en/";
-    description = "The Ruby language";
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    platforms   = stdenv.lib.platforms.all;
-  };
-
-  passthru = rec {
-    majorVersion = "1.9";
-    minorVersion = "3";
-    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.0.nix
index ae242107b9683..22b13717cfcbf 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
@@ -1,31 +1,40 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchFromGitHub
 , zlib, zlibSupport ? true
 , openssl, opensslSupport ? true
 , gdbm, gdbmSupport ? true
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, ruby_2_0_0, autoreconfHook, bison, useRailsExpress ? true
 }:
 
 let
   op = stdenv.lib.optional;
   ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_2_0_0.override { useRailsExpress = false; };
 in
 
 stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
   name = "ruby-${version}";
-  
-  src = fetchurl {
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_0_0_${passthru.patchLevel}";
+    sha256 = "07ccnxgiqxn5ycmq2wl7j3aqmndm4n358y35kzaivb488ayjg3pj";
+  } else fetchurl {
     url = "http://cache.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
-    sha256 = "3de4e4d9aff4682fa4f8ed2b70bd0d746fae17452fc3d3a8e8f505ead9105ad9";
+    sha256 = "1qnqccyfhx0fykxqbzlxq0yvyvq6q9v32givyfyr303dx7bxlqh7";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
 
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
     ++ (op opensslSupport openssl)
@@ -38,8 +47,17 @@ stdenv.mkDerivation rec {
     ++ (op (!cursesSupport && stdenv.isDarwin) readline);
 
   enableParallelBuilding = true;
-    
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.0.0/p481/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/02-railsexpress-gc.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/05-fix-missing-c-return-event.patch"
+  ];
+
   configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
     # 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 [ ]);
@@ -67,10 +85,11 @@ stdenv.mkDerivation rec {
   };
 
   passthru = rec {
-    majorVersion = "2.0";
+    majorVersion = "2";
     minorVersion = "0";
-    patchLevel = "353";
-    libPath = "lib/ruby/${majorVersion}";
-    gemPath = "lib/ruby/gems/${majorVersion}";
+    teenyVersion = "0";
+    patchLevel = "481";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
   };
 }
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
new file mode 100644
index 0000000000000..fd0c278133bcb
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
@@ -0,0 +1,110 @@
+{ stdenv, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, ruby_2_1_0, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_0.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_0";
+    sha256 = "12sn532yvznqfz85378ys0b9ggmj7w8ddhzc1pnnlx7mbyy7r2hx";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz";
+    sha256 = "17fhfbw8sr13rxfn58wvrhk2f5i88lkna2afn3gdjvprd8gyqf1m";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (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;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/01-current-2.1.1-fixes.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/02-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/03-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/04-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/05-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/06-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/07-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/09-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/10-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # 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
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
+
+  meta = {
+    license = "Ruby";
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "0";
+    patchLevel = "0";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
new file mode 100644
index 0000000000000..c60a6cb313d4c
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
@@ -0,0 +1,109 @@
+{ stdenv, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, ruby_2_1_1, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_1.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_1";
+    sha256 = "1v2ffvyd0xx1h1qd70431zczhvsdiyyw5kjxih4rszd5avzh5grl";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz";
+    sha256 = "0hc9x3mazyvnk94gs19q8mbnanlzk8mv0hii77slkvc8mqqxyhy8";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (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;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/05-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/06-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/07-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/09-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/10-funny-falcon-method-cache.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/11-backport-r44370.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # 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
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
+
+  meta = {
+    license = "Ruby";
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "1";
+    patchLevel = "0";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
index 430bf4f166518..1738606bf1400 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
@@ -1,28 +1,41 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchgit, fetchFromGitHub
 , zlib, zlibSupport ? true
 , openssl, opensslSupport ? true
 , gdbm, gdbmSupport ? true
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, ruby_2_1_2, autoreconfHook, bison, useRailsExpress ? true
 }:
 
 let
   op = stdenv.lib.optional;
   ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_2.override { useRailsExpress = false; };
 in
 
 stdenv.mkDerivation rec {
-  name = "ruby-2.1.2";
-  src = fetchurl {
-    url = "http://cache.ruby-lang.org/pub/ruby/2.1/${name}.tar.bz2";
-    sha256 = "6948b02570cdfb89a8313675d4aa665405900e27423db408401473f30fc6e901";
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_2";
+    sha256 = "14f8w3zwngnxsgigffh6h9z3ng53xq8mk126xmwrsmz9n3ypm6l0";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz";
+    sha256 = "0db6krc2bd7yha8p96lcqrahjpsz7g7abhni134g708sh53n8apj";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
 
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
     ++ (op opensslSupport openssl)
@@ -36,7 +49,28 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/05-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/06-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/07-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/08-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/09-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/10-funny-falcon-method-cache.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
   configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
     # 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 [ ]);
@@ -64,9 +98,11 @@ stdenv.mkDerivation rec {
   };
 
   passthru = rec {
-    majorVersion = "2.1";
-    minorVersion = "2";
-    libPath = "lib/ruby/${majorVersion}";
-    gemPath = "lib/ruby/gems/${majorVersion}";
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "2";
+    patchLevel = "353";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
   };
 }
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index 13829c3f9f6af..3b66464ce223f 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -29,13 +29,7 @@ rec {
     longDescription = ''
       Nix can create nix packages from gems.
 
-      To use it do the following:
-      1. Install rubygems and rubyLibs.nix.
-      2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
-      3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems.
-      4. Run `gem nix --[no-]user-install gem1 gem2 ...` to generate Nix
-      expression from gem repository.
-      5. Install rubyLibs.gem1 etc.
+      To use it by installing gem-nix package.
     '';
   };
 
diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
new file mode 100644
index 0000000000000..dca74dca62ed1
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
@@ -0,0 +1,8 @@
+{ fetchFromGitHub }:
+
+fetchFromGitHub {
+  owner  = "skaes";
+  repo   = "rvm-patchsets";
+  rev    = "13d535bbc060b1b8166673932fe7098abf4216b8";
+  sha256 = "0hf1m2bsdgdnyi4427gknvpd8cfribw77lf2k980flb1z9g5d7ib";
+}
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
index 3905671759787..4630828fe87d7 100644
--- a/pkgs/development/interpreters/scheme48/default.nix
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "scheme48-1.9";
+  name = "scheme48-1.9.2";
 
   meta = {
     homepage = http://s48.org/;
     description = "Scheme 48";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 
   src = fetchurl {
-    url = http://s48.org/1.9/scheme48-1.9.tgz;
-    md5 = "b4c20057f92191d05a61fac1372878ad";
+    url = http://s48.org/1.9.2/scheme48-1.9.2.tgz;
+    sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw";
   };
 }
diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix
index 98e1edee38795..f53e42f0bdeee 100644
--- a/pkgs/development/interpreters/self/default.nix
+++ b/pkgs/development/interpreters/self/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine";
     homepage = "http://selflanguage.org/";
     license = stdenv.lib.licenses.bsd3;
-    maintainer = [ stdenv.lib.maintainers.doublec ];
+    maintainers = [ stdenv.lib.maintainers.doublec ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 4c2739d00ecf0..512a17e6d3ea9 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1s0ylyrx74vgw6vsg6xxk4b07jrxh8pqcmxcbkx46v01nczv3ixj";
   };
 
-  buildInputs = [ cmake boost gmp mpfr ];
+  buildInputs = [ cmake boost boost.lib gmp mpfr ];
 
   doCheck = false;
 
diff --git a/pkgs/development/libraries/LASzip/default.nix b/pkgs/development/libraries/LASzip/default.nix
new file mode 100644
index 0000000000000..df9d126ad719e
--- /dev/null
+++ b/pkgs/development/libraries/LASzip/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.0";
+  name = "LASzip-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
+    sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
+  };
+  
+  buildInputs = [cmake];
+
+  meta = {
+    description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
+    homepage = http://www.laszip.org;
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 7b85d29c81b7f..7914dac493344 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -2,11 +2,12 @@
 , libtool, gobjectIntrospection, polkit, systemd, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "accountsservice-0.6.37";
+  name = "accountsservice-${version}";
+  version = "0.6.38";
   
   src = fetchurl {
-    url = http://www.freedesktop.org/software/accountsservice/accountsservice-0.6.37.tar.xz;
-    sha256 = "1hd58lrl698ij7w1xk3fpj8zp7h6m2hpzvfmbw9sfx4xvhv13cmh";
+    url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
+    sha256 = "1ad32qv57rx9yzrvzsw0d0lh0j7adlh664lachv621wb8ya22crn";
   };
 
   buildInputs = [ pkgconfig glib intltool libtool makeWrapper
@@ -24,7 +25,10 @@ stdenv.mkDerivation rec {
       --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D-Bus interface for user account query and manipulation";
+    homepage = http://www.freedesktop.org/wiki/Software/AccountsService;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/agda/AgdaSheaves/default.nix b/pkgs/development/libraries/agda/AgdaSheaves/default.nix
new file mode 100644
index 0000000000000..83066f5da6321
--- /dev/null
+++ b/pkgs/development/libraries/agda/AgdaSheaves/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit }:
+
+agda.mkDerivation (self: rec {
+  version = "8a06162a8f0f7df308458db91d720cf8f7345d69";
+  name = "Agda-Sheaves-${version}";
+  src = fetchgit {
+    url = "https://github.com/jonsterling/Agda-Sheaves.git";
+    rev = version;
+    sha256 = "39e0e4a1f05e359c099cf50a5ec7dd2db7b55f98dcc019f1e4667dca8b37f001";
+  };
+
+  everythingFile = "sheaves.agda";
+  topSourceDirectories = [ "../$sourceRoot" ];
+  sourceDirectories = [];
+
+  meta = {
+    homepage = "https://github.com/jonsterling/Agda-Sheaves";
+    description = "Sheaves in Agda";
+    license = stdenv.lib.licenses.cc-by-40;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/contextfile b/pkgs/development/libraries/agda/TotalParserCombinators/contextfile
new file mode 100644
index 0000000000000..1d211f397af94
--- /dev/null
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/contextfile
@@ -0,0 +1,213 @@
+
+Context:
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20140425121055
+ Ignore-this: 54d80fd647cb897eef85f57e9172f7db
+] 
+
+[Workaround for (possible) Agda bug.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20140228200347
+ Ignore-this: b17884ad17a3bdb7faff678622365a8
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130307134644
+ Ignore-this: 50d070a22a6796b9acdf19d44ba5de16
+] 
+
+[Updated code to reflect changes to Agda and the library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130228122951
+ Ignore-this: 761dc4d85683a59cc3667a8706c88093
+] 
+
+[Turned _◇_ into a constructor.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120316125431
+ Ignore-this: 41b492c3106a575f28f146253f78a5ae
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120316125416
+ Ignore-this: e77d817d8b391c3b4806119d10848eb3
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120215103344
+ Ignore-this: 467716429d5553cd122722108ea82a08
+] 
+
+[Modified a comment.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120215103319
+ Ignore-this: e57d4911f692f8a96a80017d910efc5f
+] 
+
+[Updated code to reflect change to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20111006160229
+ Ignore-this: 5359da54e7e6e0f92983fa3ecaccebf3
+] 
+
+[Updated code to reflect changes to Agda and the library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20111003170117
+ Ignore-this: cbdd35172e372779e12642985cf17268
+] 
+
+[Rolled back addition of inversion lemmas.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110930150912
+ Ignore-this: 9c9b083f0afcf95aaaa55a01d871274e
+] 
+
+[Added inversion lemmas, implemented other lemmas using these lemmas.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110930150842
+ Ignore-this: 19b832c3f9e14d1e713b5911c094a130
+ + This change was a response to a change to Agda's pattern matching
+   machinery. Subsequently the machinery was made more liberal again,
+   making this change unnecessary.
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110517220158
+ Ignore-this: ea9771a5014a25cb20afc2118638f8b5
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110512124425
+ Ignore-this: 97b154661679f574f6ab914583b14580
+] 
+
+[Proved that many constructions preserve various preorders.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110313012617
+ Ignore-this: 8008efaff967c228448baa33b82edb81
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110313002106
+ Ignore-this: 94799ba1ae411e59fd8c6c7eac3b8dfb
+] 
+
+[Simplified TotalRecognisers.LeftRecursion.MatchingParentheses.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110118102159
+ Ignore-this: 1e01a8092b0c0124979ffc5fe17a245c
+] 
+
+[Added TotalRecognisers.LeftRecursion.MatchingParentheses.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110118102146
+ Ignore-this: 13a3bc91425364e26c3047561655bb25
+] 
+
+[Added a simplifying backend.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101229012716
+ Ignore-this: 9ac7ae21cd44c099633678a994fb9a3
+] 
+
+[Fixed another "bug" in the deep simplifier.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101229010854
+ Ignore-this: e258adf963436ef715242db23c6808e
+ + Sometimes the first layer of bind's right-hand argument was not
+   simplified.
+] 
+
+[Made simplify₁ public and changed its type.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228235603
+ Ignore-this: d39b8453a15089126261e098080223c6
+] 
+
+[Deep simplification no longer adds casts.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228192850
+ Ignore-this: 2ba016825adfa3a1e36922869eabfd39
+] 
+
+[The first constructor in a simplified parser can no longer be a cast.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228175822
+ Ignore-this: ce3e38cc0b9a096aa436655c9013ae97
+] 
+
+[Modified the outline.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228173414
+ Ignore-this: f8866e69f6d1a344e79fb6f708dfa4c
+] 
+
+[Added an example: a right recursive expression grammar.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228173159
+ Ignore-this: 9a4d732b451cca08ba19aac5d115c678
+] 
+
+[Rearranged the code.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228172209
+ Ignore-this: 50fa29406d0f150669ff3feec4dbe513
+] 
+
+[Renamed same-bag/set to (initial-bag-)cong.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228170706
+ Ignore-this: dd3ce43d77dde74cc2428d2568dd2d30
+] 
+
+[Added TotalParserCombinators.Force.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228153638
+ Ignore-this: 3b6ff6ea20df0c1293494f06845d17eb
+] 
+
+[Proved that uses of subst can be erased.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228153621
+ Ignore-this: f503ba495b923ae521718b6957167128
+] 
+
+[The deep simplifier no longer skips layers.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228141138
+ Ignore-this: 733a4a4a9aa0f890ad1740ecfc6a599f
+] 
+
+[Documented that the deep simplifier misses every second layer.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228121910
+ Ignore-this: 8a0baf25b12f63f8748dbc1d16affacf
+] 
+
+[The simplifier now applies the token-bind rule more often.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227165413
+ Ignore-this: 40132fa6f19602886bbe29aadd8a683c
+] 
+
+[Switched back to deep simplification, now with a proper proof.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227125434
+ Ignore-this: ccc46e82f6f9c6c2a27ddb43d315f7dd
+] 
+
+[Simplified the soundness proof.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227123839
+ Ignore-this: fb6826dd9836e34fc3bfdce2928ba13d
+] 
+
+[Made some _≈[_]P_ constructors conditionally coinductive.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227123827
+ Ignore-this: f521f70475403697229051b62343a080
+ + The structure of the soundness proof was also changed.
+] 
+
+[Unified And, AsymmetricChoice and Not.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101225103109
+ Ignore-this: 5ae8b80e1505fe6e707bb2307d22688c
+] 
+
+[Modified some comments.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101225101051
+ Ignore-this: e812d8c3e9720895c368f7a286f8315c
+] 
+
+[Modified a comment.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101223202647
+ Ignore-this: 16ea5dc01a4cbe0fe38714b2e4b7ff6
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101107162658
+ Ignore-this: 9e38a10a9997c9825ece6ad9f871b673
+] 
+
+[Added an alternative backend for TotalRecognisers.Simple.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101020183743
+ Ignore-this: a111a89e0c237e132b649561000f53d6
+] 
+
+[TAG Code corresponding to the paper "Total Parser Combinators" (4).
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20100928013815
+ Ignore-this: 45ccc28373ed3974047315613eb14833
+] 
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
new file mode 100644
index 0000000000000..6b0a63066b2f5
--- /dev/null
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, agda, fetchdarcs, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "2014-09-27";
+  name = "TotalParserCombinators-${version}";
+
+  src = fetchdarcs {
+    url = "http://www.cse.chalmers.se/~nad/repos/parser-combinators.code/";
+    context = ./contextfile;
+    sha256 = "1rb8prqqp4dnz9s83ays7xfvpqs0n20vl1bg2zlg5si171j9rd4i";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  everythingFile = "TotalParserCombinators.agda";
+  sourceDirectories = [];
+  topSourceDirectories = [ "../$sourceRoot" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.cse.chalmers.se/~nad/publications/danielsson-parser-combinators.html";
+    description = "A monadic parser combinator library which guarantees termination of parsing";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/aaron-stump-stdlib/default.nix b/pkgs/development/libraries/agda/aaron-stump-stdlib/default.nix
new file mode 100644
index 0000000000000..5f4275a34e418
--- /dev/null
+++ b/pkgs/development/libraries/agda/aaron-stump-stdlib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, agda, fetchsvn }:
+
+agda.mkDerivation (self: rec {
+  version = "18437";
+  name = "aaron-stump-stdlib-${version}";
+
+  src = fetchsvn {
+    url = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib";
+    rev = version;
+    sha256 = "1g6pwvrcir53ppf6wd8s62gizc3qy35mp229b66mh53abg4brik2";
+  };
+
+  sourceDirectories = [ "./." ];
+  buildPhase = ''
+    patchShebangs find-deps.sh
+    make
+  '';
+
+  meta = {
+    homepage = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib/";
+    description = "A standard library by Aaron Stump";
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix
new file mode 100644
index 0000000000000..9b67c5dbb5bb2
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit }:
+
+agda.mkDerivation (self: rec {
+  version = "d598f35d88596c5a63766a7188a0c0144e467c8c";
+  name = "agda-prelude-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/UlfNorell/agda-prelude.git";
+    rev = version;
+    sha256 = "bdcffb675d0ad1bafa2b47f581b6a9b90347ae739b6218f89f365fda2cc4f8c8";
+  };
+
+  topSourceDirectories = [ "src" ];
+  everythingFile = "src/Prelude.agda";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/UlfNorell/agda-prelude";
+    description = "Programming library for Agda";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/bitvector/default.nix b/pkgs/development/libraries/agda/bitvector/default.nix
new file mode 100644
index 0000000000000..290a2f1206d1e
--- /dev/null
+++ b/pkgs/development/libraries/agda/bitvector/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "f1c173313f2a41d95a8dc6053f9365a24690e18d";
+  name = "bitvector-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/copumpkin/bitvector.git";
+    rev = version;
+    sha256 = "c39f55b709366f2c627d1a3a68d4b013c415b0e0f68ca6b69e387d07e2ce6d9a";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  sourceDirectories = [ "Data" ];
+
+  meta = {
+    homepage = "https://github.com/copumpkin/bitvector";
+    description = "Sequences of bits and common operations on them";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/categories/default.nix b/pkgs/development/libraries/agda/categories/default.nix
new file mode 100644
index 0000000000000..1a860496a4d3b
--- /dev/null
+++ b/pkgs/development/libraries/agda/categories/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "33409120d071656f5198c658145889ae2e86249c";
+  name = "categories-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/copumpkin/categories.git";
+    rev = version;
+    sha256 = "cb7e8c911e10ab582c077208f5f6675711c0d65f0d9d679639d4b67a467cc4de";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  sourceDirectories = [ "Categories" "Graphs" ];
+
+  meta = {
+    homepage = "https://github.com/copumpkin/categories";
+    description = "Categories parametrized by morphism equality, in Agda";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/pretty/contextfile b/pkgs/development/libraries/agda/pretty/contextfile
new file mode 100644
index 0000000000000..4ad31c2e7fab0
--- /dev/null
+++ b/pkgs/development/libraries/agda/pretty/contextfile
@@ -0,0 +1,7 @@
+
+Context:
+
+[TAG Correct-by-Construction Pretty-Printing (2013-06-14)
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130614153155
+ Ignore-this: a64ae32de9e22d60d64ef3da19847e00
+] 
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
new file mode 100644
index 0000000000000..1bcb9f8459bcc
--- /dev/null
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, agda, fetchdarcs, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "2014-09-27";
+  name = "pretty-${version}";
+
+  src = fetchdarcs {
+    url = "http://www.cse.chalmers.se/~nad/repos/pretty/";
+    context = ./contextfile;
+    sha256 = "067pv55r3wlchbgjpx3ha5hyzr29y6xsix0ywwgirm8njcc8nv16";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  everythingFile = "Pretty.agda";
+  sourceDirectories = [];
+  topSourceDirectories = [ "../$sourceRoot" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.cse.chalmers.se/~nad/publications/danielsson-correct-pretty.html";
+    description = "Correct-by-Construction Pretty-Printing";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 229529f08cecf..6932f389b8444 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "apr-util-1.5.3";
+  name = "apr-util-1.5.4";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    sha256 = "0s1rpqjy5xr03k9s4xrsm5wvhj5286vlkf6jvqayw99yy5sb3vbq";
+    sha256 = "0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6";
   };
 
   configureFlags = ''
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://apr.apache.org/;
     description = "A companion library to APR, the Apache Portable Runtime";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index df509943ba275..10a22e00f6509 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index a153443a54ebd..3aa0e95305a91 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     broken = true;
   };
 }
diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix
index aad3656cde800..269e7472280fe 100644
--- a/pkgs/development/libraries/audio/raul/default.nix
+++ b/pkgs/development/libraries/audio/raul/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "raul-svn-${rev}";
-  rev = "5205";
+  rev = "5449";
 
   src = fetchsvn {
     url = "http://svn.drobilla.net/lad/trunk/raul";
     rev = rev;
-    sha256 = "1rkl7vxhwf6d0qfl2ymfd1qwmh9cl1xv6kkz893xg0blpvzcdmp3";
+    sha256 = "02ph1hikp1iynwbxbiaf28brkwig7n4lsb3djaivnf14arg5vmzx";
   };
 
   buildInputs = [ boost gtk pkgconfig python ];
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index cc047da2758c4..68b1fb1c9ba45 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, enableLargeConfig ? false }:
 
 stdenv.mkDerivation rec {
   name = "boehm-gc-7.2f";
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "119x7p1cqw40mpwj80xfq879l9m1dkc7vbc1f3bz3kvkf8bf6p16";
   };
 
-  configureFlags = "--enable-cplusplus";
+  configureFlags =
+    [ "--enable-cplusplus" ]
+    ++ lib.optional enableLargeConfig "--enable-large-config";
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
index 1e9d2134d1201..31469b3e06c53 100644
--- a/pkgs/development/libraries/boost/1.55.nix
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -40,7 +40,7 @@ let
   withToolset = stdenv.lib.optionalString (toolset != null) " --with-toolset=${toolset}";
 in
 
-stdenv.mkDerivation {
+let res = stdenv.mkDerivation {
   name = "boost-1.55.0";
 
   meta = {
@@ -96,4 +96,4 @@ stdenv.mkDerivation {
       ./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
     '';
   };
-}
+}; in res // { lib = res; }
diff --git a/pkgs/development/libraries/boost/1.56.nix b/pkgs/development/libraries/boost/1.56.nix
new file mode 100644
index 0000000000000..212b6ca0dee52
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.56.nix
@@ -0,0 +1,146 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames
+, toolset ? null
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
+}:
+
+# We must build at least one type of libraries
+assert !enableShared -> enableStatic;
+
+with stdenv.lib;
+let
+
+  variant = concatStringsSep ","
+    (optional enableRelease "release" ++
+     optional enableDebug "debug");
+
+  threading = concatStringsSep ","
+    (optional enableSingleThreaded "single" ++
+     optional enableMultiThreaded "multi");
+
+  link = concatStringsSep ","
+    (optional enableShared "shared" ++
+     optional enableStatic "static");
+
+  runtime-link = if enableShared then "shared" else "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
+             "";
+
+  withToolset = stdenv.lib.optionalString (toolset != null) "--with-toolset=${toolset}";
+
+  genericB2Flags = [
+    "--prefix=$out"
+    "--libdir=$lib/lib"
+    "-j$NIX_BUILD_CORES"
+    "--layout=${layout}"
+    "variant=${variant}"
+    "threading=${threading}"
+    "runtime-link=${runtime-link}"
+    "link=${link}"
+    "${cflags}"
+  ] ++ optional (variant == "release") "debug-symbols=off";
+
+  nativeB2Flags = [
+    "-sEXPAT_INCLUDE=${expat}/include"
+    "-sEXPAT_LIBPATH=${expat}/lib"
+  ] ++ optional (toolset != null) "toolset=${toolset}";
+  nativeB2Args = concatStringsSep " " (genericB2Flags ++ nativeB2Flags);
+
+  crossB2Flags = [
+    "-sEXPAT_INCLUDE=${expat.crossDrv}/include"
+    "-sEXPAT_LIBPATH=${expat.crossDrv}/lib"
+    "--user-config=user-config.jam"
+    "toolset=gcc-cross"
+    "--without-python"
+  ];
+  crossB2Args = concatMapStringsSep " " (genericB2Flags ++ crossB2Flags);
+
+  builder = b2Args: ''
+    ./b2 ${b2Args}
+  '';
+
+  installer = b2Args: ''
+    # boostbook is needed by some applications
+    mkdir -p $out/share/boostbook
+    cp -a tools/boostbook/{xsl,dtd} $out/share/boostbook/
+
+    # Let boost install everything else
+    ./b2 ${b2Args} install
+  '';
+
+  commonConfigureFlags = [
+    "--libdir=$(lib)/lib"
+  ];
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.56.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Collection of C++ libraries";
+    license = "boost-license";
+
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons wkennington ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_56_0.tar.bz2";
+    sha256 = "07gz62nj767qzwqm3xjh11znpyph8gcii0cqhnx7wvismyn34iqk";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ icu expat zlib bzip2 python ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = commonConfigureFlags ++ [
+    "--with-icu=${icu}"
+    "--with-python=${python}/bin/python"
+  ] ++ optional (toolset != null) "--with-toolset=${toolset}";
+
+  buildPhase = ''
+    ${stdenv.lib.optionalString (toolset == "clang") "unset NIX_ENFORCE_PURITY"}
+  '' + builder nativeB2Args;
+
+  installPhase = installer nativeB2Args;
+
+  outputs = [ "out" "lib" ];
+
+  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 ${concatStringsSep " " commonConfigureFlags}"
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+    '';
+    buildPhase = builder crossB2Args;
+    installPhase = installer crossB2Args;
+  };
+}
diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix
deleted file mode 100644
index 96c9216a371b0..0000000000000
--- a/pkgs/development/libraries/boost/header-only-wrapper.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, boost }:
-
-let
-  version = stdenv.lib.removePrefix "boost-" boost.name;
-  pkgid = stdenv.lib.replaceChars ["-" "."] ["_" "_"] boost.name;
-in
-
-stdenv.mkDerivation {
-  name = "boost-headers-${version}";
-
-  src = boost.src;
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out/include
-    tar xf $src -C $out/include --strip-components=1 ${pkgid}/boost
-  '';
-
-  preferLocalBuild = true;
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Boost C++ Library Collection";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.viric stdenv.lib.maintainers.simons ];
-  };
-}
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
index 64dd821c43f40..e603b904ddacb 100644
--- a/pkgs/development/libraries/botan/default.nix
+++ b/pkgs/development/libraries/botan/default.nix
@@ -9,8 +9,9 @@ let
   helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
     [];
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  buildInputs = [ boost.lib ]
+    ++ map (n: builtins.getAttr n x)
+      (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="botan";
     tarBaseName="Botan";
diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix
index 677172dd3ac53..be541a1d8ec38 100644
--- a/pkgs/development/libraries/botan/unstable.nix
+++ b/pkgs/development/libraries/botan/unstable.nix
@@ -9,8 +9,9 @@ let
   helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  buildInputs = [ boost.lib ]
+    ++ map (n: builtins.getAttr n x)
+      (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="botan";
     tarBaseName="Botan";
diff --git a/pkgs/development/libraries/cimg/builder.sh b/pkgs/development/libraries/cimg/builder.sh
new file mode 100644
index 0000000000000..bbd5f71255178
--- /dev/null
+++ b/pkgs/development/libraries/cimg/builder.sh
@@ -0,0 +1,12 @@
+
+source $stdenv/setup
+
+unpackPhase
+cd $sourceRoot
+
+install -dm 755 $out/include/cimg $out/share/doc/cimg/html $out/share/cimg/examples $out/share/cimg/plugins
+
+install -m 644 CImg.h $out/include/cimg
+cp -dr --no-preserve=ownership html/* $out/share/doc/cimg/html/
+cp -dr --no-preserve=ownership examples/* $out/share/cimg/examples/
+cp -dr --no-preserve=ownership plugins/* $out/share/cimg/plugins/
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
new file mode 100644
index 0000000000000..049938e1f4591
--- /dev/null
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, unzip }:
+
+stdenv.mkDerivation rec {
+
+  name = "cimg-${version}";
+  version = "1.5.9";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/cimg/CImg-${version}.zip";
+    sha256 = "1xn20643gcbl76kvy9ajhwbyjjb73mg65q32ma8mdkwn1qhn7f7c";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ unzip ];
+
+  builder = ./builder.sh;
+  
+  meta = with stdenv.lib; {
+    description = "A small, open source, C++ toolkit for image processing";
+    homepage = http://cimg.sourceforge.net/;
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index 7ea7e597d4093..926da22b28022 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-isl=system" ];
 
+  enableParallelBuilding = true;
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index c73aac074e7ff..7cef673dbc690 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gst-2.0.10";
+  name = "clutter-gst-2.0.12";
 
   src = fetchurl {
     url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz";
-    sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00";
+    sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2";
   };
 
   propagatedBuildInputs = [ clutter gtk3 glib cogl ];
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
index e5f5a455c899f..d3754ecd6c624 100644
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   name = "clutter-gtk-0.10.8";
 
   src = fetchurl {
-    url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
+    urls = [
+      "http://download.gnome.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
+      "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
+      ];
     sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
   };
 
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
index 43849bf8ed8a2..3ce9dc38b3c11 100644
--- a/pkgs/development/libraries/cpp-netlib/default.nix
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -12,17 +12,17 @@ stdenv.mkDerivation rec {
     md5 = "0765cf203f451394df98e6ddf7bf2541";
   };
 
-  buildInputs = [ cmake boost openssl ];
+  buildInputs = [ cmake boost boost.lib openssl ];
 
   cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=RELEASE" ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A collection of open-source libraries for high level network programming";
     homepage    = http://cpp-netlib.org;
-    license     = stdenv.lib.licenses.boost;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-    platforms   = stdenv.lib.platforms.all;
+    license     = licenses.boost;
+    maintainers = with maintainers; [ shlevy ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix
index be583e08b6bc4..ed03b758b7562 100644
--- a/pkgs/development/libraries/directfb/src-for-default.nix
+++ b/pkgs/development/libraries/directfb/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.6.3";
-   name="directfb-1.6.3";
-   hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks";
-   url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz";
-   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz";
+   version="1.7.6";
+   name="directfb-${version}";
+   hash="1qf94vgsbcwfa00x2aqd6795n6z43x4ghclmb4sa4bl4zfn2pws4";
+   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
+   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.6.tar.gz";
   
   
 }
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
index 2c22af1684d36..74e4b6c5666db 100644
--- a/pkgs/development/libraries/dotconf/default.nix
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -1,18 +1,24 @@
-{ fetchurl, stdenv }:
+{ fetchFromGitHub, stdenv, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "dotconf-" + version;
-  version = "1.0.13";
+  version = "1.3";
 
-  src = fetchurl {
-    url = "http://www.azzit.de/dotconf/download/v1.0/dotconf-1.0.13.tar.gz";
-    sha256 = "0rcvi743jgnrq2p5gknnvsqiv47479y5gyc2g9pz7bp7v7bzlmc9";
+  src = fetchFromGitHub {
+    owner = "williamh";
+    repo = "dotconf";
+    rev = "v${version}";
+    sha256 = "1sc95hw5k2xagpafny0v35filmcn05k1ds5ghkldfpf6xw4hakp7";
   };
 
-  meta = {
-    description = "A configuration parser library";
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = "autoreconf --install";
 
+  meta = with stdenv.lib; {
+    description = "A configuration parser library";
+    maintainers = with maintainers; [ pSub ];
     homepage = http://www.azzit.de/dotconf/;
-    license = stdenv.lib.licenses.lgpl21Plus;
+    license = licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 991c3e2fa4c00..4fb184f8d6054 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, expat, zlib, boost }:
 
 stdenv.mkDerivation rec {
-  name = "exempi-2.2.1";
+  name = "exempi-2.2.2";
 
   src = fetchurl {
     url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
-    sha256 = "00d6gycl0wcyd3c71y0jp033a64z203rq0p0y07aig0s0j0477kc";
+    sha256 = "01vcd1mfn2s0iiq2cjyzgvnxx6kcq9cwra1iipijhs0vwvjx0yhf";
   };
 
   configureFlags = [ "--with-boost=${boost}" ];
 
-  buildInputs = [ expat zlib boost ];
+  buildInputs = [ expat zlib boost boost.lib ];
 
   meta = with stdenv.lib; {
+    homepage = http://libopenraw.freedesktop.org/wiki/Exempi/;
     platforms = platforms.linux;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 26ff5dd245e75..f75c211708402 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
 
   postInstall = "ln -s . $out/include/fastcgi";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "FastCGI  is a language independent, scalable, open extension to CG";
     homepage = http://www.fastcgi.com/;
     license = "FastCGI see LICENSE.TERMS";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
index a0dcf52dcce02..e9488530b5c30 100644
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ b/pkgs/development/libraries/ffmpeg/1.x.nix
@@ -31,11 +31,11 @@ assert playSupport -> SDL != null;
 assert freetypeSupport -> freetype != null;
 
 stdenv.mkDerivation rec {
-  name = "ffmpeg-1.2.7";
+  name = "ffmpeg-1.2.8";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "13nj5q5ad0kcrid8r5x6x8lqfhk8kms14pmncf6vbdbk6x45k6v6";
+    sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2";
   };
 
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@@ -100,5 +100,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/2.3.x.nix b/pkgs/development/libraries/ffmpeg/2.3.x.nix
new file mode 100644
index 0000000000000..8114eb4752d22
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/2.3.x.nix
@@ -0,0 +1,108 @@
+{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
+, lame, speex, libass, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
+, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
+, freetype, fontconfig, fdk_aac, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.3.3";
+  name = "ffmpeg-${version}";
+
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v";
+  };
+
+  subtitleSupport = config.ffmpeg.subtitle or true;
+  mp3Support = config.ffmpeg.mp3 or true;
+  speexSupport = config.ffmpeg.speex or true;
+  theoraSupport = config.ffmpeg.theora or true;
+  vorbisSupport = config.ffmpeg.vorbis or true;
+  vpxSupport = config.ffmpeg.vpx or true;
+  x264Support = config.ffmpeg.x264 or true;
+  xvidSupport = config.ffmpeg.xvid or true;
+  opusSupport = config.ffmpeg.opus or true;
+  vdpauSupport = config.ffmpeg.vdpau or true;
+  vaapiSupport = config.ffmpeg.vaapi or true;
+  faacSupport = config.ffmpeg.faac or false;
+  fdkAACSupport = config.ffmpeg.fdk or false;
+  dc1394Support = config.ffmpeg.dc1394 or false;
+  x11grabSupport = config.ffmpeg.x11grab or false;
+  playSupport = config.ffmpeg.play or true;
+  freetypeSupport = config.ffmpeg.freetype or true;
+  gnutlsSupport = config.ffmpeg.gnutls or true;
+
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--enable-shared"
+    "--enable-avresample"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass"
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional opusSupport "--enable-libopus"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
+    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay"
+    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
+    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree"
+    ++ stdenv.lib.optional gnutlsSupport "--enable-gnutls";
+
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional opusSupport libopus
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional vaapiSupport libva
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394
+    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL
+    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
+    ++ stdenv.lib.optional fdkAACSupport fdk_aac
+    ++ stdenv.lib.optional gnutlsSupport gnutls
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+
+  enableParallelBuilding = true;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  passthru = {
+    inherit vdpauSupport;
+  };
+
+  meta = {
+    homepage = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 8114eb4752d22..4bd10216e6b5a 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.3";
+  version = "2.4.1";
   name = "ffmpeg-${version}";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v";
+    sha256 = "1wy7hdkaijsr6cbvgq5gkjdb0rd3m6583b8d68hlmsj15k7czbml";
   };
 
   subtitleSupport = config.ffmpeg.subtitle or true;
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 85896cdb5e300..5b1dc6fc0a41b 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "flite-1.4";
+  name = "flite-1.9.0";
 
   src = fetchurl {
-    url = "http://www.speech.cs.cmu.edu/flite/packed/${name}/${name}-release.tar.bz2";
-    sha256 = "036dagsydi0qh71ayi6jshfi3ik2md1az3gpi42md9pc18b65ij5";
+    url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
+    sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
   };
 
   buildInputs = [ pkgconfig ];
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A small, fast run-time speech synthesis engine";
-    homepage = http://www.speech.cs.cmu.edu/flite/index.html; 
+    homepage = http://www.festvox.org/flite/;
     license = "free-non-copyleft";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 71e5b91a26fac..23795e9633ed7 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "fribidi-${version}";
-  version = "0.19.2";
+  version = "0.19.6";
   
   src = fetchurl {
-    url = "http://fribidi.org/download/${name}.tar.gz";
-    sha256 = "0xs1yr22zw9a1qq9ygsrqam0vzqdvb0ndzvjb3i2zda8drc93ks9";
+    url = "http://fribidi.org/download/${name}.tar.bz2";
+    sha256 = "0zg1hpaml34ny74fif97j7ngrshlkl3wk3nja3gmlzl17i1bga6b";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://fribidi.org/;
     description = "GNU implementation of the Unicode Bidirectional Algorithm (bidi)";
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix
index 40e0388d749ec..6639f2e498baa 100644
--- a/pkgs/development/libraries/ganv/default.nix
+++ b/pkgs/development/libraries/ganv/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }:
+{ stdenv, fetchurl, graphviz, gtk, gtkmm, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
-  name = "ganv-svn-${rev}";
-  rev = "5318";
+  name = "ganv-${version}";
+  version = "1.4.2";
 
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/lad/trunk/ganv";
-    rev = rev;
-    sha256 = "0wi87ks2xjma979d9hy82wmlm06g4sr0pm3b1n3zv27y52wrf7fl";
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l";
   };
 
   buildInputs = [ graphviz gtk gtkmm pkgconfig python ];
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 7c78ca3ed6fb1..c397013750ba2 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
-, postgresql, mysql, libgeotiff }:
+, postgresql, mysql, libgeotiff, python, pythonPackages}:
 
-composableDerivation.composableDerivation {} (fixed: {
-  name = "gdal-1.7.1";
+composableDerivation.composableDerivation {} (fixed: rec {
+  name = "gdal-1.11.0";
 
   src = fetchurl {
-    url = ftp://ftp.remotesensing.org/gdal/gdal171.zip;
-    md5 = "f5592cff69b239166c9b64ff81943b1a";
+    url = "http://download.osgeo.org/gdal/1.11.0/${name}.tar.gz";
+    md5 = "9fdf0f2371a3e9863d83e69951c71ec4";
   };
 
-  buildInputs = [ unzip libjpeg libtiff ];
+  buildInputs = [ unzip libjpeg libtiff python pythonPackages.numpy];
 
   # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults
   preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0";
@@ -22,6 +22,7 @@ composableDerivation.composableDerivation {} (fixed: {
     "--with-pg=${postgresql}/bin/pg_config"
     "--with-mysql=${mysql}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
+    "--with-python"    # optional
   ];
 
   meta = {
diff --git a/pkgs/development/libraries/gdome2/default.nix b/pkgs/development/libraries/gdome2/default.nix
index 516fb93298339..f16a39e6ab0a6 100644
--- a/pkgs/development/libraries/gdome2/default.nix
+++ b/pkgs/development/libraries/gdome2/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
     description = "DOM C library developped for the Gnome project";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
new file mode 100644
index 0000000000000..c897609ee595a
--- /dev/null
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "gecode-${version}";
+  version = "4.3.0";
+
+  src = fetchurl {
+    url = "http://www.gecode.org/download/${name}.tar.gz";
+    sha256 = "18a1nd6sxqqh05hd9zwcgq9qhqrr6hi0nbzpwpay1flkv5gvg2d7";
+  };
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = http://www.gecode.org;
+    description = "Toolkit for developing constraint-based systems";
+    platforms = platforms.all;
+    maintainers = [ maintainers.manveru ];
+  };
+}
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 9ec88799d0dd1..5127311e7c919 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "glew-1.10.0";
+  name = "glew-1.11.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/glew/${name}.tgz";
-    sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
+    sha256 = "1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9";
   };
 
   nativeBuildInputs = [ x11 libXmu libXi ];
@@ -42,9 +42,11 @@ stdenv.mkDerivation rec {
   ] ++ optional (stdenv.cross.libc == "msvcrt") "SYSTEM=mingw"
     ++ optional (stdenv.cross.libc == "libSystem") "SYSTEM=darwin";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OpenGL extension loading library for C(++)";
     homepage = http://glew.sourceforge.net/;
-    license = ["BSD" "GLX" "SGI-B" "GPL2"]; # License description copied from gentoo-1.4.0 
+    license = licenses.free; # different files under different licenses
+      #["BSD" "GLX" "SGI-B" "GPL2"]
+    platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix
index cd1ba747d7c67..a828148c3d5fb 100644
--- a/pkgs/development/libraries/glibc/2.19/common.nix
+++ b/pkgs/development/libraries/glibc/2.19/common.nix
@@ -60,6 +60,7 @@ stdenv.mkDerivation ({
       ./fix-math.patch
 
       ./cve-2014-0475.patch
+      ./cve-2014-5119.patch
     ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
new file mode 100644
index 0000000000000..cbae03425eb97
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
@@ -0,0 +1,206 @@
+http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co
+
+commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
+Author: Florian Weimer <fweimer@redhat.com>
+Date:   Tue Aug 26 19:38:59 2014 +0200
+
+    __gconv_translit_find: Disable function [BZ #17187]
+    
+    This functionality has never worked correctly, and the implementation
+    contained a security vulnerability (CVE-2014-5119).
+
+2014-08-26  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #17187]
+	* iconv/gconv_trans.c (struct known_trans, search_tree, lock,
+	trans_compare, open_translit, __gconv_translit_find):
+	Remove module loading code.
+
+--- a/iconv/gconv_trans.c
++++ b/iconv/gconv_trans.c
+@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step,
+   return __GCONV_ILLEGAL_INPUT;
+ }
+ 
+-
+-/* Structure to represent results of found (or not) transliteration
+-   modules.  */
+-struct known_trans
+-{
+-  /* This structure must remain the first member.  */
+-  struct trans_struct info;
+-
+-  char *fname;
+-  void *handle;
+-  int open_count;
+-};
+-
+-
+-/* Tree with results of previous calls to __gconv_translit_find.  */
+-static void *search_tree;
+-
+-/* We modify global data.   */
+-__libc_lock_define_initialized (static, lock);
+-
+-
+-/* Compare two transliteration entries.  */
+-static int
+-trans_compare (const void *p1, const void *p2)
+-{
+-  const struct known_trans *s1 = (const struct known_trans *) p1;
+-  const struct known_trans *s2 = (const struct known_trans *) p2;
+-
+-  return strcmp (s1->info.name, s2->info.name);
+-}
+-
+-
+-/* Open (maybe reopen) the module named in the struct.  Get the function
+-   and data structure pointers we need.  */
+-static int
+-open_translit (struct known_trans *trans)
+-{
+-  __gconv_trans_query_fct queryfct;
+-
+-  trans->handle = __libc_dlopen (trans->fname);
+-  if (trans->handle == NULL)
+-    /* Not available.  */
+-    return 1;
+-
+-  /* Find the required symbol.  */
+-  queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
+-  if (queryfct == NULL)
+-    {
+-      /* We cannot live with that.  */
+-    close_and_out:
+-      __libc_dlclose (trans->handle);
+-      trans->handle = NULL;
+-      return 1;
+-    }
+-
+-  /* Get the context.  */
+-  if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
+-      != 0)
+-    goto close_and_out;
+-
+-  /* Of course we also have to have the actual function.  */
+-  trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
+-  if (trans->info.trans_fct == NULL)
+-    goto close_and_out;
+-
+-  /* Now the optional functions.  */
+-  trans->info.trans_init_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_init");
+-  trans->info.trans_context_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_context");
+-  trans->info.trans_end_fct =
+-    __libc_dlsym (trans->handle, "gconv_trans_end");
+-
+-  trans->open_count = 1;
+-
+-  return 0;
+-}
+-
+-
+ int
+ internal_function
+ __gconv_translit_find (struct trans_struct *trans)
+ {
+-  struct known_trans **found;
+-  const struct path_elem *runp;
+-  int res = 1;
+-
+-  /* We have to have a name.  */
+-  assert (trans->name != NULL);
+-
+-  /* Acquire the lock.  */
+-  __libc_lock_lock (lock);
+-
+-  /* See whether we know this module already.  */
+-  found = __tfind (trans, &search_tree, trans_compare);
+-  if (found != NULL)
+-    {
+-      /* Is this module available?  */
+-      if ((*found)->handle != NULL)
+-	{
+-	  /* Maybe we have to reopen the file.  */
+-	  if ((*found)->handle != (void *) -1)
+-	    /* The object is not unloaded.  */
+-	    res = 0;
+-	  else if (open_translit (*found) == 0)
+-	    {
+-	      /* Copy the data.  */
+-	      *trans = (*found)->info;
+-	      (*found)->open_count++;
+-	      res = 0;
+-	    }
+-	}
+-    }
+-  else
+-    {
+-      size_t name_len = strlen (trans->name) + 1;
+-      int need_so = 0;
+-      struct known_trans *newp;
+-
+-      /* We have to continue looking for the module.  */
+-      if (__gconv_path_elem == NULL)
+-	__gconv_get_path ();
+-
+-      /* See whether we have to append .so.  */
+-      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
+-	need_so = 1;
+-
+-      /* Create a new entry.  */
+-      newp = (struct known_trans *) malloc (sizeof (struct known_trans)
+-					    + (__gconv_max_path_elem_len
+-					       + name_len + 3)
+-					    + name_len);
+-      if (newp != NULL)
+-	{
+-	  char *cp;
+-
+-	  /* Clear the struct.  */
+-	  memset (newp, '\0', sizeof (struct known_trans));
+-
+-	  /* Store a copy of the module name.  */
+-	  newp->info.name = cp = (char *) (newp + 1);
+-	  cp = __mempcpy (cp, trans->name, name_len);
+-
+-	  newp->fname = cp;
+-
+-	  /* Search in all the directories.  */
+-	  for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
+-	    {
+-	      cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
+-			      trans->name, name_len);
+-	      if (need_so)
+-		memcpy (cp, ".so", sizeof (".so"));
+-
+-	      if (open_translit (newp) == 0)
+-		{
+-		  /* We found a module.  */
+-		  res = 0;
+-		  break;
+-		}
+-	    }
+-
+-	  if (res)
+-	    newp->fname = NULL;
+-
+-	  /* In any case we'll add the entry to our search tree.  */
+-	  if (__tsearch (newp, &search_tree, trans_compare) == NULL)
+-	    {
+-	      /* Yickes, this should not happen.  Unload the object.  */
+-	      res = 1;
+-	      /* XXX unload here.  */
+-	    }
+-	}
+-    }
+-
+-  __libc_lock_unlock (lock);
+-
+-  return res;
++  /* Transliteration module loading has been removed because it never
++     worked as intended and suffered from a security vulnerability.
++     Consequently, this function always fails.  */
++  return 1;
+ }
diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix
new file mode 100644
index 0000000000000..71ac281195b64
--- /dev/null
+++ b/pkgs/development/libraries/gmock/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gmock-${version}";
+
+  src = fetchurl {
+    url = "https://googlemock.googlecode.com/files/${name}.zip";
+    sha256="26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  buildPhase = ''
+    # avoid building gtest
+    make gmock gmock_main
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgmock.a libgmock_main.a $out/lib
+    cp -v -r ../include $out
+    cp -v -r ../src $out
+  '';
+
+  meta = {
+    description = "Google mock: Google's framework for writing C++ mock classes";
+    homepage = https://code.google.com/p/googlemock/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
new file mode 100644
index 0000000000000..04bcc42a032f6
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -0,0 +1,25 @@
+--- ./giscanner/utils.py.orig	2014-08-14 22:05:05.055334080 +0200
++++ ./giscanner/utils.py	2014-08-14 22:05:24.687497334 +0200
+@@ -110,17 +110,11 @@
+     if dlname is None:
+         return None
+ 
+-    # Darwin uses absolute paths where possible; since the libtool files never
+-    # contain absolute paths, use the libdir field
+-    if platform.system() == 'Darwin':
+-        dlbasename = os.path.basename(dlname)
+-        libdir = _extract_libdir_field(la_file)
+-        if libdir is None:
+-            return dlbasename
+-        return libdir + '/' + dlbasename
+-    # From the comments in extract_libtool(), older libtools had
+-    # a path rather than the raw dlname
+-    return os.path.basename(dlname)
++    dlbasename = os.path.basename(dlname)
++    libdir = _extract_libdir_field(la_file)
++    if libdir is None:
++        return dlbasename
++    return libdir + '/' + dlbasename
+ 
+ 
+ def extract_libtool(la_file):
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 7686fb3083839..4b7ec1f41163f 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./absolute_shlib_path.patch ];
+
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
     homepage    = http://live.gnome.org/GObjectIntrospection;
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 9ffccac1e0f48..cd8edcb1b2653 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.1";
+  name = "gperftools-2.2.1";
 
   src = fetchurl {
-    url = "https://gperftools.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0ks9gsnhxrs2vccc6ha9m8xmj83lmw09xcws4zc0k57q4jcy5bgk";
+    url = "https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.2.1.tar.gz";
+    sha256 = "04zkz5mh4vzcc7cx72b21bq70xy7y5kq9gsk4nbssxk5wlqggy2n";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
@@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/p/gperftools/;
     description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index ae3b53b4f44ff..a84d96edca942 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -11,16 +11,24 @@ let
     "${gnupg}/bin/gpg2";
 in
 stdenv.mkDerivation rec {
-  name = "gpgme-1.4.3";
-  
+  name = "gpgme-1.5.1";
+
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2";
-    sha256 = "15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d";
+    sha256 = "1qqi9bxwxxsc4r15j7drclgp0w8jk9nj3h2fsivk4c7brvw3lbvc";
   };
-  
+
   propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
 
   nativeBuildInputs = [ pkgconfig gnupg ];
 
   configureFlags = "--with-gpg=${gpgPath}";
+
+  meta = {
+    homepage = "http://www.gnupg.org/related_software/gpgme";
+    description = "Library for making GnuPG easier to use";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index d86e450477dc3..a02af7f0cd75b 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc
 , faacSupport ? false, faac ? null
 , faad2, libass, libkate, libmms
-, libmodplug, mpeg2dec, mpg123 
+, libmodplug, mpeg2dec, mpg123
 , openjpeg, libopus, librsvg
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls
@@ -10,7 +10,7 @@
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.4.0";
+  name = "gst-plugins-bad-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z";
+    sha256 = "0268db2faaf0bb22e5b709a11633abbca4f3d289b1f513bb262d0bf3f53e19ae";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 9ae5f194fa22c..3b9e94f4c658a 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.4.0";
+  name = "gst-plugins-base-1.4.1";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx";
+    sha256 = "aea9e25be6691bd3cc0785d005b2b5d70ce313a2c897901680a3f7e7cab5a499";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index a99c0f14ecc3a..8e9a2b87a017c 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
-, glib 
+, glib
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.4.0";
+  name = "gstreamer-1.4.1";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3";
+    sha256 = "5638f75003282135815c0077d491da11e9a884ad91d4ba6ab3cc78bae0fb452e";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 69ffa81cb25b8..176814c5ecd15 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.4.0";
+  name = "gst-plugins-good-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8";
+    sha256 = "8559d4270065b30ed5c49b826e1b7a3a2bd5ee9a340ae745a2ae3f9718e4c637";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index ee4b3c392ddbc..e25492c1d13b9 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -6,7 +6,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.4.0";
+  name = "gst-libav-1.4.1";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68";
+    sha256 = "fc125521187fa84f3210269a0eecc51f8a856802f1ca4bb251f118dab90c5a9d";
   };
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index da37280af99ee..6a80514e8a1cd 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.4.0";
+  name = "gst-plugins-ugly-1.4.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k";
+    sha256 = "25440435ac4ed795d213f2420a0e7355e4a2e2e76d1f9d020b2073f815e8b071";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index a59e3d07cb445..787cd4066c0ac 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -24,11 +24,12 @@ stdenv.mkDerivation rec {
     cp -v -r ../src $out
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     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 ];
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ zoomulator ];
   };
 }
 
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 54023f29a07fa..c9098fc085023 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
-  version = "3.0.4";
-  
+  version = "3.0.6";
+
   src = fetchurl {
     url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.gz";
-    sha256 = "19z48gfbraasrxai7qdkxxvky0kwifkkzqz0jqcskhcr1ikqxgzs";
+    sha256 = "1hqaddgzxjw9lpsphankld6a8bpm92hfv46kp99cgmj82rdjwdq1";
   };
-  
+
   buildInputs = [ aspell pkgconfig gtk3 enchant intltool ];
   propagatedBuildInputs = [ enchant ];
 
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
+  meta = {
+    homepage = "http://gtkspell.sourceforge.net/";
+    description = "Word-processor-style highlighting GtkTextView widget";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
new file mode 100644
index 0000000000000..d24ec46d90532
--- /dev/null
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl
+, pkgconfig
+, gtk3, glib, glibmm, gtkmm3, gtkspell3
+}:
+
+let
+  version = "3.0.3";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "gtkspellmm-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gtkspell/gtkspellmm/" +
+          "${name}.tar.gz";
+    sha256 = "f9dcc0991621c08e7a972f33487afd6b37491468f0b654f50c741a7e6d810624";
+  };
+
+  propagatedBuildInputs = [
+    gtkspell3
+  ];
+
+  buildInputs = [
+    pkgconfig
+    gtk3 glib glibmm gtkmm3
+  ];
+
+  meta = with stdenv.lib; {
+    description = "C++ binding for the gtkspell library";
+    homepage = http://gtkspell.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 8340660e39235..45cdc5be02b1a 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,11 +8,11 @@
 # (icu is a ~30 MB dependency, the rest is very small in comparison)
 
 stdenv.mkDerivation rec {
-  name = "harfbuzz-0.9.33";
+  name = "harfbuzz-0.9.35";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
-    sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk";
+    sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index 53eea4f738deb..d7a8474bd5b21 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Boolean";
-  version = "0.2.1";
-  sha256 = "0vi09icwc254mbx85lf1n81mx4hr2sdf61a4njaqa91cf046sjlr";
+  version = "0.2.2";
+  sha256 = "1awi9ff2gb9gddalzn2hgp8klvcsizicqpd7xb5fds5j3278qrdz";
   meta = {
     description = "Generalized booleans and numbers";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index d2dea8158197c..95d346cd9f351 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.2.4";
-  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
+  version = "1.3.1";
+  sha256 = "15d52x0xr0klkfp9jh9i2aqki8gkm805mm6yk53f3ky92vdylg6q";
   buildDepends = [
     cairo Chart colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
index 002b762fbac24..6b90954c4a7af 100644
--- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-diagrams";
-  version = "1.2.4";
-  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
+  version = "1.3.1";
+  sha256 = "0p959m350rj0fl91f94c0gcxnzgy8yrz27naw9ciqi36za7sxl6j";
   buildDepends = [
     blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
     diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Diagrams backend for Charts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index 9dbb3c8ae9a9a..7e6f7d794af3a 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -1,12 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cairo, Chart, ChartCairo, colour, gtk, mtl, time }:
+{ cabal, cairo, Chart, ChartCairo, colour, dataDefaultClass, gtk
+, mtl, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.2.4";
-  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
-  buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
+  version = "1.3.1";
+  sha256 = "1bnhwiabwjhry6pfwi9xs4zg23vycqx3rpbc5qs7773sij93v7bj";
+  buildDepends = [
+    cairo Chart ChartCairo colour dataDefaultClass gtk mtl time
+  ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "Utility functions for using the chart library with GTK";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index d5696a562da43..94e40a28afaf7 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.2.4";
-  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
+  version = "1.3.1";
+  sha256 = "019q77hgv5hyhfpsfs2k1a4qn8fandk1nj7xkzn00z21jqhman2s";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix
index 30289ed9d0863..be383fd4143ed 100644
--- a/pkgs/development/libraries/haskell/DAV/default.nix
+++ b/pkgs/development/libraries/haskell/DAV/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "DAV";
-  version = "1.0.1";
-  sha256 = "0j8z7hi5dykimv6da584zgyn8xlvfhg1k9sbhj5ay7ncxszb134k";
+  version = "1.0.2";
+  sha256 = "0xbiq3q8w1cjnh71sfnincir8igvwig734r8schbsps993p2d24b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,7 +17,6 @@ cabal.mkDerivation (self: {
     httpClientTls httpTypes lens mtl network optparseApplicative
     transformers transformersBase utf8String xmlConduit xmlHamlet
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://floss.scru.org/hDAV";
     description = "RFC 4918 WebDAV support";
diff --git a/pkgs/development/libraries/haskell/HPDF/default.nix b/pkgs/development/libraries/haskell/HPDF/default.nix
index 7dcdbaa8cf995..01b04c77efb0a 100644
--- a/pkgs/development/libraries/haskell/HPDF/default.nix
+++ b/pkgs/development/libraries/haskell/HPDF/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "http://www.alpheccar.org";
     description = "Generation of PDF documents";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix
index 5908498bd0a78..76ba94e8bfcac 100644
--- a/pkgs/development/libraries/haskell/HTF/default.nix
+++ b/pkgs/development/libraries/haskell/HTF/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HTF";
-  version = "0.12.0.0";
-  sha256 = "1mbil44gbcl52f84dphxkdvxsyz8bhc532mlq37aqr1bmj54rv0i";
+  version = "0.12.1.0";
+  sha256 = "1symg1y6i47rd1jshj84cwpn5vgmvh6v07jidjg5w5w3syyxqnz4";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
index f5e088a4238b4..aaf84a8418731 100644
--- a/pkgs/development/libraries/haskell/MFlow/default.nix
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MFlow";
-  version = "0.4.5.8";
-  sha256 = "1gfv5ky68dyn8gjjg60c5s9x3dl9xn6j9q43w7vaj9sd1q12wk3c";
+  version = "0.4.5.9";
+  sha256 = "0mqsyx7wkfgvpppqgpjpvzwx79vj7lh4c8afzzj1hgh8z0ilb4ik";
   buildDepends = [
     blazeHtml blazeMarkup caseInsensitive clientsession conduit
     conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
diff --git a/pkgs/development/libraries/haskell/MonadPrompt/default.nix b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
index 3221cbe7f559c..412f24450c48c 100644
--- a/pkgs/development/libraries/haskell/MonadPrompt/default.nix
+++ b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadPrompt";
-  version = "1.0.0.3";
-  sha256 = "0v6svyiajri7c463bz1a1x1nin5s9s7c3s7y0gjc4cn7lhgdsvf2";
+  version = "1.0.0.5";
+  sha256 = "1nmy7dfzrkd8yfv5i9vlmjq9khnyi76ayvkzgcf783v5hfzcn4mh";
   buildDepends = [ mtl ];
   meta = {
     description = "MonadPrompt, implementation & examples";
diff --git a/pkgs/development/libraries/haskell/ShellCheck/default.nix b/pkgs/development/libraries/haskell/ShellCheck/default.nix
new file mode 100644
index 0000000000000..0cd6b125bdf5f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ShellCheck/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, json, mtl, parsec, QuickCheck, regexCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "ShellCheck";
+  version = "0.3.4";
+  sha256 = "07fw8c33p7h1kvg899dwnvqpxpywcidhbw9jhjd8xsma7kz471iw";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ json mtl parsec QuickCheck regexCompat ];
+  testDepends = [ json mtl parsec QuickCheck regexCompat ];
+  meta = {
+    homepage = "http://www.shellcheck.net/";
+    description = "Shell script analysis tool";
+    license = "unknown";
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ad/default.nix b/pkgs/development/libraries/haskell/ad/default.nix
index d53d11385f4de..afe8992aeeafc 100644
--- a/pkgs/development/libraries/haskell/ad/default.nix
+++ b/pkgs/development/libraries/haskell/ad/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, comonad, dataReify, doctest, erf, filepath, free, mtl
-, nats, reflection, tagged, transformers
+{ cabal, comonad, dataReify, doctest, erf, filepath, free, nats
+, reflection, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "ad";
-  version = "4.2.0.1";
-  sha256 = "06vjllcrnr4dv5h3xkcy5zhnhyamp6b6jahpnh2y0i6mp2bdw0pz";
+  version = "4.2.1";
+  sha256 = "05ndr26lsc4xa18vfb3qdjcp03gsq2bhc8dc0yr5g1x9dybq6dx2";
   buildDepends = [
-    comonad dataReify erf free mtl nats reflection tagged transformers
+    comonad dataReify erf free nats reflection tagged transformers
   ];
-  testDepends = [ doctest filepath mtl ];
+  testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/ad";
     description = "Automatic Differentiation";
diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix
index 2090a20fa8dff..d7c86d853fae6 100644
--- a/pkgs/development/libraries/haskell/aeson-qq/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson-qq";
-  version = "0.7.2";
-  sha256 = "1h4agwl8kr6qpy4775pxmaizhlzbwjqb23pxn2vvz9wbm2vnixwk";
+  version = "0.7.4";
+  sha256 = "0wnc9pdjvd15gfkdxzf084393vwmxv2xaxdchzgal1qhwa1mak4v";
   buildDepends = [ aeson haskellSrcMeta parsec text vector ];
   testDepends = [ aeson haskellSrcMeta hspec parsec text vector ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/aeson-utils/default.nix b/pkgs/development/libraries/haskell/aeson-utils/default.nix
index db783c012bc38..dde19573687fd 100644
--- a/pkgs/development/libraries/haskell/aeson-utils/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Utilities for working with Aeson";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.5.nix b/pkgs/development/libraries/haskell/async/2.0.1.6.nix
index a4251e9e80b6a..6c1aed15eab37 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.5.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.6.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "async";
-  version = "2.0.1.5";
-  sha256 = "0g587b64zgn971qb2lh846ihg4z89037f18821kyaqsgixasq4yd";
+  version = "2.0.1.6";
+  sha256 = "06fzkqjliccxqiygms7v1xff3wlkg54n9xwzv7m1yxylkzlikjkz";
   buildDepends = [ stm ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix
index b8e2104f73900..a608386624877 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, deepseq, QuickCheck, scientific, testFramework
-, testFrameworkQuickcheck2, text
+, testFrameworkQuickcheck2, text, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "attoparsec";
-  version = "0.12.1.1";
-  sha256 = "0whj2wscw9pdf6avnhnqiapsllh6228j4hifyfvr4v0w663plh7p";
+  version = "0.12.1.2";
+  sha256 = "1vazyr3fdahdg1q503sbj0zv4xj7sm7j32mjm856bm51j2s0rhlc";
   buildDepends = [ deepseq scientific text ];
   testDepends = [
     deepseq QuickCheck scientific testFramework
-    testFrameworkQuickcheck2 text
+    testFrameworkQuickcheck2 text vector
   ];
   meta = {
     homepage = "https://github.com/bos/attoparsec";
diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix
index e047e938dae2e..edfcbe4e342bd 100644
--- a/pkgs/development/libraries/haskell/auto-update/default.nix
+++ b/pkgs/development/libraries/haskell/auto-update/default.nix
@@ -1,12 +1,11 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hspec }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "auto-update";
-  version = "0.1.1.2";
-  sha256 = "0901zqky70wyxl17vwz6smhnpsfjnsk0f2xqiyz902vl7apx66c6";
-  testDepends = [ hspec ];
+  version = "0.1.1.3";
+  sha256 = "06izsfd3xiragzac682vg3bmr6947y8s4yr2r7rip7qjvsja2yhy";
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Efficiently run periodic, on-demand actions";
diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix
index 3df47d9561869..8f0818f43d615 100644
--- a/pkgs/development/libraries/haskell/aws/default.nix
+++ b/pkgs/development/libraries/haskell/aws/default.nix
@@ -3,16 +3,17 @@
 { cabal, aeson, attoparsec, base16Bytestring, base64Bytestring
 , blazeBuilder, byteable, caseInsensitive, cereal, conduit
 , conduitExtra, cryptohash, dataDefault, errors, filepath
-, httpConduit, httpTypes, liftedBase, monadControl, mtl, network
-, QuickCheck, quickcheckInstances, resourcet, safe, scientific
-, tagged, tasty, tastyQuickcheck, text, time, transformers
-, unorderedContainers, utf8String, vector, xmlConduit
+, httpClient, httpConduit, httpTypes, liftedBase, monadControl, mtl
+, network, QuickCheck, quickcheckInstances, resourcet, safe
+, scientific, tagged, tasty, tastyQuickcheck, text, time
+, transformers, transformersBase, unorderedContainers, utf8String
+, vector, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "aws";
-  version = "0.10.3";
-  sha256 = "042vx5nhafvgw0crymkw8pyhiawhpxwj03n1k538y2wr181hmz5f";
+  version = "0.10.5";
+  sha256 = "1d82q2477wp08zavlkzsksalbkiczz3vzy17ijk2z5xsw5yslqnj";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -23,9 +24,11 @@ cabal.mkDerivation (self: {
     unorderedContainers utf8String vector xmlConduit
   ];
   testDepends = [
-    aeson errors mtl QuickCheck quickcheckInstances tagged tasty
-    tastyQuickcheck text transformers
+    aeson errors httpClient liftedBase monadControl mtl QuickCheck
+    quickcheckInstances resourcet tagged tasty tastyQuickcheck text
+    time transformers transformersBase
   ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://github.com/aristidb/aws";
diff --git a/pkgs/development/libraries/haskell/base-prelude/default.nix b/pkgs/development/libraries/haskell/base-prelude/default.nix
index 824576293f45d..1799fa6a6bae7 100644
--- a/pkgs/development/libraries/haskell/base-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/base-prelude/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base-prelude";
-  version = "0.1.3";
-  sha256 = "07s5j538zxd0hlazqqbz4nwa82rcrmv25v7jr6nxafmgn83mkqhx";
+  version = "0.1.4";
+  sha256 = "10xvzkzlmyrq0mi6056rl6hq4bga1k1c6671b1bxjhgzgqrzpjpz";
   meta = {
     homepage = "https://github.com/nikita-volkov/base-prelude";
     description = "The most complete prelude formed from only the \"base\" package";
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
index ab462229aa5d1..d5a33db11ac7a 100644
--- a/pkgs/development/libraries/haskell/basic-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "basic-prelude";
-  version = "0.3.8";
-  sha256 = "0lywnsds0q1nr466s3pc2izfr58kp23z7ing9k7dlgbmh9cqxypg";
+  version = "0.3.9";
+  sha256 = "0f2l8xryagl1f0d30gq1hhydjnn77qhhwgg9l44gvqn30y2n66h7";
   buildDepends = [
     hashable liftedBase ReadArgs safe systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index c031633c23316..4dd5376cad35e 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder";
-  version = "0.3.3.2";
-  sha256 = "038ig1a1iz0hc36l53f5g7h6aiz7b1lggq1d04y3ql9a0553vd40";
+  version = "0.3.3.4";
+  sha256 = "12xgmi8bc3h3cfk31rrfaklmwvyxgdwzwmxzw22yxd0dd8g11hg5";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index e29b4c0252104..16c967d78a20c 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-html";
-  version = "0.7.0.2";
-  sha256 = "0yqgm5nrryx0qlz9qhpbfxvkwjdbl9876v4gnn0src81j9dzcx2v";
+  version = "0.7.0.3";
+  sha256 = "1jn3vvrxb3ifxb5yzs76pjlk8c366xg1sab7qlw9a4kwmigvl6vx";
   buildDepends = [ blazeBuilder blazeMarkup text ];
   testDepends = [
     blazeBuilder blazeMarkup HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix
index d4b52d5443627..cdea333abcde4 100644
--- a/pkgs/development/libraries/haskell/blaze-markup/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-markup";
-  version = "0.6.1.0";
-  sha256 = "0ydk34y1j8bssdiqw6m70383dh4khbcac3jd7fpr37cx7ighlp7l";
+  version = "0.6.1.1";
+  sha256 = "1ah6fgfqsmarq8g4gw81yhckz4pclb2ifxv237cqz5zhy9il4j5d";
   buildDepends = [ blazeBuilder text ];
   testDepends = [
     blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix
index b5d5bc74f8024..3747b2cc877c3 100644
--- a/pkgs/development/libraries/haskell/boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/boomerang/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "boomerang";
-  version = "1.4.3";
-  sha256 = "1i72mrl8n2cbrdi05zn37y1339r13vzvmrcc1zbkcak4c7r004zw";
+  version = "1.4.4";
+  sha256 = "0ik2wxcvz2y3bn3r2p9kzjiy78vjhxyz4fn3nkaz5wl3jmh4gydf";
   buildDepends = [ mtl text ];
   meta = {
     description = "Library for invertible parsing and printing";
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
deleted file mode 100644
index 205b05f30d891..0000000000000
--- a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, lens, linear, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2, testFrameworkTh
-}:
-
-cabal.mkDerivation (self: {
-  pname = "boundingboxes";
-  version = "0.1.1";
-  sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0";
-  buildDepends = [ lens linear ];
-  testDepends = [
-    lens linear QuickCheck random testFramework
-    testFrameworkQuickcheck2 testFrameworkTh
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/fumieval/boundingboxes";
-    description = "The type for 2D bounding box";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix b/pkgs/development/libraries/haskell/boundingboxes/default.nix
index 686f4ffbbabed..ab5cfabad4481 100644
--- a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
+++ b/pkgs/development/libraries/haskell/boundingboxes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "boundingboxes";
-  version = "0.2";
-  sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp";
+  version = "0.2.2";
+  sha256 = "09yj85ikpdgzbibpdk0mw9vcaklmqlbhwpm6knz595596wr25fcx";
   buildDepends = [ lens ];
   testDepends = [
     lens linear QuickCheck random testFramework
@@ -16,7 +16,7 @@ cabal.mkDerivation (self: {
   doCheck = false;
   meta = {
     homepage = "https://github.com/fumieval/boundingboxes";
-    description = "The type for 2D bounding box";
+    description = "A generic boundingbox for an arbitrary vector";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/bv/default.nix b/pkgs/development/libraries/haskell/bv/default.nix
index 4a2be6244e766..1e12288624fca 100644
--- a/pkgs/development/libraries/haskell/bv/default.nix
+++ b/pkgs/development/libraries/haskell/bv/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bv";
-  version = "0.2.2";
-  sha256 = "0d5hscjakp7dwifa4l8xikyip45y402kf9pbmpfmmnybja23zhg0";
+  version = "0.3.0";
+  sha256 = "0r2bp39ilwq3zx38spbx5qrpccwm255ax2skab3i7jxjmf7yj025";
   isLibrary = true;
   isExecutable = true;
   meta = {
@@ -13,7 +13,6 @@ cabal.mkDerivation (self: {
     description = "Bit-vector arithmetic library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytes/default.nix b/pkgs/development/libraries/haskell/bytes/default.nix
index 4a8877b6a59d2..4f6387781c262 100644
--- a/pkgs/development/libraries/haskell/bytes/default.nix
+++ b/pkgs/development/libraries/haskell/bytes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bytes";
-  version = "0.14.1";
-  sha256 = "023sdwdirvigrdg03f6jrdndm6pkqsmsrwz9ji57dpqg4f5k9jzk";
+  version = "0.14.1.1";
+  sha256 = "11bsl31352h5lj7ad68byqqc27d5iz53kwx7b433l44g9kaijrvc";
   buildDepends = [
     binary cereal mtl text time transformers transformersCompat void
   ];
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
index 95ead17f01f5d..a082a9ef2af10 100644
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -1,18 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, HUnit, languageC, shelly, testFramework
-, testFrameworkHunit, text, yaml
+{ cabal, dlist, filepath, HUnit, languageC, shelly, testFramework
+, testFrameworkHunit, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "c2hs";
-  version = "0.17.2";
-  sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk";
+  version = "0.18.2";
+  sha256 = "0rkarj8y8sj83svjz9jivrr1dh2ryky4sb35cxlyxv623bl6sc1x";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ filepath languageC ];
+  buildDepends = [ dlist filepath languageC ];
   testDepends = [
-    filepath HUnit shelly testFramework testFrameworkHunit text yaml
+    filepath HUnit shelly testFramework testFrameworkHunit text
+    transformers
   ];
   jailbreak = true;
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
index 2f2b59b597a66..c96fab45c1925 100644
--- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-cargs";
-  version = "0.7.2";
-  sha256 = "03095w08ff3g57qzx9dziv61q9x1rvqyph4lvxkccd1is2g1wywb";
+  version = "0.7.3";
+  sha256 = "10707nja5j9hbx5yj7pq8s9zgfx21n36r4xhs71g70g6hwpciqjb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/cabalg/default.nix b/pkgs/development/libraries/haskell/cabalg/default.nix
new file mode 100644
index 0000000000000..62dea42b3d5e9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabalg/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "cabalg";
+  version = "0.2.9";
+  sha256 = "02brl9b1g3cyw5nmk0mih073kbszpc6g2nqgs0sh93h7y5naf5kp";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    description = "alias for cabal install from given git repo";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ dmalikov ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix
index c8c544610e3b0..96b5bc114a337 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "case-insensitive";
-  version = "1.2.0.0";
-  sha256 = "0ybdmqaqh9hdl3dl5kx8qhs4b67g78fhnkqnd3y2lpgqjvhnbzp4";
+  version = "1.2.0.1";
+  sha256 = "1hnckzi6yq3332fx4b140lwa9p6x69rlpaw6y1pmldj2h9nsxl6m";
   buildDepends = [ deepseq hashable text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
index c8cb347f10afc..0ae9782a33b8e 100644
--- a/pkgs/development/libraries/haskell/cassava/default.nix
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cassava";
-  version = "0.4.1.0";
-  sha256 = "0whky3mavmprr8cgnzlg2ich99w09bdlks8rg6z9m1x86q66ivw2";
+  version = "0.4.2.0";
+  sha256 = "1v1izdjd4maqrlpm4cf2xpackpjp1i4vg1s7mzq90dwa6r9572x3";
   buildDepends = [
     attoparsec blazeBuilder deepseq text unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
index e15d10bd45b35..baad294335826 100644
--- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal-conduit";
-  version = "0.7.2.2";
-  sha256 = "1syqilka5rv2j3yp419f2wdrcfw8js6i2p7qif4yxvlkm2hkvzzk";
+  version = "0.7.2.3";
+  sha256 = "0s1s8jm25wxj44x44vjz4kz5qblkyjaz7f8rw5i81bzam32afj9s";
   buildDepends = [ cereal conduit resourcet transformers ];
   testDepends = [ cereal conduit HUnit mtl resourcet transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/checkers/default.nix b/pkgs/development/libraries/haskell/checkers/default.nix
index fb7e86fc75f1e..65f9d20a19af1 100644
--- a/pkgs/development/libraries/haskell/checkers/default.nix
+++ b/pkgs/development/libraries/haskell/checkers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "checkers";
-  version = "0.3.2";
-  sha256 = "0v8i6754syvjh2p5qdqh95j3swkar9077gidsnahwk9h6qfsx6r3";
+  version = "0.4.1";
+  sha256 = "19ndgbivd07vchsqs6z9iqjl2jldbq7h4skqc9acracd9xyq1vdr";
   buildDepends = [ QuickCheck random ];
   meta = {
     description = "Check properties on standard classes and data structures";
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
index 286a20f2ba223..b2a85e356996a 100644
--- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude-conduit";
-  version = "0.9.4";
-  sha256 = "07ggdd3c47bs0pj4hl8vl19k2jlbka73pq7x0m4rsgrrjxc5pr1r";
+  version = "0.9.5";
+  sha256 = "1m26d463h5hxiyc4dm6fwbyjwzmd0bwl2blwpgp4wqnyvspz195m";
   buildDepends = [
     classyPrelude conduit conduitCombinators monadControl resourcet
     systemFileio transformers void
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index 018a54f42d753..b3f94ea7bdfe3 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.9.4";
-  sha256 = "1pxg515dg174minvajaxl3sqpqjm862pgfpf7n2ynw5cqmaxngxa";
+  version = "0.9.5";
+  sha256 = "1gd5z4gd62v3k59psmrj41ca6mly4fjqgf4l80smv89kc2s2w809";
   buildDepends = [
     basicPrelude chunkedData enclosedExceptions exceptions hashable
     liftedBase monoTraversable mtl primitive semigroups stm
diff --git a/pkgs/development/libraries/haskell/clock/default.nix b/pkgs/development/libraries/haskell/clock/default.nix
index 3c064d1db2d38..60bea4fed8395 100644
--- a/pkgs/development/libraries/haskell/clock/default.nix
+++ b/pkgs/development/libraries/haskell/clock/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "clock";
-  version = "0.4.0.1";
-  sha256 = "1bn6dalank30l680iifyam0mg9izxbyscgq0vmr1aw5brba5kv6j";
+  version = "0.4.1.1";
+  sha256 = "0xbhx16sa0rwidaljp8lklb5ifhdc8cccbyznrpxqqwh8icm5pjp";
   meta = {
     homepage = "http://corsis.github.com/clock/";
     description = "High-resolution clock functions: monotonic, realtime, cputime";
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 829f7be4fba09..a3c7cd1773fe4 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cmdargs";
-  version = "0.10.9";
-  sha256 = "12phn22iri2v65gbxzl580mikkj05rwx4sjn5c31f871wp0538my";
+  version = "0.10.10";
+  sha256 = "17glliishfxc01ippgzb8v12i40id2b6l18rqp6wfygbb7f93rvv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath transformers ];
diff --git a/pkgs/development/libraries/haskell/code-builder/default.nix b/pkgs/development/libraries/haskell/code-builder/default.nix
index 77883f5a07ad1..dc7881b51d0cd 100644
--- a/pkgs/development/libraries/haskell/code-builder/default.nix
+++ b/pkgs/development/libraries/haskell/code-builder/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Simple system for generating code";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/compdata-param/default.nix b/pkgs/development/libraries/haskell/compdata-param/default.nix
new file mode 100644
index 0000000000000..2ab1ecd9131fb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compdata-param/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, compdata, HUnit, mtl, testFramework, testFrameworkHunit
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compdata-param";
+  version = "0.8.0.2";
+  sha256 = "0496i1vnawl7m7ymvf5hl3kxy352rnhxy2gni4xkfz36psnnr7fs";
+  buildDepends = [ compdata mtl transformers ];
+  testDepends = [
+    compdata HUnit mtl testFramework testFrameworkHunit transformers
+  ];
+  meta = {
+    description = "Parametric Compositional Data Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
index 17598dda06bdb..4c194279b4ed2 100644
--- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-combinators";
-  version = "0.2.8.2";
-  sha256 = "1x2g333ygiv4jvwx4lw579kwx1z5m80cqfqgzv0pi5xdxcagy1ha";
+  version = "0.2.8.3";
+  sha256 = "1a3dysrxg7mhm9naqj6vq45k0vxihar7pn650rb8aw22k85ifmkz";
   buildDepends = [
     base16Bytestring base64Bytestring chunkedData conduit conduitExtra
     monadControl monoTraversable mwcRandom primitive resourcet
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index 1cb2b0efe6cf5..8443a4909fc16 100644
--- a/pkgs/development/libraries/haskell/conduit-extra/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-extra";
-  version = "1.1.3.2";
-  sha256 = "15flywjw5ha8cgn4yznwlnx31ls4y82gfmvbniby0d51y4x8dmgq";
+  version = "1.1.4";
+  sha256 = "117mzy0qm8w2kzjcshcwcfbx01ybbhn63vdgzllc7cb9x4cj2ibv";
   buildDepends = [
     attoparsec blazeBuilder conduit filepath monadControl network
     primitive resourcet stm streamingCommons text transformers
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index f3c27ebae955a..5b82a2f26a089 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.1.7";
-  sha256 = "0xk2his7qbidnzs56xcgnjipbnqmmnh74qy8dfvbznkkqhxdzmz6";
+  version = "1.2.0.2";
+  sha256 = "0gr4vqyvy3jdc1l7sinwr5dgmwzv7dq2z1npwvmbxz85bq89rmd9";
   buildDepends = [
     exceptions liftedBase mmorph monadControl mtl resourcet
     transformers transformersBase void
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 7cac43769f814..5a5ce89f732d1 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "1.0.0.2";
-  sha256 = "1r30vcrplilj3silnrmn0r5m0df27icdsgd5hx35li9yrs862n95";
+  version = "1.0.1.0";
+  sha256 = "1mp4rm6jd8g38yyhfrxk1xzhp6mxrwwns9kl6494ylsdpsv0v4ll";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/crypto-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index 7c1d6308131d3..2a83b24867408 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-api";
-  version = "0.13";
-  sha256 = "00zw9cymjhsdiy2p4prjvmmy7xnk12qggdpvxrp0hjnwlakfvyb2";
+  version = "0.13.2";
+  sha256 = "1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak";
   buildDepends = [ cereal entropy tagged transformers ];
   meta = {
     homepage = "https://github.com/TomMD/crypto-api";
diff --git a/pkgs/development/libraries/haskell/crypto-random/default.nix b/pkgs/development/libraries/haskell/crypto-random/default.nix
index 878eb3d2c71f7..c7053cbf1e39d 100644
--- a/pkgs/development/libraries/haskell/crypto-random/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-random/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-random";
-  version = "0.0.7";
-  sha256 = "1dj63y85l3f1x7fw8j7hykz56ajd38iikl3f8ygaz8r95pd1zjxw";
+  version = "0.0.8";
+  sha256 = "058ilm05ni5ribggx25cfrhsv1z0abvgxzf3wd3d6qqq58p5wbkv";
   buildDepends = [ securemem vector ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-random";
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index c6daa8b5fdd5b..7e09fc12f70fa 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cuda";
-  version = "0.6.0.1";
-  sha256 = "03wnkqgdvy6h2dqcmj0xlag3am3s3rjzhx0kqaq362mq365n9y51";
+  version = "0.6.5.0";
+  sha256 = "0q4c2xgffkchn8kxhiwjganmb3ki4yjhx5665zwfd18bgvmlnp60";
   buildTools = [ c2hs ];
   extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index 3a695fa82037d..cd42f175b9696 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -7,13 +7,14 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-cairo";
-  version = "1.2.0.1";
-  sha256 = "0y7llxxs34i814nc3c79ykv75znplzqq7njvq7a5fyxl81ji0z4c";
+  version = "1.2.0.2";
+  sha256 = "0qm1s56kg7l96p5cvmdxc0g8r8ibh7vpyavp64178mdy62b6xavh";
   buildDepends = [
     cairo colour dataDefaultClass diagramsCore diagramsLib filepath
     hashable JuicyPixels lens mtl optparseApplicative pango split
     statestack time transformers vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Cairo backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index f1044870f3a4f..832617d64b7cc 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "1.1.2.1";
-  sha256 = "05jsqc9wm87hpnaclzfa376m5z8lnp4qgll6lqnfa5m49cqcabki";
+  version = "1.1.2.2";
+  sha256 = "1a9ayqyffgwq8k9d8l12s6l1pqv27fvzngsklnh3y1bgp20d2z01";
   buildDepends = [
     arithmoi circlePacking colour dataDefault dataDefaultClass
     diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index b15f05dbf27b3..ea5b1aad27fa3 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "1.2.0.2";
-  sha256 = "0ylrsldq7nmqvprgwbw7bkwp31zhgbyxjx462lcayk0lbhqb5k5p";
+  version = "1.2.0.3";
+  sha256 = "1rgyv7yywmqk3s2cmv5s923421ybj6mnii7jgxri56jzw0agfyq7";
   buildDepends = [
     active colour dataDefaultClass diagramsCore dualTree filepath
     fingertree hashable intervals JuicyPixels lens MemoTrie
diff --git a/pkgs/development/libraries/haskell/diagrams/rasterific.nix b/pkgs/development/libraries/haskell/diagrams/rasterific.nix
index c2e85058a906f..6d20bcd237664 100644
--- a/pkgs/development/libraries/haskell/diagrams/rasterific.nix
+++ b/pkgs/development/libraries/haskell/diagrams/rasterific.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-rasterific";
-  version = "0.1.0.1";
-  sha256 = "1bgrwnrdhlnbcv5ra80x2nh5yr5bzz81f517zb0ws2y07l072gwm";
+  version = "0.1.0.2";
+  sha256 = "16pwpa34hxf8qd7mf3zn4k7sr6p2pkvag3c77iwcs5qwqf5vhyf9";
   buildDepends = [
     dataDefaultClass diagramsCore diagramsLib filepath FontyFruity
     JuicyPixels lens mtl optparseApplicative Rasterific split
diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
index aae120d568181..4c1ca9cd9aeb5 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-heist";
-  version = "0.8.5.0";
-  sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87";
+  version = "0.8.6.0";
+  sha256 = "0n73hw8xl70x7c3hn4hz1qqijvvhv0qk30q0c22lnbjaf4n8dki2";
   buildDepends = [
     blazeBuilder digestiveFunctors heist mtl text xmlhtml
   ];
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
index c93a564c3e31b..b6e3f40f9377b 100644
--- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional-tf";
-  version = "0.3";
-  sha256 = "0z3k9962zz652bk2azv9lcms1j06v60hid3iach043dpg5r083qg";
+  version = "0.3.0.1";
+  sha256 = "0gnaylxhjcyvsibq15bw9k4c846l2329yvvl79cdw2jqggfnzxw6";
   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 3435bf57d5c56..9be32b5596a1f 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional";
-  version = "0.13";
-  sha256 = "1nj8h79iq7pirqlj8iw1p782nm05xgym3469x7hlzaz3ig9nwgrg";
+  version = "0.13.0.1";
+  sha256 = "1cn7gyskp0ax5lm5k05p6qp461hirjyhj0k1qyd64fgdmmp81vi6";
   buildDepends = [ numtype time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix
index 610b1a5ec63e7..2cc9682dccb10 100644
--- a/pkgs/development/libraries/haskell/directory-layout/default.nix
+++ b/pkgs/development/libraries/haskell/directory-layout/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     commandQq doctest filepath free hspec lens semigroups temporary
     text transformers unorderedContainers
   ];
+  doCheck = false;
   meta = {
     description = "Directory layout DSL";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
index 12ff67c7f20d8..e922d9ff7be46 100644
--- a/pkgs/development/libraries/haskell/djinn/default.nix
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -4,20 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "djinn";
-  version = "2011.7.23";
-  sha256 = "14748pqzrd1r9jg2vc9v232pi38q99l9zdlia6ashm2v871hp1xv";
+  version = "2014.9.7";
+  sha256 = "1p9dvzb83nlrq8h4brdq5l9dm2zf28rjhsmi7nwmac79p5pk9y2g";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskeline mtl ];
-  preConfigure = self.stdenv.lib.optionalString self.stdenv.isDarwin ''
-    sed -i 's/-Wall -optl-Wl/-Wall/' djinn.cabal
-  '';
   meta = {
-    homepage = "http://www.augustsson.net/Darcs/Djinn/";
     description = "Generate Haskell code from a type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
index 018fac0667022..af3f9e2d52558 100644
--- a/pkgs/development/libraries/haskell/doctest/default.nix
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "doctest";
-  version = "0.9.11";
-  sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr";
+  version = "0.9.11.1";
+  sha256 = "1gzzzwr7f7281mlbfbk74nxr28l70lwfaws4xjfx2v06xazl99db";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ deepseq filepath ghcPaths syb transformers ];
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   doCheck = false;
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4";
   meta = {
-    homepage = "https://github.com/sol/doctest-haskell#readme";
+    homepage = "https://github.com/sol/doctest#readme";
     description = "Test interactive Haskell examples";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 72f3bff14df12..d2fb0964dd999 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "4.3.0.2";
-  sha256 = "01n4jkf6py00841cyf3fiwiay736dpbhda8ia2qgm26q4r4h58gd";
+  version = "4.3.1";
+  sha256 = "1k7aqy3k0ivpbqhym79q49dx41gnrkn1nw2inkm6gv8dy7bj9h6x";
   buildDepends = [
     exceptions free monadControl MonadRandom mtl semigroupoids
     semigroups transformers transformersBase
diff --git a/pkgs/development/libraries/haskell/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
index 70c7a1c7d4f64..3a233c66fb403 100644
--- a/pkgs/development/libraries/haskell/engine-io-snap/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     attoparsecEnumerator engineIo snapCore unorderedContainers
     websockets websocketsSnap
   ];
+  jailbreak = true;
   meta = {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
index f1f9d06c76a78..e4b990f1f2347 100644
--- a/pkgs/development/libraries/haskell/engine-io/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -13,6 +13,7 @@ cabal.mkDerivation (self: {
     aeson async attoparsec base64Bytestring either monadLoops mwcRandom
     stm text transformers unorderedContainers vector websockets
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/engine.io";
     description = "A Haskell implementation of Engine.IO";
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 881a9cd9a0afd..207cc0ea5dac5 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.3.2";
-  sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
+  version = "0.3.3";
+  sha256 = "0px97mims7pbxyh8jqckc14ahdjj7r3hhckzpjqnxpkcisb2c738";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 637f32c39961d..c3b4850f5b254 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "esqueleto";
-  version = "1.4.4";
-  sha256 = "00s52f8l5pbsab83fq8d03xhispyp9mqsh5vvzwiki6kspkj26a0";
+  version = "2.0.2";
+  sha256 = "1r8w3h36fhj77llcfgiq6ww634jymz8fpm86fm17arj7m7ll6rq3";
   buildDepends = [
     conduit monadLogger persistent resourcet tagged text transformers
     unorderedContainers
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
index c00b009c51d73..90e3c5dadfce3 100644
--- a/pkgs/development/libraries/haskell/fay/default.nix
+++ b/pkgs/development/libraries/haskell/fay/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fay";
-  version = "0.20.1.3";
-  sha256 = "1r9a1my8wydxx92xg04kacw90s1r4bms84fvs1w52r73knp5kb6r";
+  version = "0.20.2.0";
+  sha256 = "1xblfsd1rj38nlw0dl56zvvnad3l0bpsncv1k5vjs4h8cmwl1ik2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix
index 37d243097324a..b35f994caaafd 100644
--- a/pkgs/development/libraries/haskell/fb/default.nix
+++ b/pkgs/development/libraries/haskell/fb/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fb";
-  version = "1.0.4";
-  sha256 = "1sp0x5p9l02i2ynvynazhgs5lqqwih997c2fyfp0xi24qsc7ilr2";
+  version = "1.0.5";
+  sha256 = "1y4i6w659v4zm6kxz8fnzrwm0gjv7siqlh1wdsm03rcadkicyxmr";
   buildDepends = [
     aeson attoparsec base16Bytestring base64Bytestring cereal conduit
     conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault
diff --git a/pkgs/development/libraries/haskell/file-location/default.nix b/pkgs/development/libraries/haskell/file-location/default.nix
index 6cff9640cdf47..e027047a9ea5b 100644
--- a/pkgs/development/libraries/haskell/file-location/default.nix
+++ b/pkgs/development/libraries/haskell/file-location/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-location";
-  version = "0.4.5.2";
-  sha256 = "0dyzf2lhh0n4hwbh44qfh6bw9snl4hha9sv76c4ndi7v1rvnx197";
+  version = "0.4.5.3";
+  sha256 = "0d1iqhdac1gcag1d7ch9ia4fm97jpp31m46b794z90bmm6nr29h9";
   buildDepends = [ liftedBase transformers ];
   testDepends = [ liftedBase transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
index 2f04330a3157d..bd0cd070d11df 100644
--- a/pkgs/development/libraries/haskell/foldl/default.nix
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "foldl";
-  version = "1.0.6";
-  sha256 = "1i4pm48x7f8l4gqbb2bgqshx5cx44acr24l75czliq656sqm405i";
+  version = "1.0.7";
+  sha256 = "0mqxibifrlfqnibzy9b2rncy4dyljdz35560ni3rwi8hkyix74a9";
   buildDepends = [ primitive text transformers vector ];
   meta = {
     description = "Composable, streaming, and efficient left folds";
diff --git a/pkgs/development/libraries/haskell/formatting/default.nix b/pkgs/development/libraries/haskell/formatting/default.nix
index 1345ac76243c6..04fd918508139 100644
--- a/pkgs/development/libraries/haskell/formatting/default.nix
+++ b/pkgs/development/libraries/haskell/formatting/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "formatting";
-  version = "5.2";
-  sha256 = "0lmbzm98idy7bzpvaqnk9j6181vakk553smqkf959gn5jdj95z3k";
+  version = "5.4";
+  sha256 = "017fm3pqr2nqpcqmpldr74cvb641hxvybhvnwv8a8vv4ry1vdrk9";
   buildDepends = [ scientific text textFormat time ];
   meta = {
     description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix
index 3d308f6a88fae..4db72b35234ee 100644
--- a/pkgs/development/libraries/haskell/fsnotify/default.nix
+++ b/pkgs/development/libraries/haskell/fsnotify/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random
-, systemFileio, systemFilepath, text, time, uniqueid
-, hinotify, hfsevents
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, hinotify, systemFileio, systemFilepath, tasty
+, tastyHunit, temporaryRc, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "fsnotify";
-  version = "0.0.11";
-  sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq";
-  buildDepends = [ systemFileio systemFilepath text time ] ++
-    (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
+  version = "0.1.0.3";
+  sha256 = "0m6jyg45azk377jklgwyqrx95q174cxd5znpyh9azznkh09wq58z";
+  buildDepends = [
+    async hinotify systemFileio systemFilepath text time
+  ];
   testDepends = [
-    Cabal Glob hspec QuickCheck random systemFileio
-    systemFilepath text time uniqueid
-  ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
+    async systemFileio systemFilepath tasty tastyHunit temporaryRc
+  ];
   doCheck = false;
   meta = {
     description = "Cross platform library for file change notification";
diff --git a/pkgs/development/libraries/haskell/functor-infix/default.nix b/pkgs/development/libraries/haskell/functor-infix/default.nix
new file mode 100644
index 0000000000000..d3e6322a7cbe6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/functor-infix/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "functor-infix";
+  version = "0.0.1";
+  sha256 = "1f8m4nxlr2il9j0ilgw91fhp6mmz5xqlhylavncqwvbcq82362dc";
+  meta = {
+    homepage = "https://github.com/fmap/functor-infix";
+    description = "Compositions of functors";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/generic-aeson/default.nix b/pkgs/development/libraries/haskell/generic-aeson/default.nix
index 9c18b511efc02..008a957717074 100644
--- a/pkgs/development/libraries/haskell/generic-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/generic-aeson/default.nix
@@ -1,19 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, genericDeriving, mtl, tagged, text
-, vector
+, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "generic-aeson";
-  version = "0.1.1.1";
-  sha256 = "14jpma2p4dxmzpwd557igbg7xhgdzp9w9fm6dxa06sgfqxvb7ln1";
+  version = "0.2.0.0";
+  sha256 = "0w7bwmbjsskynyfisnhp4piikdw2jkr4zg24c9ipsp28szy8qsb9";
   buildDepends = [
-    aeson attoparsec genericDeriving mtl tagged text vector
+    aeson attoparsec genericDeriving mtl tagged text
+    unorderedContainers vector
   ];
   meta = {
     description = "Derivation of Aeson instances using GHC generics";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/geniplate/default.nix b/pkgs/development/libraries/haskell/geniplate/default.nix
index 9ab6d2df70950..87e1296330aa9 100644
--- a/pkgs/development/libraries/haskell/geniplate/default.nix
+++ b/pkgs/development/libraries/haskell/geniplate/default.nix
@@ -4,11 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "geniplate";
-  version = "0.6.0.4";
-  sha256 = "1sw1bs3nzbdmvphy5g65pl40y8wdqkgvszx1i6viqjymjq96xv20";
+  version = "0.6.0.5";
+  sha256 = "01cwyf5kql4hf76p1ssqpmhaxyl7rmnmqwv644wgd0j8km8b6szc";
   buildDepends = [ mtl ];
   meta = {
-    description = "Use template Haskell to generate Uniplate-like functions";
+    description = "Use Template Haskell to generate Uniplate-like functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix b/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
deleted file mode 100644
index a9c06e80f8af9..0000000000000
--- a/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, convertible, deepseq, doctest, emacs, filepath
-, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "ghc-mod";
-  version = "4.1.6";
-  sha256 = "093wafaizr2xf7vmzj6f3vs8ch0vpcmwlrja6af6hshgaj2d80qs";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    Cabal convertible deepseq filepath ghcSybUtils hlint ioChoice syb
-    time transformers
-  ];
-  testDepends = [
-    Cabal convertible deepseq doctest filepath ghcSybUtils hlint hspec
-    ioChoice syb time transformers
-  ];
-  buildTools = [ emacs ];
-  doCheck = false;
-  configureFlags = "--datasubdir=${self.pname}-${self.version}";
-  postInstall = ''
-    cd $out/share/$pname-$version
-    make
-    rm Makefile
-    cd ..
-    mkdir -p "$out/share/emacs"
-    mv $pname-$version emacs/site-lisp
-    mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
-    cat - > $out/bin/ghc-mod <<EOF
-    #! ${self.stdenv.shell}
-    COMMAND=\$1
-    shift
-    eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
-    EOF
-    chmod +x $out/bin/ghc-mod
-  '';
-  meta = {
-    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
-    description = "Happy Haskell Programming";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.bluescreen303
-      self.stdenv.lib.maintainers.ocharles
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index 3eefe056218d5..af4b76f7b780a 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -1,21 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Cabal, convertible, deepseq, djinnGhc, doctest, emacs
-, filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint, hspec
-, ioChoice, makeWrapper, monadControl, monadJournal, mtl, split
-, syb, text, time, transformers, transformersBase
+{ cabal, async, Cabal, convertible, deepseq, djinnGhc, doctest
+, emacs, filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint
+, hspec, ioChoice, makeWrapper, monadControl, monadJournal, mtl
+, split, syb, text, time, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "5.0.1.1";
-  sha256 = "0qyl1653dj14ap3035kjj7xl8rsmgpwh32bj2lnwrmdm2223m8a3";
+  version = "5.1.0.2";
+  sha256 = "0jdni0n5qzz0ncaa3ja4b6vcfykbl7swiafak4wyvm9izssjh8ra";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    Cabal convertible deepseq djinnGhc filepath ghcPaths ghcSybUtils
-    haskellSrcExts hlint ioChoice monadControl monadJournal mtl split
-    syb text time transformers transformersBase
+    async Cabal convertible deepseq djinnGhc filepath ghcPaths
+    ghcSybUtils haskellSrcExts hlint ioChoice monadControl monadJournal
+    mtl split syb text time transformers transformersBase
   ];
   testDepends = [
     Cabal convertible deepseq djinnGhc doctest filepath ghcPaths
diff --git a/pkgs/development/libraries/haskell/ghc-server/default.nix b/pkgs/development/libraries/haskell/ghc-server/default.nix
new file mode 100644
index 0000000000000..ac9cb852704d1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-server/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, attoLisp, attoparsec, conduit, conduitExtra
+, ghcPaths, mtl, network, syb, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-server";
+  version = "1.1";
+  sha256 = "1rgrgx9xakq6vy6nanvwzwfvzbfg287pmm8pdm9lbd7kf7ls5ml4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async attoLisp attoparsec conduit conduitExtra ghcPaths mtl network
+    syb text
+  ];
+  meta = {
+    description = "A server interface to GHC";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
index 8c87bcc0dc5f2..6605c43e4dd77 100644
--- a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
+++ b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghcjs-dom";
-  version = "0.1.0.0";
-  sha256 = "0qm43bd4m7w14p6ag643h09pll4fp09j1mzjyqvp0dhal03dc723";
+  version = "0.1.1.0";
+  sha256 = "0ywxkp13n78skbcr0d1m5mgz23xds27sdfxswfc9zjcsb513w3gg";
   buildDepends = [ ghcjsBase mtl text ];
   meta = {
     description = "DOM library that supports both GHCJS and WebKitGTK";
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index f20976b8dcfb4..d912f1c56bb5a 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
-, failure, hashable, HTTP, httpConduit, httpTypes, network, text
-, time, unorderedContainers, vector
+{ cabal, aeson, attoparsec, caseInsensitive, conduit, cryptohash
+, dataDefault, failure, hashable, HTTP, httpConduit, httpTypes
+, network, text, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.11.0";
-  sha256 = "13p0iplxr85fvgx5lird76xchmhh7xpddq900qr02kbvn5mqv607";
+  version = "0.11.1";
+  sha256 = "0s94ivp3c40zhwwfxa6nzzgwh2frfih8as81i0kidx4ca35wf92k";
   buildDepends = [
-    aeson attoparsec caseInsensitive conduit dataDefault failure
-    hashable HTTP httpConduit httpTypes network text time
+    aeson attoparsec caseInsensitive conduit cryptohash dataDefault
+    failure hashable HTTP httpConduit httpTypes network text time
     unorderedContainers vector
   ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 0e0f147bab9f9..e1ce7b180f030 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.10.5";
-  sha256 = "0p2x2l729rwals0kx8ymk6j3fqvlyjvrj6mmh8slcg93h4smwb4j";
+  version = "0.10.5.1";
+  sha256 = "0wi40f34xqqz0q8m14g7ay6yk37c3fkdijydv0di43i20bxixjhv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
index 66e6805ab5461..172d5f3152630 100644
--- a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss-accelerate";
-  version = "1.8.0.0";
-  sha256 = "1hcqgsdk5pjqdr2j4i5614a1r56zfxqx5nc3xpnc4yw6hssan280";
+  version = "1.8.15.0";
+  sha256 = "1nj2rnp2bg3xmi4xbaws9jc7qx3b4qqg9fyvfv13xdav28d7iqb0";
   buildDepends = [ accelerate accelerateCuda gloss ];
   meta = {
     description = "Extras to interface Gloss and Accelerate";
diff --git a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
index 2a51b17dcd5fe..1a21c2632eeaf 100644
--- a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss-raster-accelerate";
-  version = "1.8.0.0";
-  sha256 = "17545lb99iszhmx8f8fan0dm76ps6bc977zs2ramycnybzbb3kyc";
+  version = "1.8.15.0";
+  sha256 = "1fs3ybrzkykslac1zzh6g73lfdfysn6y2fr1pra9hd0a7x5a8j10";
   buildDepends = [ accelerate accelerateCuda gloss glossAccelerate ];
   meta = {
     description = "Parallel rendering of raster images using Accelerate";
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index ce6357baaeb30..079914a84fcd3 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.8.2.1";
-  sha256 = "0wnrss7j7zf4lbmr5rryx7m5qb4pqh7vvz11ksbsfn3d3hf285y2";
+  version = "1.8.2.2";
+  sha256 = "1v3rvx3jidbh98znmnl122rqgg5r9zcl22h5ibzag9h5d31c5vzr";
   buildDepends = [ bmp GLUT OpenGL ];
   meta = {
     homepage = "http://gloss.ouroborus.net";
diff --git a/pkgs/development/libraries/haskell/haddock-api/default.nix b/pkgs/development/libraries/haskell/haddock-api/default.nix
new file mode 100644
index 0000000000000..2f3afa32196ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haddock-api/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, filepath, ghcPaths, haddockLibrary, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock-api";
+  version = "2.15.0";
+  sha256 = "17h5h40ddn0kiqnz6rmz9p0jqvng11lq3xm6lnizwix9kcwl843b";
+  buildDepends = [
+    Cabal deepseq filepath ghcPaths haddockLibrary xhtml
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haddock-library/default.nix b/pkgs/development/libraries/haskell/haddock-library/default.nix
index aece9e35873eb..a7041b3ba28e8 100644
--- a/pkgs/development/libraries/haskell/haddock-library/default.nix
+++ b/pkgs/development/libraries/haskell/haddock-library/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haddock-library";
-  version = "1.1.0";
-  sha256 = "0apqm9nxgxbpvcphaim93q4z67c1cd0vdjz0i1cbr67ymffl69nd";
+  version = "1.1.1";
+  sha256 = "0sjnmbmq1pss9ikcqnhvpf57rv78lzi1r99ywpmmvj1gyva2s31m";
   buildDepends = [ deepseq ];
   testDepends = [ baseCompat deepseq hspec QuickCheck ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 7ebc0de734a33..d8ac50c85a0f7 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -2,39 +2,38 @@
 
 { cabal, binary, blazeHtml, blazeMarkup, cmdargs, cryptohash
 , dataDefault, deepseq, filepath, fsnotify, httpConduit, httpTypes
-, HUnit, lrucache, mtl, network, pandoc, pandocCiteproc, parsec
-, QuickCheck, random, regexBase, regexTdfa, snapCore, snapServer
-, systemFilepath, tagsoup, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, text, time, utillinux
+, HUnit, lrucache, mtl, network, networkUri, pandoc, pandocCiteproc
+, parsec, QuickCheck, random, regexBase, regexTdfa, snapCore
+, snapServer, systemFilepath, tagsoup, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, utillinux
 }:
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.5.4.0";
-  sha256 = "16srkm2fxjw1xg7zaikn49zz4xsz9awddnjm6ibv522k3xf3l24c";
+  version = "4.5.5.0";
+  sha256 = "1igna446dsidlq3f9myclgcdawgvyyjxjk3r3icjra6zgdqd6j4l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     binary blazeHtml blazeMarkup cmdargs cryptohash dataDefault deepseq
-    filepath fsnotify httpConduit httpTypes lrucache mtl network pandoc
-    pandocCiteproc parsec random regexBase regexTdfa snapCore
-    snapServer systemFilepath tagsoup text time
+    filepath fsnotify httpConduit httpTypes lrucache mtl network
+    networkUri pandoc pandocCiteproc parsec random regexBase regexTdfa
+    snapCore snapServer systemFilepath tagsoup text time
   ];
   testDepends = [
     binary blazeHtml blazeMarkup cmdargs cryptohash dataDefault deepseq
     filepath fsnotify httpConduit httpTypes HUnit lrucache mtl network
-    pandoc pandocCiteproc parsec QuickCheck random regexBase regexTdfa
-    snapCore snapServer systemFilepath tagsoup testFramework
+    networkUri pandoc pandocCiteproc parsec QuickCheck random regexBase
+    regexTdfa snapCore snapServer systemFilepath tagsoup testFramework
     testFrameworkHunit testFrameworkQuickcheck2 text time utillinux
   ];
-  patchPhase = ''
-    sed -i -e 's|pandoc-citeproc .*,|pandoc-citeproc,|' hakyll.cabal
-  '';
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-generate/default.nix b/pkgs/development/libraries/haskell/haskell-generate/default.nix
index ad482d33d7b46..342e8d7c93288 100644
--- a/pkgs/development/libraries/haskell/haskell-generate/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-generate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-generate";
-  version = "0.2";
-  sha256 = "0bkaarc40lcw3v2y6qdf91rx21v3w82y62kaadhmmh5ikq99pybw";
+  version = "0.2.1";
+  sha256 = "1b7jy4a83lv9zwkzsgbipv7vlzcj27g1h3az7nxxc2gbmyrc15f4";
   buildDepends = [ haskellSrcExts transformers ];
   testDepends = [ doctest filepath ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
index 9c6997a9db939..0044d6aa0527e 100644
--- a/pkgs/development/libraries/haskell/haskell-packages/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, Cabal, deepseq, either, filepath, haskellSrcExts
-, hseCpp, mtl, optparseApplicative, tagged
+{ cabal, aeson, Cabal, deepseq, filepath, haskellSrcExts, hseCpp
+, mtl, optparseApplicative, tagged, transformers
+, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "haskell-packages";
-  version = "0.2.4.1";
-  sha256 = "014zcq27rwsgj3n4kdgswbppr5yzf3lnj5gnv45r3i5c3rd1mz6k";
+  version = "0.2.4.2";
+  sha256 = "03qg6b6vy9c8j9k91jajkjhswcks64vcdd28606aac0bw68lkjkg";
   buildDepends = [
-    aeson Cabal deepseq either filepath haskellSrcExts hseCpp mtl
-    optparseApplicative tagged
+    aeson Cabal deepseq filepath haskellSrcExts hseCpp mtl
+    optparseApplicative tagged transformers transformersCompat
   ];
   meta = {
     homepage = "http://documentup.com/haskell-suite/haskell-packages";
diff --git a/pkgs/development/libraries/haskell/haskintex/default.nix b/pkgs/development/libraries/haskell/haskintex/default.nix
index 776d5198bc74f..d5a9a5ff3a28d 100644
--- a/pkgs/development/libraries/haskell/haskintex/default.nix
+++ b/pkgs/development/libraries/haskell/haskintex/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskintex";
-  version = "0.5.0.0";
-  sha256 = "1ixb8lwgk2bkm36c173x8y2a14ylax5bdrqw4blxm4qia7xidc5i";
+  version = "0.5.0.1";
+  sha256 = "14x1n7x0dqcj14qkv0lmf2jcrswyjjjygqj5vdj6w29a8v9zr296";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/haskoin/default.nix b/pkgs/development/libraries/haskell/haskoin/default.nix
index 120111f35f0b2..d063cc919fc84 100644
--- a/pkgs/development/libraries/haskell/haskoin/default.nix
+++ b/pkgs/development/libraries/haskell/haskoin/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
     mtl pbkdf QuickCheck split testFramework testFrameworkHunit
     testFrameworkQuickcheck2 text
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/haskoin/haskoin";
     description = "Implementation of the Bitcoin protocol";
diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix
index 962bf758a1e6f..dfedd812a20a9 100644
--- a/pkgs/development/libraries/haskell/haste-compiler/default.nix
+++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haste-compiler";
-  version = "0.4.1";
-  sha256 = "15v4c6rxz4n0wmiys6mam8xprcdq8kxnhpwcqnljshr8wlyihn8b";
+  version = "0.4.2";
+  sha256 = "0agbd21c7mgzxyg6lwjl3n8w2r7xcrv3811y0x86rg7q1m7z730m";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 1aba1975a78e4..4b9fc06cc86a2 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, base64Bytestring, blazeBuilder, HaXml, HTTP, mtl, network
-, time, utf8String
+, networkUri, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "haxr";
-  version = "3000.10.3";
-  sha256 = "082w86vawjiqz589s3gmawssd0b43b1vcw0h6cndadwww8yc35bg";
+  version = "3000.10.3.1";
+  sha256 = "0alvrsk85f1l79hfa9shagjckp4sx835l9734ab2izfv50mxx7gm";
   buildDepends = [
-    base64Bytestring blazeBuilder HaXml HTTP mtl network time
-    utf8String
+    base64Bytestring blazeBuilder HaXml HTTP mtl network networkUri
+    time utf8String
   ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/HaXR";
diff --git a/pkgs/development/libraries/haskell/hindent/default.nix b/pkgs/development/libraries/haskell/hindent/default.nix
new file mode 100644
index 0000000000000..ca76bda7c346d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hindent/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, haskellSrcExts, monadLoops, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hindent";
+  version = "3.4";
+  sha256 = "060l4dkqz4fma005yai6mdv2bdr2lp59z289j7rv1ygr6p8pqhci";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ dataDefault haskellSrcExts monadLoops mtl text ];
+  meta = {
+    description = "Extensible Haskell pretty printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index aacf7c020f865..ce0eec94488ef 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hint";
-  version = "0.4.2.0";
-  sha256 = "08cq9zyyry7cxc30jmsdgrnvw6v2jbxnxcwcjs3bh77rds947mmd";
+  version = "0.4.2.1";
+  sha256 = "0nc545y1v3s1897f3ims7m37wnn288xyz1zb9sxqs6immdxyly0g";
   buildDepends = [
     exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random
     utf8String
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 541b3ceb0dce5..fafa47c28a05f 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.23.2";
-  sha256 = "1z9gxbah649r9vzq012mqnk07rfnd6c4ik82klksk0zzd4yxf07d";
+  version = "0.23.3";
+  sha256 = "0in61wrkbdllghdkxmwwn2b2k2g9w7kqijwl58szfx9h7w8g3dbi";
   buildDepends = [
     cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
     safe split time transformers utf8String
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index 70ba12e2398e6..654a4c7a13abc 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.23.2";
-  sha256 = "1n4n2zj6nqwvwmb6cxr16x2fnmzs7v21snjhq2nnvlik613rnnq7";
+  version = "0.23.3";
+  sha256 = "1d51gcyj5k4djllf0f2mny9l5i6gfh8cc3pgvjl8mxqi6ky6xarq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 8ac4d6d2e6bc0..45a7d6243b345 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.23.2";
-  sha256 = "1q57mb37qkngdvivaj4dykrkg4sb2pchg2ssdxx8ss4zhbsrk713";
+  version = "0.23.3";
+  sha256 = "10qrjwfmpddba6m3n5f527l77g3xf9d8fyxyhrl5593g6bgq9v7m";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 806405208c5be..7a335fefb3405 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.16.0.4";
-  sha256 = "0n2h7vp8cyr4lm6yv6msvqr87d0dn7fm61p58wy7f230v692j1p4";
+  version = "0.16.0.5";
+  sha256 = "12019yd4hxqryxsrppijff6w0wmqj2l5cssldh1lyv4dbjaaxb5y";
   buildDepends = [
     binary deepseq random split storableComplex vector
   ];
diff --git a/pkgs/development/libraries/haskell/holy-project/default.nix b/pkgs/development/libraries/haskell/holy-project/default.nix
index 088bbe4d4ea8a..1fa7c558731c9 100644
--- a/pkgs/development/libraries/haskell/holy-project/default.nix
+++ b/pkgs/development/libraries/haskell/holy-project/default.nix
@@ -1,34 +1,32 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, ansiTerminal, Cabal, filepath, hastache
-, httpConduit, HUnit, lens, QuickCheck, random, smallcheck, split
-, syb, tasty, tastyHunit, tastyQuickcheck, tastySmallcheck, text
-, time
-, fetchpatch}:
+, httpConduit, HUnit, lens, lensAeson, QuickCheck, random
+, smallcheck, split, syb, tasty, tastyHunit, tastyQuickcheck
+, tastySmallcheck, text, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "holy-project";
-  version = "0.1.1.0";
-  sha256 = "1dsyhgjcp54199zfazzzwsggxpj2dsbzfb64v6l3jz7qaapxnj9i";
+  version = "0.1.1.1";
+  sha256 = "0vb4mlz6gb01aadm2b8kgvgnrwwvl6q4ndx6xldi0xi3rm22xkwj";
   isLibrary = true;
   isExecutable = true;
-  patches = [ (fetchpatch { url = "https://github.com/yogsototh/holy-project/pull/3.patch"; sha256 = "1ndyhfrsvn94zxzyq1w4504gz91yfv33375933qmz3wdfkc3rqf0"; }) ];
   buildDepends = [
     aeson ansiTerminal Cabal filepath hastache httpConduit HUnit lens
-    QuickCheck random smallcheck split syb tasty tastyHunit
+    lensAeson QuickCheck random smallcheck split syb tasty tastyHunit
     tastyQuickcheck tastySmallcheck text time
   ];
   testDepends = [
     Cabal HUnit QuickCheck smallcheck tasty tastyHunit tastyQuickcheck
     tastySmallcheck
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/yogsototh/holy-project";
     description = "Start your Haskell project with cabal, git and tests";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
new file mode 100644
index 0000000000000..c7b15b8f99dea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
@@ -0,0 +1,6 @@
+#! @shell@
+
+COMMAND=$1
+shift
+HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \
+    $COMMAND -d @out@/share/hoogle $@
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
deleted file mode 100644
index df507c5a47058..0000000000000
--- a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
-index 94b1d48..f41f270 100644
---- a/src/CmdLine/All.hs
-+++ b/src/CmdLine/All.hs
-@@ -86,8 +86,10 @@ guessLocal = do
-     ghc <- findExecutable "ghc"
-     home <- getHomeDirectory
-     lib <- getLibDir
-+    path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
-     let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -}  ] ++
-              [takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
-+             maybeToList path ++
-              [home </> ".cabal/share/doc" {- Linux -} ]
-     filterM doesDirectoryExist xs
- 
-diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
-index b037f11..f2ac047 100644
---- a/src/Hoogle/Language/Haskell.hs
-+++ b/src/Hoogle/Language/Haskell.hs
-@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
- 
- setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
-     where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
--                 then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
-+                 then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
-                  else takeDirectory (itemURL pkg) ++ "/" ++ file
-               where file = reps '.' '-' xs ++ ".html"
- setModuleURL _ _ x = x
diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix
index 490898a75b20b..ba907948b14ac 100644
--- a/pkgs/development/libraries/haskell/hoogle/local.nix
+++ b/pkgs/development/libraries/haskell/hoogle/local.nix
@@ -9,12 +9,12 @@
 #   haskellPackages =
 #     let callPackage = pkgs.lib.callPackageWith haskellPackages;
 #     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
-#         extraPrefs = self: {
+#         extension = self: super: {
 #           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
 #             packages = with pkgs.haskellPackages; [
 #               mmorph
 #               monadControl
-#             ]
+#             ];
 #           };
 #         };
 #       });
@@ -23,43 +23,22 @@
 # This will build mmorph and monadControl, and have the hoogle installation
 # refer to their documentation via symlink so they are not garbage collected.
 
-{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
-, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
-, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
-, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
-, fetchurl
-
-, parallel, perl, wget, rehoo, haskellPlatform
-, packages ? haskellPlatform.propagatedUserEnvPkgs
+{ stdenv, hoogle, rehoo
+, haskellPlatform, ghc, packages ? [ haskellPlatform ghc.ghc ]
 }:
 
-cabal.mkDerivation (self: rec {
-  pname = "hoogle";
-  version = "4.2.32";
-  sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc";
-  isLibrary = true;
-  isExecutable = true;
-  buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs
-    ++ [ parallel perl wget rehoo ] ++ packages;
-  buildDepends = [
-      aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-      deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
-      resourcet safe shake tagsoup text time transformers uniplate vector
-      vectorAlgorithms wai warp
-    ];
-  testDepends = [ filepath ];
-  testTarget = "--test-option=--no-net";
+let
+  inherit (stdenv.lib) optional;
+  wrapper = ./hoogle-local-wrapper.sh;
+in
+stdenv.mkDerivation {
+  name = "hoogle-local-0.1";
+  buildInputs = [hoogle rehoo];
 
-  # The tests will fail because of the added documentation.
-  doCheck = false;
-  patches = [ ./hoogle-local.diff
-              (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
-                          sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
-            ];
+  phases = [ "installPhase" ];
 
   docPackages = packages;
-
-  postInstall = ''
+  installPhase = ''
     if [ -z "$docPackages" ]; then
         echo "ERROR: The packages attribute has not been set"
         exit 1
@@ -71,27 +50,38 @@ cabal.mkDerivation (self: rec {
     cd $out/share/hoogle
 
     function import_dbs() {
-        find $1 -name '*.txt' \
-            | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}'
+        find $1 -name '*.txt' | while read f; do
+          newname=$(basename "$f" | tr '[:upper:]' '[:lower:]')
+          if [[ -f $f && ! -f ./$newname ]]; then
+            cp -p $f ./$newname
+            hoogle convert -d "$(dirname $f)" "./$newname"
+          fi
+        done
     }
 
     for i in $docPackages; do
-        import_dbs $i/share/doc
-        ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
-            || ln -sf $i/share/doc/* $out/share/hoogle/doc
+        findInputs $i docPackages propagated-native-build-inputs
+        findInputs $i docPackages propagated-build-inputs
     done
 
-    import_dbs ${self.ghc}/share/doc/ghc*/html/libraries
-    ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
+    for i in $docPackages; do
+      if [[ ! $i == $out ]]; then
+        for docdir in $i/share/doc/*-ghc-*/* $i/share/doc/*; do
+          if [[ -d $docdir ]]; then
+            import_dbs $docdir
+            ln -sf $docdir $out/share/hoogle/doc
+          fi
+        done
+      fi
+    done
 
-    unset http_proxy
-    unset ftp_proxy
+    import_dbs ${ghc}/share/doc/ghc*/html/libraries
+    ln -sf ${ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
 
     chmod 644 *.hoo *.txt
-    $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g')
-    PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
+    rehoo -j4 -c64 .
 
-    rm -fr downloads *.txt *.dep
+    rm -fr downloads *.dep *.txt
     mv default.hoo x || exit 0
     rm -f *.hoo
     mv x default.hoo || exit 1
@@ -101,23 +91,17 @@ cabal.mkDerivation (self: rec {
         exit 1
     fi
 
-    mv $out/bin/hoogle $out/bin/.hoogle-wrapped
-    cat - > $out/bin/hoogle <<EOF
-    #! ${self.stdenv.shell}
-    COMMAND=\$1
-    shift
-    HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
-    EOF
+    mkdir -p $out/bin
+    substitute ${wrapper} $out/bin/hoogle \
+        --subst-var out --subst-var-by shell ${stdenv.shell} \
+        --subst-var-by hoogle ${hoogle}
     chmod +x $out/bin/hoogle
   '';
 
   meta = {
-    homepage = "http://www.haskell.org/hoogle/";
-    description = "Haskell API Search";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    description = "A local Hoogle database";
+    platforms = ghc.meta.platforms;
+    hydraPlatforms = with stdenv.lib.platforms; none;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
-})
+}
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
index db38dbc239910..ed116058e92a9 100644
--- a/pkgs/development/libraries/haskell/hplayground/default.nix
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hplayground";
-  version = "0.1.0.3";
-  sha256 = "1k46b94n9wkbh7374mjyg5jnwxxrhj8ai53q3r4lysx1rzgw7ak6";
+  version = "0.1.0.5";
+  sha256 = "0hd4xmw4lfaaar7yxwhq4msg2qbn42q57rvaphl95pbr4x5a0h70";
   buildDepends = [
     dataDefault hasteCompiler hastePerch monadsTf transformers
   ];
diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix
index 3093cbb2038d5..c9809d3eff04a 100644
--- a/pkgs/development/libraries/haskell/hsimport/default.nix
+++ b/pkgs/development/libraries/haskell/hsimport/default.nix
@@ -6,14 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "hsimport";
-  version = "0.5.2";
-  sha256 = "00kzc7hiwsidwvjnbvc01yh6c8n135ypwsiyvcnf2g179pwmnzkc";
+  version = "0.6";
+  sha256 = "07nhymn4kww1c5f9sjbmdg8ng08wbgmpvf5hws4qpwmfw1yfgdpn";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     attoparsec cmdargs dyre haskellSrcExts lens mtl split text
   ];
   testDepends = [ filepath haskellSrcExts tasty tastyGolden ];
+  jailbreak = true;
   meta = {
     description = "A command line program for extending the import list of a Haskell source file";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix
index 5937b0a417cc1..9cf37d4622c06 100644
--- a/pkgs/development/libraries/haskell/hspec-wai/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix
@@ -1,21 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, aesonQq, caseInsensitive, hspec2, hspecMeta
-, httpTypes, markdownUnlit, scotty, text, transformers, wai
-, waiExtra
+{ cabal, aeson, aesonQq, caseInsensitive, hspec2, httpTypes
+, markdownUnlit, scotty, text, transformers, wai, waiExtra
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-wai";
-  version = "0.3.0.2";
-  sha256 = "13jf8vw1mx5zg8diklbc4hbil9mkjdbg2azdsdfxp286wh718mna";
+  version = "0.4.1";
+  sha256 = "1005qhzi561zc5kbdc55d3wjngdcal47him19fn5gk4389jdbln7";
   buildDepends = [
     aeson aesonQq caseInsensitive hspec2 httpTypes text transformers
     wai waiExtra
   ];
   testDepends = [
-    aeson caseInsensitive hspec2 hspecMeta httpTypes markdownUnlit
-    scotty text transformers wai waiExtra
+    aeson caseInsensitive hspec2 httpTypes markdownUnlit scotty text
+    transformers wai waiExtra
   ];
   meta = {
     description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)";
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index 4d13846175c55..f45fa6bb53466 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0.5";
-  sha256 = "1yxvaiklg90fsiv2sfzrr3hp1wjs0fhcg709b24lqm81aryaq2sn";
+  version = "1.1.1.1";
+  sha256 = "1bsr0fsy7k606m477c4rxdh7j71nyrp86f1lg9wlwnbm31vrhw00";
   buildDepends = [
     conduit conduitExtra resourcet systemFilepath tagstreamConduit text
     transformers xmlConduit xmlTypes
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index 7015c9446e853..020fd4973c81d 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.3.8";
-  sha256 = "0v5j6fcigjpksj1m0n15g3j680k7qkms3cqd0b1w0ma7k63kcibc";
+  version = "0.3.8.2";
+  sha256 = "06c34h7wvn3mbr8lrkcmjygj22d94mr5rxzqwpjfdjgimd98hw3s";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/http-common/default.nix b/pkgs/development/libraries/haskell/http-common/default.nix
index da60083936c59..61c76e55842b4 100644
--- a/pkgs/development/libraries/haskell/http-common/default.nix
+++ b/pkgs/development/libraries/haskell/http-common/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-common";
-  version = "0.7.1.1";
-  sha256 = "1a0szaqs1halrv4kx57g2hd4vcdhks7pfal0hyq19af2pncaz1h8";
+  version = "0.7.2.0";
+  sha256 = "0w83qz35aaxc2k3qqpamh8anqxr7w3vym5qh40w1a8n4x00pm960";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive mtl network text
     transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index fd7eb7dd64aea..11efa4968af7e 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 = "2.1.4.1";
-  sha256 = "1v65v2dky7vgyh5hfvih208zhbd2czxdrshw9zw0af1naq2m5hk2";
+  version = "2.1.4.3";
+  sha256 = "0318k4k4w1zpifalfa7vb33sd8ksa8jdyaxs4843idmwsz3ahwgq";
   buildDepends = [
     conduit httpClient httpClientTls httpTypes liftedBase monadControl
     mtl resourcet transformers
diff --git a/pkgs/development/libraries/haskell/http-streams/default.nix b/pkgs/development/libraries/haskell/http-streams/default.nix
index 910851bde3459..c4d3686ceb9b8 100644
--- a/pkgs/development/libraries/haskell/http-streams/default.nix
+++ b/pkgs/development/libraries/haskell/http-streams/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-streams";
-  version = "0.7.2.0";
-  sha256 = "0h7fjnpday34skhafv2v0ybhfv0x915prfb4qa0ld4gm50scsinz";
+  version = "0.7.2.2";
+  sha256 = "093ldljnabkmi67vj1qnvdlpjk1mpgqwrzdl9cq93v64sqbfwkjw";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeBuilder caseInsensitive
     HsOpenSSL httpCommon ioStreams mtl network opensslStreams text
@@ -24,6 +24,7 @@ cabal.mkDerivation (self: {
     snapCore snapServer systemFileio systemFilepath text transformers
     unorderedContainers
   ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://research.operationaldynamics.com/projects/http-streams/";
diff --git a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
index ffb298023b7d0..45885432767f0 100644
--- a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt-charproperties";
-  version = "9.1.1.1";
-  sha256 = "1a8cmswqysd0fpq6bpszav5cqpibnad49mbcswvrwipk28x3j078";
+  version = "9.2.0.0";
+  sha256 = "01v3j0cg9pkp18iy4s8s582qqq98r4l9jzr84x5sa2rva4cg0gpi";
   meta = {
-    homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+    homepage = "https://github.com/UweSchmidt/hxt";
     description = "Character properties and classes for XML and Unicode";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
index 60b43b0bad4b3..725e7d834883b 100644
--- a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/silkapp/hxt-pickle-utils";
     description = "Utility functions for using HXT picklers";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 131a01ed43261..1ca367a96c924 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.6";
-  sha256 = "0k2i72ricxwnadagjbzyhfd7nfivay9gbf5f81sagr6j3wgnhz8f";
+  version = "9.3.1.7";
+  sha256 = "1dgdq2l9k8v36iahmkxxjmmv955f9gv6lq09nsah9zcscsgm0v2i";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index d5c0137a2c61f..ecb9321686c46 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -4,15 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "instant-generics";
-  version = "0.4";
-  sha256 = "14z6135jvmry9b52p21cqnwgp2w0g6frh1fm7z5byph06xls9r7l";
+  version = "0.4.1";
+  sha256 = "1jcs6spa3g8mazgpivn61gz4c740ks19rkz9sh24ns6n4q53zdvq";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
     description = "Generic programming library with a sum of products view";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix
index 4b5d9bab9be46..6d1d3cbfb6b3c 100644
--- a/pkgs/development/libraries/haskell/io-streams/default.nix
+++ b/pkgs/development/libraries/haskell/io-streams/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "io-streams";
-  version = "1.1.4.6";
-  sha256 = "0vn6vlgfapmyd9y87i9i0y480w8w81xd3lnhh66a6lalskd4bjdw";
+  version = "1.2.0.0";
+  sha256 = "1lisvwy4pj0ywm1i61qan3vxisl4xazz7z8i8iybww1dv3j6mrn2";
   buildDepends = [
     attoparsec blazeBuilder network primitive text time transformers
     vector zlibBindings
diff --git a/pkgs/development/libraries/haskell/ixset/default.nix b/pkgs/development/libraries/haskell/ixset/default.nix
index c77950c68f092..cff87548b4970 100644
--- a/pkgs/development/libraries/haskell/ixset/default.nix
+++ b/pkgs/development/libraries/haskell/ixset/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "http://happstack.com";
     description = "Efficient relational queries on Haskell sets";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
index f787073f0808e..28498da53d659 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
index 9ff082e3239f8..c8a1b898f9453 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
     description = "Snap backend for jmacro-rpc";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
index d1e302b1bc9f8..5e271e9d3416d 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     homepage = "http://hub.darcs.net/gershomb/jmacro";
     description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro/default.nix b/pkgs/development/libraries/haskell/jmacro/default.nix
index 32d4d3747ef98..b0d5f70b33243 100644
--- a/pkgs/development/libraries/haskell/jmacro/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "QuasiQuotation library for programmatic generation of Javascript code";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/json-rpc/default.nix b/pkgs/development/libraries/haskell/json-rpc/default.nix
index 4bb33b628e335..1062a0b35239b 100644
--- a/pkgs/development/libraries/haskell/json-rpc/default.nix
+++ b/pkgs/development/libraries/haskell/json-rpc/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "json-rpc";
-  version = "0.2.0.1";
-  sha256 = "0kk2wpgnkdhphf9za2whmn4f6qlly5hzr071bx7xjqwqbpfhwplm";
+  version = "0.2.0.2";
+  sha256 = "00ha6hjg9ccwa48ab5ibnkiiri7ki3rv7ms2h9qbwr30lxyb0r88";
   buildDepends = [
     aeson async conduit conduitExtra deepseq hashable mtl stm
     stmConduit text unorderedContainers
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
     stm stmConduit testFramework testFrameworkQuickcheck2 text
     unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/xenog/json-rpc";
     description = "Fully-featured JSON-RPC 2.0 library";
diff --git a/pkgs/development/libraries/haskell/json-schema/default.nix b/pkgs/development/libraries/haskell/json-schema/default.nix
index 8ae6763d0a43b..d425536e213c5 100644
--- a/pkgs/development/libraries/haskell/json-schema/default.nix
+++ b/pkgs/development/libraries/haskell/json-schema/default.nix
@@ -1,26 +1,27 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, genericAeson, genericDeriving, HUnit
-, tagged, tasty, tastyHunit, tastyTh, text, time
-, unorderedContainers, vector
+{ cabal, aeson, aesonUtils, attoparsec, genericAeson
+, genericDeriving, mtl, scientific, tagged, tasty, tastyHunit
+, tastyTh, text, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "json-schema";
-  version = "0.6.1.1";
-  sha256 = "0hn1v2idra9sx1x5mr511h4qcvnhy7b80fgn58w9856w9cl7d34b";
+  version = "0.7.0.1";
+  sha256 = "1r8f0i3w2g5i5amqpvmi6ys3ax4rzpbvwnvwk9wy95bch3nlvsw0";
   buildDepends = [
-    aeson genericAeson genericDeriving tagged text time
+    aeson genericAeson genericDeriving mtl scientific tagged text time
     unorderedContainers vector
   ];
   testDepends = [
-    aeson attoparsec genericAeson HUnit tagged tasty tastyHunit tastyTh
-    text
+    aeson aesonUtils attoparsec genericAeson tagged tasty tastyHunit
+    tastyTh text vector
   ];
   jailbreak = true;
   meta = {
     description = "Types and type classes for defining JSON schemas";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jwt/default.nix b/pkgs/development/libraries/haskell/jwt/default.nix
new file mode 100644
index 0000000000000..d9e4ce8f0dd92
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jwt/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, cryptohash, dataDefault
+, httpTypes, HUnit, network, QuickCheck, scientific, tasty
+, tastyHunit, tastyQuickcheck, tastyTh, text, time
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jwt";
+  version = "0.4.0";
+  sha256 = "0kfdrl795h7nyai1gk056kjbw2c5n3bc30aq9466pky5jv6ywlbz";
+  buildDepends = [
+    aeson base64Bytestring cryptohash dataDefault httpTypes network
+    scientific text time unorderedContainers
+  ];
+  testDepends = [
+    aeson base64Bytestring cryptohash dataDefault httpTypes HUnit
+    network QuickCheck scientific tasty tastyHunit tastyQuickcheck
+    tastyTh text time unorderedContainers
+  ];
+  meta = {
+    homepage = "https://bitbucket.org/ssaasen/haskell-jwt";
+    description = "JSON Web Token (JWT) decoding and encoding";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/kan-extensions/default.nix b/pkgs/development/libraries/haskell/kan-extensions/default.nix
index c0ffaed799d3f..dce273d60a629 100644
--- a/pkgs/development/libraries/haskell/kan-extensions/default.nix
+++ b/pkgs/development/libraries/haskell/kan-extensions/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, adjunctions, comonad, contravariant, distributive, free
-, mtl, pointed, semigroupoids, transformers
+, mtl, pointed, semigroupoids, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "kan-extensions";
-  version = "4.1";
-  sha256 = "1dg9q6rahgvsnsnd76r6a3harrllq3pzz9250cakgqip4n02dji1";
+  version = "4.1.0.1";
+  sha256 = "1jrs5cp5bhv3sjfi3d2zl16x40fr086zadp69r8yigj43bgkwkkd";
   buildDepends = [
     adjunctions comonad contravariant distributive free mtl pointed
-    semigroupoids transformers
+    semigroupoids tagged transformers
   ];
   meta = {
     homepage = "http://github.com/ekmett/kan-extensions/";
diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix
index 435ffef45c32c..ba06bf860bd97 100644
--- a/pkgs/development/libraries/haskell/language-c-inline/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix
@@ -4,17 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-inline";
-  version = "0.6.0.0";
-  sha256 = "08a22sr01kch365p5536fv32rxsfmdd6hkhcq1j7vhchjrsy3f6w";
+  version = "0.7.6.1";
+  sha256 = "0giyclrkxbigqpgrvlz896nsiqi7fghm79pzcxmxn7vslmardn4a";
   buildDepends = [ filepath languageCQuote mainlandPretty ];
   testDepends = [ languageCQuote ];
-  doCheck = false;
   meta = {
     homepage = "https://github.com/mchakravarty/language-c-inline/";
     description = "Inline C & Objective-C code in Haskell for language interoperability";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/0.2.6.nix
index 6811b0db547cb..8486841a5f6a3 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/0.2.6.nix
@@ -1,5 +1,3 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
 { cabal, alex, cpphs, filepath, HUnit, mtl, parsec, QuickCheck, syb
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 }:
diff --git a/pkgs/development/libraries/haskell/language-java/0.2.7.nix b/pkgs/development/libraries/haskell/language-java/0.2.7.nix
new file mode 100644
index 0000000000000..dc35a8867ba1f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-java/0.2.7.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, cpphs, filepath, HUnit, mtl, parsec, QuickCheck, syb
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "language-java";
+  version = "0.2.7";
+  sha256 = "1519grsjw0f4skldxs563qz07mmj1cg72ma0plmvzpas7inkikyf";
+  buildDepends = [ cpphs parsec syb ];
+  testDepends = [
+    filepath HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  buildTools = [ alex ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/vincenthz/language-java";
+    description = "Manipulating Java source: abstract syntax, lexer, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens-aeson/default.nix b/pkgs/development/libraries/haskell/lens-aeson/default.nix
index d19b0bf6dd78e..ddf643b899a91 100644
--- a/pkgs/development/libraries/haskell/lens-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/lens-aeson/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lens-aeson";
-  version = "1";
-  sha256 = "0zpfpba97kr92lzrmdfk08f3cl42alhx0d73w8sbbwxnnvv4489r";
+  version = "1.0.0.1";
+  sha256 = "1gkplcvi570bd824q4zswi1ajb3730b7qng48g1zpjskvikn32qn";
   buildDepends = [
     aeson attoparsec lens scientific text unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/lens-family-th/default.nix b/pkgs/development/libraries/haskell/lens-family-th/default.nix
new file mode 100644
index 0000000000000..41b08ce9b4470
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens-family-th/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "lens-family-th";
+  version = "0.3.0.0";
+  sha256 = "0p9z278rpr9mqdpxa5izllplfrbxwzdziqjzjn4x1j2g9f3q5f8s";
+  meta = {
+    homepage = "http://github.com/DanBurton/lens-family-th#readme";
+    description = "Generate lens-family style lenses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens-family/default.nix b/pkgs/development/libraries/haskell/lens-family/default.nix
new file mode 100644
index 0000000000000..582f0c52dafc3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens-family/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lensFamilyCore, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "lens-family";
+  version = "1.1.0";
+  sha256 = "0cr4wdnix138iklh4l8nrzp52m7qrrgrq9ngr61zs02gbww46sz3";
+  buildDepends = [ lensFamilyCore mtl transformers ];
+  meta = {
+    description = "Lens Families";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index 190dd3fd14ed3..69367fc1fe116 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "4.4.0.1";
-  sha256 = "0d1z6jix58g7x9r1jvm335hg2psflqc7w6sq54q486wil55c5vrw";
+  version = "4.4.0.2";
+  sha256 = "03h1r6np1aas5nnw3nsqcvl9an9yriikcgapnfck82pmmdvg5l47";
   buildDepends = [
     bifunctors comonad contravariant distributive exceptions filepath
     free hashable mtl parallel primitive profunctors reflection
@@ -25,6 +25,9 @@ cabal.mkDerivation (self: {
     testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text
     transformers unorderedContainers vector
   ];
+  patchPhase = ''
+    configureFlags="-f-test-hlint"
+  '';
   meta = {
     homepage = "http://github.com/ekmett/lens/";
     description = "Lenses, Folds and Traversals";
diff --git a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
index 8d4f854a99348..0b721be21519b 100644
--- a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
@@ -1,19 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, async, dataDefault, filepath, leveldb, resourcet
+{ cabal, async, dataDefault, filepath, leveldb, resourcet, snappy
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "leveldb-haskell";
-  version = "0.3.0";
-  sha256 = "0hdxn6v7fzc0wlpkymlci60m2584h6fn78bxdnv2q18ra03r3ygs";
+  version = "0.3.1";
+  sha256 = "09pyji49sdl60xicd32ra7v72qf0jkjhnvpsfr9k698is7lcq06d";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     async dataDefault filepath resourcet transformers
   ];
-  extraLibraries = [ leveldb ];
+  extraLibraries = [ leveldb snappy ];
   meta = {
     homepage = "http://github.com/kim/leveldb-haskell";
     description = "Haskell bindings to LevelDB";
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/0.8.0.5.nix
index b54068d924c64..f7f83cd973e30 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/0.8.0.5.nix
@@ -21,5 +21,6 @@ cabal.mkDerivation (self: {
     description = "An MPD client library";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/libmpd/0.9.0.1.nix b/pkgs/development/libraries/haskell/libmpd/0.9.0.1.nix
new file mode 100644
index 0000000000000..6dc0aede06996
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libmpd/0.9.0.1.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, dataDefault, filepath, hspec, mtl, network
+, QuickCheck, text, time, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "libmpd";
+  version = "0.9.0.1";
+  sha256 = "11smm8ai7053hljlxi5l2fkqxrqr1xrh6sxg2r0dlsvmmln7smrd";
+  buildDepends = [
+    attoparsec dataDefault filepath mtl network text time utf8String
+  ];
+  testDepends = [
+    attoparsec dataDefault filepath hspec mtl network QuickCheck text
+    time utf8String
+  ];
+  meta = {
+    homepage = "http://github.com/vimus/libmpd-haskell#readme";
+    description = "An MPD client library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/managed/default.nix b/pkgs/development/libraries/haskell/managed/default.nix
new file mode 100644
index 0000000000000..febb1f8c5741a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/managed/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "managed";
+  version = "1.0.0";
+  sha256 = "06nb71pd68m5l6a48sz5kkrdif74phbg3y6bn9ydd00y515b9gn5";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "A monad for managed values";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/markdown/default.nix b/pkgs/development/libraries/haskell/markdown/default.nix
index 746bd1c748469..9727b7264d471 100644
--- a/pkgs/development/libraries/haskell/markdown/default.nix
+++ b/pkgs/development/libraries/haskell/markdown/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "markdown";
-  version = "0.1.9";
-  sha256 = "1bl86alrbl9i690sbqqlxb4hkdd0lv3x5aqc8zi55q9h0rfsi06l";
+  version = "0.1.11";
+  sha256 = "1v5bqwzh0v17ylgnbl16bw4n9shyrff7nabwnzzhs2wmqp85n3js";
   buildDepends = [
     attoparsec blazeHtml conduit conduitExtra dataDefault text
     transformers xssSanitize
diff --git a/pkgs/development/libraries/haskell/mersenne-random/default.nix b/pkgs/development/libraries/haskell/mersenne-random/default.nix
new file mode 100644
index 0000000000000..ec7a54c9ed2e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mersenne-random/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "mersenne-random";
+  version = "1.0.0.1";
+  sha256 = "193qz3wn7lz18aywddr9qyn8v08ifv2yxwr68c67p5mn8vr8mvmw";
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/mersenne-random";
+    description = "Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/minioperational/default.nix b/pkgs/development/libraries/haskell/minioperational/default.nix
index a426927e318c3..d037645682f21 100644
--- a/pkgs/development/libraries/haskell/minioperational/default.nix
+++ b/pkgs/development/libraries/haskell/minioperational/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "minioperational";
-  version = "0.4.3";
-  sha256 = "09z8536q0cc09iack6s8fghgrc5f3syq3sxf2cnai3rcfaqix86p";
+  version = "0.4.6";
+  sha256 = "0ir15l9ks4wik5wmhc9v23d2wlh4v499a52pzzsl8w40406lm5ln";
   buildDepends = [ transformers ];
   meta = {
     homepage = "https://github.com/fumieval/minioperational";
diff --git a/pkgs/development/libraries/haskell/miniutter/default.nix b/pkgs/development/libraries/haskell/miniutter/default.nix
index 2400721a6561e..b58449b22addb 100644
--- a/pkgs/development/libraries/haskell/miniutter/default.nix
+++ b/pkgs/development/libraries/haskell/miniutter/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "miniutter";
-  version = "0.4.4.0";
-  sha256 = "1pfgbvnxh3c9b489i121p5bg785bp9ivfwizjfwc9w3r6spgppvk";
+  version = "0.4.4.1";
+  sha256 = "1raq5dq6mx56ddyq5hnh9r2yflry6prcjf17p15ds1w5r8cp8yx1";
   buildDepends = [ binary minimorph text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix
index 5cbfed976d14d..d65eecc6a3031 100644
--- a/pkgs/development/libraries/haskell/monad-journal/default.nix
+++ b/pkgs/development/libraries/haskell/monad-journal/default.nix
@@ -5,13 +5,13 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-journal";
-  version = "0.2.3.1";
-  sha256 = "11p7qdga26wz82x6a1fl57iij4swsr1d1aly76sjrlvl8maqlf7d";
+  version = "0.4.0.2";
+  sha256 = "0biz564lgddzd6hygb7jd3rh8xa7qmzby4q3fyfa9fizmdcwf9j8";
   buildDepends = [
     either monadControl mtl transformers transformersBase
   ];
   meta = {
-    homepage = "https://github.com/phaazon/monad-journal";
+    homepage = "http://github.com/phaazon/monad-journal";
     description = "Pure logger typeclass and monad transformer";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix
index dfc34cc2a6a6d..5a5249657eb7a 100644
--- a/pkgs/development/libraries/haskell/mono-traversable/default.nix
+++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mono-traversable";
-  version = "0.6.1";
-  sha256 = "066yfffjkd0r6hg3y3zrs13jmyfgpl8ba9yvsbyawimvff7mfk5f";
+  version = "0.6.2";
+  sha256 = "17ipqxzpz1vnv2qlj7rl8iz3awk593z39c716bikx03z67h85qzr";
   buildDepends = [
     comonad dlist dlistInstances hashable semigroupoids semigroups text
     transformers unorderedContainers vector vectorAlgorithms
diff --git a/pkgs/development/libraries/haskell/multipart/default.nix b/pkgs/development/libraries/haskell/multipart/default.nix
index 242005392c215..5908dfb09819b 100644
--- a/pkgs/development/libraries/haskell/multipart/default.nix
+++ b/pkgs/development/libraries/haskell/multipart/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "multipart";
-  version = "0.1.1";
-  sha256 = "12sxi21baq1wsa3z6qrczyk47finw85yiql26l90wxk99smm90pj";
+  version = "0.1.2";
+  sha256 = "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5";
   buildDepends = [ parsec ];
   meta = {
     homepage = "http://www.github.com/silkapp/multipart";
-    description = "A partial fork of the cgi package exposing the multipart module";
+    description = "HTTP multipart split out of the cgi package";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix
index 7e9ac0ddd95e2..f964af3c8b726 100644
--- a/pkgs/development/libraries/haskell/ncurses/default.nix
+++ b/pkgs/development/libraries/haskell/ncurses/default.nix
@@ -15,5 +15,7 @@ cabal.mkDerivation (self: {
     description = "Modernised bindings to GNU ncurses";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix
index e6259b09c2441..6cfd4dca161d4 100644
--- a/pkgs/development/libraries/haskell/network-uri/default.nix
+++ b/pkgs/development/libraries/haskell/network-uri/default.nix
@@ -6,13 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "network-uri";
-  version = "2.6.0.0";
-  sha256 = "0dnprscb5nxidg56i7j6q783nwsrn3dabfsij3vjlvjn4f0sg11l";
+  version = "2.6.0.1";
+  sha256 = "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37";
   buildDepends = [ parsec ];
   testDepends = [
     HUnit network testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/haskell/network-uri";
     description = "URI manipulation";
diff --git a/pkgs/development/libraries/haskell/network/2.6.0.1.nix b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
index d5d302fbd8e6a..37540ad323eb9 100644
--- a/pkgs/development/libraries/haskell/network/2.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.6.0.1";
-  sha256 = "0qfffsdbvrf9gs8wr9ps7iv5h6drz4vb2ja9rprmc7ypswsacxsq";
+  version = "2.6.0.2";
+  sha256 = "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4";
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
     homepage = "https://github.com/haskell/network";
diff --git a/pkgs/development/libraries/haskell/openssl-streams/default.nix b/pkgs/development/libraries/haskell/openssl-streams/default.nix
index 28609f9e0f66a..5ae373fbac2da 100644
--- a/pkgs/development/libraries/haskell/openssl-streams/default.nix
+++ b/pkgs/development/libraries/haskell/openssl-streams/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "openssl-streams";
-  version = "1.1.0.2";
-  sha256 = "0h3jxxdls0p1xxr02rfag7j9y13ll3xgzx2ldv1nsfcv3rzw2pfy";
+  version = "1.2.0.0";
+  sha256 = "01hdrsdrp2x7i5zydn2b0blzir7vqvn63n9sf9pwcgnkk6s5j1wc";
   buildDepends = [ HsOpenSSL ioStreams network ];
   testDepends = [
     HsOpenSSL HUnit ioStreams network testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
new file mode 100644
index 0000000000000..ff546c76eae55
--- /dev/null
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, transformers, transformersCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "optparse-applicative";
+  version = "0.10.0";
+  sha256 = "04hr6rzgc8h0c8fy748as3q7sc8vm94gvk0rw4gdj605z8hvaxcb";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/pcapriotti/optparse-applicative";
+    description = "Utilities and combinators for parsing command line options";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
index 82bc0fa8a9ee0..4660e7f37ba8f 100644
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
@@ -20,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Utilities and combinators for parsing command line options";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index 76ab2fc41b429..feb273fbdeb77 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, aesonPretty, attoparsec, filepath, hexpat
+{ cabal, aeson, aesonPretty, attoparsec, dataDefault, filepath
 , hsBibutils, mtl, pandoc, pandocTypes, parsec, rfc5051, split, syb
-, tagsoup, temporary, text, time, vector, yaml
+, tagsoup, temporary, text, time, vector, xmlConduit, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.5";
-  sha256 = "00azhpll0xnb9nnkh7c3hbfk0fzmvh5cgdxlgx7jvaglrmsnvzw3";
+  version = "0.6";
+  sha256 = "1whi8mrbhfi8wr3qbj1lkgc1pngn8151jjri409hshl1mng4aq5b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson aesonPretty attoparsec filepath hexpat hsBibutils mtl pandoc
-    pandocTypes parsec rfc5051 split syb tagsoup temporary text time
-    vector yaml
+    aeson aesonPretty attoparsec dataDefault filepath hsBibutils mtl
+    pandoc pandocTypes parsec rfc5051 split syb tagsoup temporary text
+    time vector xmlConduit yaml
   ];
   testDepends = [
     aeson filepath pandoc pandocTypes temporary text yaml
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index c8ef8ba2271de..0fa41e250b403 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -31,6 +31,7 @@ cabal.mkDerivation (self: {
     pandocTypes QuickCheck syb testFramework testFrameworkHunit
     testFrameworkQuickcheck2 text zipArchive
   ];
+  configureFlags = "-fhttps -fmake-pandoc-man-pages";
   jailbreak = true;
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.5.nix b/pkgs/development/libraries/haskell/parsec/3.1.6.nix
index b6a5d37e53120..5a8d83622f540 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.5.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.6.nix
@@ -1,12 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, mtl, text }:
+{ cabal, HUnit, mtl, testFramework, testFrameworkHunit, text }:
 
 cabal.mkDerivation (self: {
   pname = "parsec";
-  version = "3.1.5";
-  sha256 = "1f1wg4qxp1ss2160sa3vbqff18fabwhqjkyfj4sgyfmwf9fj8wn5";
+  version = "3.1.6";
+  sha256 = "12k2gzy7fi83929mr2s4vj3ipfyg7l74v1cb2vbi4613qmq5wrw4";
   buildDepends = [ mtl text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
   jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
diff --git a/pkgs/development/libraries/haskell/parsers/default.nix b/pkgs/development/libraries/haskell/parsers/default.nix
index 5c49d144a10eb..25f4a13708313 100644
--- a/pkgs/development/libraries/haskell/parsers/default.nix
+++ b/pkgs/development/libraries/haskell/parsers/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.12.1";
-  sha256 = "0g9grf713zhn23vgmb6mdrm8r5snq1xa8jqnj6pghydj6m4rh97v";
+  version = "0.12.1.1";
+  sha256 = "1yx75xbmg3lms0hj79r5w9fl81g5cbsm842lijhd9jnnbli2mzfw";
   buildDepends = [
     attoparsec charset parsec text transformers unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
index f7480295f6d43..db35b2fe020d2 100644
--- a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pcap-enumerator";
-  version = "0.4";
-  sha256 = "0ka2n7740s02marvd1b11mrxc663kj0zcn7hksl5i13ls026hpb8";
+  version = "0.5";
+  sha256 = "0v7ar3jbs54ibhrbbzmvajc7pc8h8dv56wr77w4vsbyz6xq4sqdb";
   buildDepends = [ enumerator pcap transformers ];
   meta = {
     homepage = "http://github.com/cutsea110/pcap-enumerator";
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix
new file mode 100644
index 0000000000000..f9f631827d89e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, base16Bytestring, ioStreams, pdfToolboxCore
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-content";
+  version = "0.0.3.0";
+  sha256 = "0glcm6mrgg8ixzhp09kfkk3ra3qblvrp1wcsa2nhqlypg3ca8r3h";
+  buildDepends = [
+    attoparsec base16Bytestring ioStreams pdfToolboxCore text
+  ];
+  meta = {
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix
new file mode 100644
index 0000000000000..bfccb645fbb2d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, errors, ioStreams, transformers, zlibBindings
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-core";
+  version = "0.0.2.1";
+  sha256 = "14jj6xprzh2k1njal0mgapkm3xivy8370p9kdjxha9gnwmc581df";
+  buildDepends = [
+    attoparsec errors ioStreams transformers zlibBindings
+  ];
+  meta = {
+    homepage = "https://github.com/Yuras/pdf-toolbox";
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix
new file mode 100644
index 0000000000000..b62d3e92e5ef1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cipherRc4, cryptohash, ioStreams, pdfToolboxContent
+, pdfToolboxCore, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-document";
+  version = "0.0.3.0";
+  sha256 = "0y1kb2hf420jx6r81c431avgar32wzx2xr747akcs4rypf6w53fn";
+  buildDepends = [
+    cipherRc4 cryptohash ioStreams pdfToolboxContent pdfToolboxCore
+    text transformers
+  ];
+  meta = {
+    homepage = "https://github.com/Yuras/pdf-toolbox";
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
index beb2ca94263a6..dd895b937ce71 100644
--- a/pkgs/development/libraries/haskell/persistent-mysql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, blazeBuilder, conduit, monadControl, mysql
-, mysqlSimple, persistent, resourcet, text, transformers
+{ cabal, aeson, blazeBuilder, conduit, monadControl, monadLogger
+, mysql, mysqlSimple, persistent, resourcet, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-mysql";
-  version = "1.3.0.2";
-  sha256 = "0yv2f8zqypbp5swdpxmgnfmmfsr6lwhb27k0hl9bh7ya76anhvqy";
+  version = "2.0.5";
+  sha256 = "1zhva0wikp3d57fsz5phqwi0b3vbgnapf6bw46xmmrp8r21zsnk5";
   buildDepends = [
-    aeson blazeBuilder conduit monadControl mysql mysqlSimple
-    persistent resourcet text transformers
+    aeson blazeBuilder conduit monadControl monadLogger mysql
+    mysqlSimple persistent resourcet text transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index 207183db8469b..8a8b0989e728b 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, blazeBuilder, conduit, monadControl, persistent
-, postgresqlLibpq, postgresqlSimple, resourcet, text, time
-, transformers
+{ cabal, aeson, blazeBuilder, conduit, monadControl, monadLogger
+, persistent, postgresqlLibpq, postgresqlSimple, resourcet, text
+, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-postgresql";
-  version = "1.3.1.1";
-  sha256 = "1qi19fm7waxrbh795jvcny7aaj6b64jqcwv772xjzl9dbv3q9qhc";
+  version = "2.0.5";
+  sha256 = "1awdxh354y2hxsiijwvc2x7ficrcwmg27ai2mi79a0b2ylrxc9pk";
   buildDepends = [
-    aeson blazeBuilder conduit monadControl persistent postgresqlLibpq
-    postgresqlSimple resourcet text time transformers
+    aeson blazeBuilder conduit monadControl monadLogger persistent
+    postgresqlLibpq postgresqlSimple resourcet text time transformers
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index 288e91ab78d4a..db5965d378f67 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.3.0.5";
-  sha256 = "05b7byc4z7mhni90cj2aan63f599wv0511zqbsm6kbylk1zpyizb";
+  version = "2.0.5";
+  sha256 = "1x65pni93xgsbfwaknd9fgqccz0gbn1ky6k55l2ss5ab92apqy8i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 4b3c97c1a9cba..7060eddc17e32 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, hspec, monadControl, monadLogger, persistent
-, QuickCheck, text, transformers, unorderedContainers
+{ cabal, aeson, hspec, monadControl, monadLogger, pathPieces
+, persistent, QuickCheck, tagged, text, transformers
+, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.2.2";
-  sha256 = "0vcj0y2i423cz1iry5gsz5cvqynpnbhzl6basqcqn6k8ca7s876i";
+  version = "2.0.5";
+  sha256 = "0mf18n07r2bvvf5448xq4pzylpprkbc1wb86339gaxnax321ipap";
   buildDepends = [
-    aeson monadControl monadLogger persistent text transformers
-    unorderedContainers
+    aeson monadControl monadLogger pathPieces persistent tagged text
+    transformers unorderedContainers
   ];
   testDepends = [
     aeson hspec persistent QuickCheck text transformers
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index a5add651473d4..588f6163b6509 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,21 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, base64Bytestring, blazeHtml
-, blazeMarkup, conduit, exceptions, hspec, liftedBase, monadControl
-, monadLogger, pathPieces, resourcePool, resourcet, scientific
-, silently, sqlite, text, time, transformers, transformersBase
-, unorderedContainers, vector
+, blazeMarkup, conduit, exceptions, fastLogger, hspec, liftedBase
+, monadControl, monadLogger, mtl, pathPieces, resourcePool
+, resourcet, scientific, silently, sqlite, tagged, text, time
+, transformers, transformersBase, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.3.3";
-  sha256 = "1pz3xdbk46qprcyb0sll5zzr2vp6x08w7pd5glz2jf2242k7cdrd";
+  version = "2.0.5.1";
+  sha256 = "14xzqr9f0ggqkakpq6badbrnwr6nhzq61ga7d2m0d0lni039vdax";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
-    exceptions liftedBase monadControl monadLogger pathPieces
-    resourcePool resourcet scientific silently text time transformers
-    transformersBase unorderedContainers vector
+    exceptions fastLogger liftedBase monadControl monadLogger mtl
+    pathPieces resourcePool resourcet scientific silently tagged text
+    time transformers transformersBase unorderedContainers vector
   ];
   testDepends = [
     aeson attoparsec base64Bytestring blazeHtml conduit hspec
diff --git a/pkgs/development/libraries/haskell/pipes-binary/default.nix b/pkgs/development/libraries/haskell/pipes-binary/default.nix
index 94f899c6a8d43..ea9fe83eab7db 100644
--- a/pkgs/development/libraries/haskell/pipes-binary/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-binary/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-binary";
-  version = "0.4.0.2";
-  sha256 = "1lbz2hybglkmm7dawg16pma2yr732yy1agh5b9vwlw2ik92hrm58";
+  version = "0.4.0.3";
+  sha256 = "0r56h5f9i6hy4zb2bhfi26y7y3z0j4nacdb2dgkxmh5mqjd33f0q";
   buildDepends = [
     binary pipes pipesBytestring pipesParse transformers
   ];
diff --git a/pkgs/development/libraries/haskell/pipes-csv/default.nix b/pkgs/development/libraries/haskell/pipes-csv/default.nix
index c18d2297f6757..53afcbf8a08f9 100644
--- a/pkgs/development/libraries/haskell/pipes-csv/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-csv/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Fast, streaming csv parser";
     license = self.stdenv.lib.licenses.mit;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-http/default.nix b/pkgs/development/libraries/haskell/pipes-http/default.nix
index 285d1405191d6..1708e8a6cb1a8 100644
--- a/pkgs/development/libraries/haskell/pipes-http/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-http/default.nix
@@ -7,9 +7,11 @@ cabal.mkDerivation (self: {
   version = "1.0.1";
   sha256 = "15jmhf6lgqxv9zn08dky8biiv8cp4s3vf0xmp78pbllaqkvm4z9w";
   buildDepends = [ httpClient httpClientTls pipes ];
+  jailbreak = true;
   meta = {
     description = "HTTP client with pipes interface";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix
index deef6e0fdb66c..5928082e03015 100644
--- a/pkgs/development/libraries/haskell/pipes-text/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-text/default.nix
@@ -17,6 +17,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/michaelt/text-pipes";
     description = "Text pipes";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
index 9a4ed04892b21..58894ce6dd6df 100644
--- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-zlib";
-  version = "0.4.0.1";
-  sha256 = "1k91q5hci4hk2kzaqfvg1nwbklqyg83wwhm3sdfhdn2famj0mls0";
+  version = "0.4.1";
+  sha256 = "0wjx51d3inhsjzqf16l46mhh0mdsa8fk7x1vvp2apg9s6zfw624k";
   buildDepends = [ pipes transformers zlib zlibBindings ];
   meta = {
     homepage = "https://github.com/k0001/pipes-zlib";
-    description = "Zlib compression and decompression for Pipes streams";
+    description = "Zlib and GZip compression and decompression for Pipes streams";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index 9f723826dbb9c..50039d4466b95 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
   ];
+  jailbreak = true;
   meta = {
     description = "Compositional pipelines";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 0c4fea2da65f8..f4d77d70560c9 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.4.4.0";
-  sha256 = "1rx0rcafiicdv4qbf68dbsfqwiayrl7205dm0c5bdjlvszv576r7";
+  version = "0.4.4.1";
+  sha256 = "0lqvy8nc2izwlv7z0n12cknsrb2dkmla84bvjis5z9f63ngs2580";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq
     scientific text time transformers uuid vector
diff --git a/pkgs/development/libraries/haskell/protobuf/default.nix b/pkgs/development/libraries/haskell/protobuf/default.nix
index be437c7410de7..3b0c1508ce020 100644
--- a/pkgs/development/libraries/haskell/protobuf/default.nix
+++ b/pkgs/development/libraries/haskell/protobuf/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "protobuf";
-  version = "0.2.0.3";
-  sha256 = "0jcrnym0j8w4vjrdmvn88x8ddp8wf809wviy1vkz94p2nyp6l2hw";
+  version = "0.2.0.4";
+  sha256 = "0gg678cb1psgdsjzv9x7mhcjmywj8bgzmp9pd850d3p9zyiw9l2j";
   buildDepends = [
     cereal dataBinaryIeee754 deepseq mtl text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index c5087a692f9a9..20739bc45159c 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.4.1";
-  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
+  version = "0.5.6.2";
+  sha256 = "1zb5jvgwldzvvw1ga125p5048rwkrb636kn7pcf070m615k9w055";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
index 5aa1314f8e755..11bcb7aab6d52 100644
--- a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
+++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "quickcheck-instances";
-  version = "0.3.8";
-  sha256 = "0132a37zi1haz1aaggxa1hr421bcmxlbaa4m2l53m2rmr4z5mgkg";
+  version = "0.3.9";
+  sha256 = "1a0mbd1kga4qnamp80x2g4avjwcy8z0zrriqxdhb1525wyyb0656";
   buildDepends = [
     hashable QuickCheck text time unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index 4cdbed0376223..73506a3ba7506 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, erf, mathFunctions, monadLoops, mtl, randomShuffle
-, randomSource, rvar, syb, transformers, vector
+{ cabal, erf, logfloat, mathFunctions, monadLoops, mtl
+, randomShuffle, randomSource, rvar, syb, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "random-fu";
-  version = "0.2.6.0";
-  sha256 = "1mi1hr3hxlnyjf01hgn7xinr1m0rax26759zbkhf5xn04ps0g01p";
+  version = "0.2.6.1";
+  sha256 = "04fi92szpjyg0ffgxfayz00vpiqi67hzyahhin12wvw3pxbyyp9g";
   buildDepends = [
-    erf mathFunctions monadLoops mtl randomShuffle randomSource rvar
-    syb transformers vector
+    erf logfloat mathFunctions monadLoops mtl randomShuffle
+    randomSource rvar syb transformers vector
   ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index dd92b7e79deb2..00fe58be4b124 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HTTP, network, xhtml }:
+{ cabal, HTTP, network, networkUri, xhtml }:
 
 cabal.mkDerivation (self: {
   pname = "recaptcha";
-  version = "0.1.0.2";
-  sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih";
-  buildDepends = [ HTTP network xhtml ];
+  version = "0.1.0.3";
+  sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19";
+  buildDepends = [ HTTP network networkUri xhtml ];
   meta = {
     homepage = "http://github.com/jgm/recaptcha/tree/master";
     description = "Functions for using the reCAPTCHA service in web applications";
diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix
index bfa8a063b8e97..5cf9535e1b2bc 100644
--- a/pkgs/development/libraries/haskell/reducers/default.nix
+++ b/pkgs/development/libraries/haskell/reducers/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reducers";
-  version = "3.10.2.1";
-  sha256 = "1wn6q6cw9is1gan9y5n3fzjkhmpjpria4p13zp4kqxmj881067vy";
+  version = "3.10.3";
+  sha256 = "0hi77mgc2f38y0xfykn7x6gdl6xg710skpx4z76s8c0wwnd28pr6";
   buildDepends = [
     comonad fingertree hashable keys pointed semigroupoids semigroups
     text transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
new file mode 100644
index 0000000000000..f5ddf2a638890
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, regexBase }:
+
+cabal.mkDerivation (self: {
+  pname = "regex-pcre-builtin";
+  version = "0.94.4.8.8.35";
+  sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b";
+  buildDepends = [ regexBase ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/regex-pcre";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
index 35a3f32847e16..c8dc8a34b7888 100644
--- a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
+++ b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/silkapp/regular-xmlpickler";
     description = "Generic generation of HXT XmlPickler instances using Regular";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix
index 0712742717b76..644d1ddabfbb5 100644
--- a/pkgs/development/libraries/haskell/rest-client/default.nix
+++ b/pkgs/development/libraries/haskell/rest-client/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-client";
-  version = "0.4";
-  sha256 = "18mvmp4c5zznph8q5ash6224wig5kwvb6v19dkn39n4l72cdq7wm";
+  version = "0.4.0.1";
+  sha256 = "1bn2kgyr6q0wxlp3kman20wn7jgz5dc6m8rq5xf0mknpbh8rrnpc";
   buildDepends = [
     aesonUtils caseInsensitive dataDefault exceptionTransformers
     httpConduit httpTypes hxt hxtPickleUtils monadControl mtl primitive
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Utility library for use in generated API client libraries";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 53c3ede3ec12a..8379674d80bd1 100644
--- a/pkgs/development/libraries/haskell/rest-core/default.nix
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-core";
-  version = "0.32";
-  sha256 = "130kz1gsrbamw8gs4vc0fqfjh1gi7i52xxmj4fg1vl2dr77gf6my";
+  version = "0.33";
+  sha256 = "05m8cvkm0nsi1yixk0dj5j6nvzzzs07i0pmyaj0ww6v5vkmcgmfb";
   buildDepends = [
     aeson aesonUtils either errors fclabels hxt hxtPickleUtils
     jsonSchema mtl multipart random restStringmap restTypes safe split
@@ -22,6 +22,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Rest API library";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index 012f6db8bf24e..fb9e564199a5f 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -2,28 +2,30 @@
 
 { cabal, aeson, blazeHtml, Cabal, codeBuilder, fclabels, filepath
 , hashable, haskellSrcExts, hslogger, HStringTemplate, HUnit, hxt
-, jsonSchema, restCore, safe, scientific, split, tagged
+, jsonSchema, restCore, safe, scientific, semigroups, split, tagged
 , testFramework, testFrameworkHunit, text, uniplate
 , unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "rest-gen";
-  version = "0.14.2.1";
-  sha256 = "1dvcs25ndmzwdann5yq4567zjirirzskf9v31gkrki0im8mi9x14";
+  version = "0.16";
+  sha256 = "05qpj4zhihmb2cdgw3vx7ir0mqga1w6qidc4vwdjq6dy8d81sdmc";
   buildDepends = [
     aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
     haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
-    safe scientific split tagged text uniplate unorderedContainers
-    vector
+    safe scientific semigroups split tagged text uniplate
+    unorderedContainers vector
   ];
   testDepends = [
-    haskellSrcExts HUnit restCore testFramework testFrameworkHunit
+    fclabels haskellSrcExts HUnit restCore testFramework
+    testFrameworkHunit
   ];
   jailbreak = true;
   meta = {
     description = "Documentation and client generation from rest definition";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
index 4c79bc58c0657..5308f21a70d64 100644
--- a/pkgs/development/libraries/haskell/rest-happstack/default.nix
+++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-happstack";
-  version = "0.2.10.1";
-  sha256 = "0p4km3l8n50flj9cnxvjl34pp3msxz2yq4d91r318di8pacrgnxc";
+  version = "0.2.10.3";
+  sha256 = "05sakr88j6rlwnghzd00g3c3895wpjxi36n9pdbpv0fpm0hh86yv";
   buildDepends = [ happstackServer mtl restCore restGen utf8String ];
   meta = {
     description = "Rest driver for Happstack";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix
index 8e9bc69eb0134..3421dae0f9996 100644
--- a/pkgs/development/libraries/haskell/rest-snap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-snap/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-snap";
-  version = "0.1.17.13";
-  sha256 = "13c143dzxhfrshn19ylqfmhnxjirixfif8d1fmzagz1v893narkz";
+  version = "0.1.17.14";
+  sha256 = "0fd6d85gzp9mr7y7bgfk9wscrhrych9q7cssps8m5l03n83d8asp";
   buildDepends = [
     caseInsensitive restCore safe snapCore unorderedContainers
     uriEncode utf8String
@@ -15,6 +15,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Rest driver for Snap";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
index c1f0c13cbc22a..387c291072197 100644
--- a/pkgs/development/libraries/haskell/rest-stringmap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Maps with stringy keys that can be transcoded to JSON and XML";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
index 41b8044b59310..c44308ba7face 100644
--- a/pkgs/development/libraries/haskell/rest-types/default.nix
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-types";
-  version = "1.10.2";
-  sha256 = "1j8fpv4xdhbf1awy0v9zn9a3sjwl42l6472wczp3wwwcpsi65d9q";
+  version = "1.11";
+  sha256 = "16ki6sqi88s8ykwdhsk0xparvv90zzj4jidk0mhsd2wi3l4w1l6i";
   buildDepends = [
     aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
     restStringmap text uuid
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Silk Rest Framework Types";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix
index d23d81da33deb..c1d8037dd43d5 100644
--- a/pkgs/development/libraries/haskell/rest-wai/default.nix
+++ b/pkgs/development/libraries/haskell/rest-wai/default.nix
@@ -1,20 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore
-, restTypes, text, unorderedContainers, utf8String, wai
+{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore, text
+, unorderedContainers, utf8String, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "rest-wai";
-  version = "0.1.0.3";
-  sha256 = "08pprgn9xnd3ipr6clify3snm4ahshlws869mfvziplc4hdcnb59";
+  version = "0.1.0.4";
+  sha256 = "1pxjf0fmsfiywr81zl5xbl6si0x74a7zmz6d5vqv5pvxmpgwgcbg";
   buildDepends = [
-    caseInsensitive httpTypes mimeTypes mtl restCore restTypes text
+    caseInsensitive httpTypes mimeTypes mtl restCore text
     unorderedContainers utf8String wai
   ];
   meta = {
     description = "Rest driver for WAI applications";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix
index 9a0a994cf77e3..0df453d10bbdd 100644
--- a/pkgs/development/libraries/haskell/retry/default.nix
+++ b/pkgs/development/libraries/haskell/retry/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "retry";
-  version = "0.5";
-  sha256 = "1qp949w8pisgki06j5qgaxw1761q3gfccc7bqnhqpchazl4p6p6n";
+  version = "0.5.1";
+  sha256 = "1k5qv7c960dayhddvra1gpy1zv90rdjcrzpg8nzar9bpcxapczvj";
   buildDepends = [ dataDefaultClass exceptions transformers ];
   testDepends = [
     dataDefaultClass exceptions hspec HUnit QuickCheck time
diff --git a/pkgs/development/libraries/haskell/rope/default.nix b/pkgs/development/libraries/haskell/rope/default.nix
new file mode 100644
index 0000000000000..3c751d5eddd74
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rope/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fingertree, mtl, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "rope";
+  version = "0.6.4";
+  sha256 = "1g77bv2mmfhy2mkb08k92m3f2jab6p2la2s7rfib2r1jy6lq5vhb";
+  buildDepends = [ fingertree mtl utf8String ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ekmett/rope";
+    description = "Tools for manipulating fingertrees of bytestrings with optional annotations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rvar/default.nix b/pkgs/development/libraries/haskell/rvar/default.nix
index ecb2a2c9db1ad..0802c8ba3f539 100644
--- a/pkgs/development/libraries/haskell/rvar/default.nix
+++ b/pkgs/development/libraries/haskell/rvar/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rvar";
-  version = "0.2.0.1";
-  sha256 = "17wgd4gc1hn04dck168nkyzn9jyipgbysxsznyzy2z36vafqqqbm";
+  version = "0.2.0.2";
+  sha256 = "1n24fl27mrm7cndp8b646b9c5hjm3hf5m12y9ni0f850dd739jm4";
   buildDepends = [ MonadPrompt mtl randomSource transformers ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix b/pkgs/development/libraries/haskell/scientific/0.3.3.1.nix
index 22bf663334c68..1eb719ed11718 100644
--- a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
+++ b/pkgs/development/libraries/haskell/scientific/0.3.3.1.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "scientific";
-  version = "0.3.3.0";
-  sha256 = "1kj49ibq53m7cfs9pq396l4fbqnarqzay7a65rmsrzi2vz15parv";
+  version = "0.3.3.1";
+  sha256 = "1p1g9cj827hb1zsn6zip7vgiwrw2vxfali6qvhccd6j1p12drw0b";
   buildDepends = [ deepseq hashable text ];
   testDepends = [
     QuickCheck smallcheck tasty tastyAntXml tastyHunit tastyQuickcheck
diff --git a/pkgs/development/libraries/haskell/sdl2/default.nix b/pkgs/development/libraries/haskell/sdl2/default.nix
new file mode 100644
index 0000000000000..ec9da95f74607
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sdl2/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, SDL2 }:
+
+cabal.mkDerivation (self: {
+  pname = "sdl2";
+  version = "1.1.0";
+  sha256 = "1ppxskh810nbziszlkdmk38x74lspsrqm1kpyiir1xj2a7122fkv";
+  extraLibraries = [ SDL2 ];
+  pkgconfigDepends = [ SDL2 ];
+  meta = {
+    description = "Bindings to SDL2";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index ed9fa0bf3fb19..54df1ebe66b50 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hashable, nats, text, unorderedContainers }:
+{ cabal, deepseq, hashable, nats, text, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.15.2";
-  sha256 = "1lh06d0mwivzbfjg635r3m39qcpyjvnwni7mspz96qb3zcm0c5kp";
-  buildDepends = [ hashable nats text unorderedContainers ];
+  version = "0.15.3";
+  sha256 = "0bzrab88vvgv3bnbcc7gyc05b9h9zz1pnc6bv2d2mpg653pm97k3";
+  buildDepends = [ deepseq hashable nats text unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
     description = "Anything that associates";
diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix
index fcfd2d34d5869..a76a2f5cf325c 100644
--- a/pkgs/development/libraries/haskell/setlocale/default.nix
+++ b/pkgs/development/libraries/haskell/setlocale/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "setlocale";
-  version = "0.0.3";
-  sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl";
+  version = "1.0.0.1";
+  sha256 = "15dzf4hgkn5saz6qyn1xqvinvy0y571crfxfwycmcmm4az6rsqk0";
+  jailbreak = true;
   meta = {
-    description = "A Haskell interface to setlocale()";
-    license = self.stdenv.lib.licenses.publicDomain;
+    description = "Haskell bindings to setlocale";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 610c7c22590bf..42dbb2079c890 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.13.2";
-  sha256 = "0ibq0y0dxxahfwgcvamjfhbl5mrqmj7ryzf8bfmqky843fg7dyna";
+  version = "0.13.4";
+  sha256 = "05w78d2hdw13f3i876iq1b5j137p4vr759da273p8k6alk4mi3am";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -19,7 +19,7 @@ cabal.mkDerivation (self: {
     transformers unorderedContainers utf8String
   ];
   meta = {
-    homepage = "https://github.com/ndmitchell/shake";
+    homepage = "https://github.com/ndmitchell/shake#readme";
     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/shell-conduit/default.nix b/pkgs/development/libraries/haskell/shell-conduit/default.nix
new file mode 100644
index 0000000000000..23ce152225452
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shell-conduit/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, conduit, conduitExtra, controlMonadLoop, filepath
+, monadControl, monadsTf, resourcet, semigroups, split, text, these
+, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "shell-conduit";
+  version = "3.0";
+  sha256 = "07x920j52zjqh3lpfam5f1nhsgqbcgz458dbrwxsmsn3cnqf2qd6";
+  buildDepends = [
+    conduit conduitExtra controlMonadLoop filepath monadControl
+    monadsTf resourcet semigroups split text these transformers
+    transformersBase
+  ];
+  meta = {
+    description = "Write shell scripts with Conduit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shellmate/default.nix b/pkgs/development/libraries/haskell/shellmate/default.nix
index 6f059a75352b3..bf74fc8b99ce5 100644
--- a/pkgs/development/libraries/haskell/shellmate/default.nix
+++ b/pkgs/development/libraries/haskell/shellmate/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/valderman/shellmate";
     description = "Simple interface for shell scripting in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix
index f62b484328c3c..be9147d6c7658 100644
--- a/pkgs/development/libraries/haskell/snap-cors/default.nix
+++ b/pkgs/development/libraries/haskell/snap-cors/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-cors";
-  version = "1.2.5";
-  sha256 = "1zjvvi1prskkb26yp51j09gfkhpw0ggj69d89098yq0sl6d0vy1c";
+  version = "1.2.5.1";
+  sha256 = "1fijby8iryhcjdb7n95hdbjff4rnqyfx5s9x01nbmd9lxrch12dr";
   buildDepends = [
     attoparsec caseInsensitive hashable network snap text transformers
     unorderedContainers
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 189750bd44649..aab1a7bf89bec 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.2.8";
-  sha256 = "1jrnh1raw2jrl04l54f5w5xfp9yyb9bj0ly9v1baqkiggswacbzg";
+  version = "0.13.2.9";
+  sha256 = "1iv29mbbm1xjfrq3ys7zpskjpcwx6k08zrnrs1yj62yg5aa6bnim";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -22,9 +22,6 @@ cabal.mkDerivation (self: {
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
   jailbreak = true;
-  patchPhase = ''
-    sed -i -e 's|lens .*< 4.2|lens|' snap.cabal
-  '';
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index cebb79c3344fa..da79b401fc6a5 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.5.1";
-  sha256 = "08cnr92c442b1in46xcklni35597hbsggw97arq2f9w5sfir341q";
+  version = "2.5.2";
+  sha256 = "1r8l9nznavxd0cg30mj7qdp9nq8jlcr0vcv8ljn6lfw67s0pk82x";
   buildDepends = [
     async cereal cerealConduit conduit conduitExtra liftedAsync
     liftedBase monadControl monadLoops resourcet stm stmChans
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
index 3f0d47dfc2a41..f42634473bb2d 100644
--- a/pkgs/development/libraries/haskell/streaming-commons/default.nix
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "streaming-commons";
-  version = "0.1.4.2";
-  sha256 = "0ghm3a64q84bfyp1qp452jw4ns52nd5jz8fk308vljfpakv30qyf";
+  version = "0.1.5";
+  sha256 = "1gmr8yv6r87y1826rc3y3i8darwsaisqpbhjx1bn3m070g9fhqlp";
   buildDepends = [
     blazeBuilder network random stm text transformers zlib
   ];
diff --git a/pkgs/development/libraries/haskell/tables/default.nix b/pkgs/development/libraries/haskell/tables/default.nix
index 53b178066eb7b..34df6ebec1174 100644
--- a/pkgs/development/libraries/haskell/tables/default.nix
+++ b/pkgs/development/libraries/haskell/tables/default.nix
@@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/ekmett/tables/";
     description = "In-memory storage with multiple keys using lenses and traversals";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
index ee72183624565..2e9393175040c 100644
--- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
@@ -1,19 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
-, dataDefault, hspec, HUnit, QuickCheck, resourcet, text
-, transformers, xmlConduit
+{ cabal, attoparsec, blazeBuilder, caseInsensitive, conduit
+, conduitExtra, dataDefault, hspec, HUnit, QuickCheck, resourcet
+, text, transformers, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "tagstream-conduit";
-  version = "0.5.5.1";
-  sha256 = "0bpxjhqqqigfnwcxx3h2am5zmgr1lyaxaac3lnz490j6zf8x9jn7";
+  version = "0.5.5.3";
+  sha256 = "1arlf7qil9bzcqykda8yyrnncm29jsfjvz5kbcdrbbhqpbqfi5mj";
   buildDepends = [
-    attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit conduitExtra dataDefault resourcet text
-    transformers xmlConduit
+    attoparsec blazeBuilder caseInsensitive conduit conduitExtra
+    dataDefault resourcet text transformers xmlConduit
   ];
   testDepends = [ conduit hspec HUnit QuickCheck resourcet text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index 9f8e59322b042..1fa30cf368d7f 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-ant-xml";
-  version = "1.0.0.8";
-  sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm";
+  version = "1.0.0.10";
+  sha256 = "1qjpgbsj8fh5w3l9zap3wsrf1cp8bmsl1adcxy5z2j8yi3rsljii";
   buildDepends = [
     genericDeriving mtl reducers stm tagged tasty transformers xml
   ];
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
index 8c3083d07fe99..6afcdd67b9482 100644
--- a/pkgs/development/libraries/haskell/tasty-hspec/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -1,12 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hspec, tasty }:
+{ cabal, hspec, QuickCheck, random, tasty, tastyQuickcheck
+, tastySmallcheck
+}:
 
 cabal.mkDerivation (self: {
   pname = "tasty-hspec";
-  version = "0.1.0.1";
-  sha256 = "0m8v9kj557vfqzmrindwfcjl7wqmdix2xvmsb94n8hx9qv075s3v";
-  buildDepends = [ hspec tasty ];
+  version = "0.2";
+  sha256 = "04qnmsyrlxgxf36lww3z6xkgpf6x5gprwrrwza3kcjl13wcm2rml";
+  buildDepends = [
+    hspec QuickCheck random tasty tastyQuickcheck tastySmallcheck
+  ];
   meta = {
     homepage = "http://github.com/mitchellwrosen/tasty-hspec";
     description = "Hspec support for the Tasty test framework";
diff --git a/pkgs/development/libraries/haskell/tasty-program/default.nix b/pkgs/development/libraries/haskell/tasty-program/default.nix
new file mode 100644
index 0000000000000..60a88315f7289
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-program/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-program";
+  version = "1.0.1";
+  sha256 = "04q2pp7hwqiiry17dd3ng0i6ikqzpg7hfgf0ckcg33xw450kpx9n";
+  buildDepends = [ filepath tasty ];
+  meta = {
+    homepage = "https://github.com/jstolarek/tasty-program";
+    description = "Use tasty framework to test whether a program executes correctly";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
index 326392718bad3..af251514b4202 100644
--- a/pkgs/development/libraries/haskell/tasty-rerun/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-rerun";
-  version = "1.1.2";
-  sha256 = "0vgx6l9yd21aiwivd6zp67rgjly1j2wwqdmx99p17prr430rm4id";
+  version = "1.1.3";
+  sha256 = "1pgm3h7kyg7q8ydgqqj9sn65ckl6i7cz6a8g1cfighf4gy5y0cj3";
   buildDepends = [
     mtl optparseApplicative reducers split stm tagged tasty
     transformers
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index 6303320460fb7..b062337711404 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, ansiTerminal, async, deepseq, mtl, optparseApplicative
-, regexTdfaRc, stm, tagged, unboundedDelays
+, regexTdfaRc, stm, tagged, time, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.8.1.3";
-  sha256 = "0hc030ms89w3cl1k3r8nrym3g7sg2n66ch2ljg6d7fwhrsgxnagf";
+  version = "0.10";
+  sha256 = "1va9rj6k0v8mdkqbgjvn5rcaf2zp785ihfr4b5j87xzaiw32m1l6";
   buildDepends = [
     ansiTerminal async deepseq mtl optparseApplicative regexTdfaRc stm
-    tagged unboundedDelays
+    tagged time unboundedDelays
   ];
   meta = {
     homepage = "http://documentup.com/feuerbach/tasty";
diff --git a/pkgs/development/libraries/haskell/text/1.1.1.3.nix b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
index 7a61b4bbd3a36..3908a7a0caef0 100644
--- a/pkgs/development/libraries/haskell/text/1.1.1.3.nix
+++ b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/time/1.4.2.nix b/pkgs/development/libraries/haskell/time/1.5.nix
index 5e8d967b8dc81..ba77c73874dc2 100644
--- a/pkgs/development/libraries/haskell/time/1.4.2.nix
+++ b/pkgs/development/libraries/haskell/time/1.5.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Cabal, deepseq, QuickCheck, testFramework
+{ cabal, deepseq, QuickCheck, testFramework
 , testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "time";
-  version = "1.4.2";
-  sha256 = "1kpsak2wka23c8591ry6i1d7hmd54s7iw5n6hpx48jhcxf1w199h";
+  version = "1.5";
+  sha256 = "0vj82msx650z473inhr8yav7k38zj7096wam477y77wardx57pdc";
   buildDepends = [ deepseq ];
   testDepends = [
-    Cabal deepseq QuickCheck testFramework testFrameworkQuickcheck2
+    deepseq QuickCheck testFramework testFrameworkQuickcheck2
   ];
   doCheck = false;
   meta = {
-    homepage = "http://semantic.org/TimeLib/";
+    homepage = "https://github.com/haskell/time";
     description = "A time library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
deleted file mode 100644
index 0d5c97433b2a8..0000000000000
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, certificate, cipherAes, cipherRc4, cryptohash
-, cryptoPubkey, cryptoRandom, mtl, network, pem, time, tls, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls-extra";
-  version = "0.6.6";
-  sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    certificate cipherAes cipherRc4 cryptohash cryptoPubkey
-    cryptoRandom mtl network pem time tls vector
-  ];
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS extra default values and helpers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.1.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix
deleted file mode 100644
index ddb1651fd1008..0000000000000
--- a/pkgs/development/libraries/haskell/tls/1.1.5.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey
-, cryptoRandom, mtl, network, QuickCheck, testFramework
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls";
-  version = "1.1.5";
-  sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c";
-  buildDepends = [
-    cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network
-  ];
-  testDepends = [
-    cereal certificate cprngAes cryptoPubkey cryptoRandom mtl
-    QuickCheck testFramework testFrameworkQuickcheck2 time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS/SSL protocol native implementation (Server and Client)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/default.nix
index 22eb615a6571f..45cb3c6939448 100644
--- a/pkgs/development/libraries/haskell/tls/1.2.8.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "1.2.8";
-  sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha";
+  version = "1.2.9";
+  sha256 = "1cwhwxpsxx9x5hv2c66d3yvbs84lrgaxmaz18skidmhqhs4i0sjy";
   buildDepends = [
     asn1Encoding asn1Types byteable cereal cipherAes cipherDes
     cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
diff --git a/pkgs/development/libraries/haskell/tostring/default.nix b/pkgs/development/libraries/haskell/tostring/default.nix
index eee617ffd2bb8..2fe0fb452dd52 100644
--- a/pkgs/development/libraries/haskell/tostring/default.nix
+++ b/pkgs/development/libraries/haskell/tostring/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "tostring";
-  version = "0.2.0.1";
-  sha256 = "1gihls2xslr9fzad2659zv8af9k4cm84888nhx3z9bwasviyg448";
+  version = "0.2.0.2";
+  sha256 = "0gjc1576cb4cil55l2jki3y4zp8z6b1m04rf68f2fbc619wji5k6";
   buildDepends = [ text utf8String ];
   meta = {
     description = "The ToString class";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix
index 974c2fe140b8b..6997d2229ce39 100644
--- a/pkgs/development/libraries/haskell/tuple/default.nix
+++ b/pkgs/development/libraries/haskell/tuple/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tuple";
-  version = "0.2.0.1";
-  sha256 = "1c4vf798rjwshnk04avyjp4rjzj8i9qx4yksv00m3rjy6psr57xg";
+  version = "0.3.0.2";
+  sha256 = "094nx29aahyrvbcn7yca9zs2a5rxz1is7510w1q43rpvza7hdjrg";
   buildDepends = [ OneTuple ];
   meta = {
     description = "Various functions on tuples";
diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
index 0d57668004428..8720fb3f2bebf 100644
--- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "twitter-conduit";
-  version = "0.0.5.6";
-  sha256 = "1l6gk4538nqknrj082hkdy2jp4gzyq3y473p8gg4mm2n67417r9m";
+  version = "0.0.6";
+  sha256 = "1vm4wa3cdmyz2m45rnwkrjcx8wajc89395c28rz1q12hf856970j";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -31,7 +31,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/unix-memory/default.nix b/pkgs/development/libraries/haskell/unix-memory/default.nix
index caaf6c1bde5fd..c8fa0d244fbf4 100644
--- a/pkgs/development/libraries/haskell/unix-memory/default.nix
+++ b/pkgs/development/libraries/haskell/unix-memory/default.nix
@@ -1,17 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HUnit, mtl, QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2
-}:
+{ cabal, mtl, QuickCheck, tasty, tastyHunit, tastyQuickcheck }:
 
 cabal.mkDerivation (self: {
   pname = "unix-memory";
-  version = "0.1.1";
-  sha256 = "02jmccs7mcg2lhpnb1ps7ycxzmn46b4drf994vv0pawwjrkrhnhk";
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
+  version = "0.1.2";
+  sha256 = "1r8s7z39d31h1n7rcincy156lbsvamr6jicx52kv8simb9gvarpp";
+  testDepends = [ mtl QuickCheck tasty tastyHunit tastyQuickcheck ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-unix-memory";
     description = "Unix memory syscalls";
diff --git a/pkgs/development/libraries/haskell/uri-encode/default.nix b/pkgs/development/libraries/haskell/uri-encode/default.nix
index 7a86bcd2f65cd..59079fd18974d 100644
--- a/pkgs/development/libraries/haskell/uri-encode/default.nix
+++ b/pkgs/development/libraries/haskell/uri-encode/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
   meta = {
     description = "Unicode aware uri-encoding";
     license = "unknown";
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix
index eb36f5555aeec..44fb5bde2bf87 100644
--- a/pkgs/development/libraries/haskell/uuid/default.nix
+++ b/pkgs/development/libraries/haskell/uuid/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uuid";
-  version = "1.3.3";
-  sha256 = "12sfspmrnpqbwwscv3w41pkkdbfvy1aaa84y7is0d3ffk5rll80m";
+  version = "1.3.4";
+  sha256 = "03gab2dg52i4ysxw6vdzdd018qy0lycq7x3gcbx0r9c8vsqvafmc";
   buildDepends = [
     binary cryptohash deepseq hashable networkInfo random time
   ];
diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix
index e116dd529cf36..58662eb73464b 100644
--- a/pkgs/development/libraries/haskell/vado/default.nix
+++ b/pkgs/development/libraries/haskell/vado/default.nix
@@ -10,12 +10,11 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ attoparsec filepath text ];
   testDepends = [ attoparsec filepath QuickCheck text ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/hamishmack/vado";
     description = "Runs commands on remote machines using ssh";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty/5.2.1.nix b/pkgs/development/libraries/haskell/vty/5.2.2.nix
index 6034807929e3e..2b669cc411d63 100644
--- a/pkgs/development/libraries/haskell/vty/5.2.1.nix
+++ b/pkgs/development/libraries/haskell/vty/5.2.2.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vty";
-  version = "5.2.1";
-  sha256 = "15xg7yznizscvyjlnivakrzk60l0a0pigax7sgnn2ab79rfzcxww";
+  version = "5.2.2";
+  sha256 = "06bpsmkfdl10x82kk27ymfkiiq36s9ifs2q1gj3w1rf6l30k2ca6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -23,12 +23,12 @@ cabal.mkDerivation (self: {
     testFramework testFrameworkHunit testFrameworkSmallcheck text
     utf8String vector
   ];
-  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "https://github.com/coreyoconnor/vty";
     description = "A simple terminal UI library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 530f9828ae5f7..055802ad04e82 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "3.0.0";
-  sha256 = "117r2ps440i2i156k50b674fkny2ywwbbla6ry0km041604cl733";
+  version = "3.0.0.1";
+  sha256 = "1xqw7xvbq38m19337vpalnz5c5mvc57mfp53vqbah3lalxy9mqby";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
index a60a6e9dda016..d225b70f0e7f9 100644
--- a/pkgs/development/libraries/haskell/wai-websockets/default.nix
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, blazeBuilder, caseInsensitive, fileEmbed, httpTypes
-, ioStreams, network, text, transformers, wai, waiAppStatic, warp
-, websockets
+, network, text, transformers, wai, waiAppStatic, warp, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-websockets";
-  version = "3.0.0.1";
-  sha256 = "01rbwyx2ks6hdaw5qw7dibidyw4bh85s2gzqy4rhmxpdcnmxxmnz";
+  version = "3.0.0.2";
+  sha256 = "1p0ylwc19g63z4qijnis1x5wys5h2avim6s2fn7m2ihrlc3pkhsb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeBuilder caseInsensitive fileEmbed httpTypes ioStreams network
-    text transformers wai waiAppStatic warp websockets
+    blazeBuilder caseInsensitive fileEmbed httpTypes network text
+    transformers wai waiAppStatic warp websockets
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/yesodweb/wai";
     description = "Provide a bridge betweeen WAI and the websockets package";
diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix
index d3a041d9a8dcf..b174da9892470 100644
--- a/pkgs/development/libraries/haskell/webdriver/default.nix
+++ b/pkgs/development/libraries/haskell/webdriver/default.nix
@@ -24,6 +24,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/kallisti-dev/hs-webdriver";
     description = "a Haskell client for the Selenium WebDriver protocol";
     license = self.stdenv.lib.licenses.bsd3;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/websockets-snap/default.nix b/pkgs/development/libraries/haskell/websockets-snap/default.nix
index bd68d64b757a8..72bd7feb7811f 100644
--- a/pkgs/development/libraries/haskell/websockets-snap/default.nix
+++ b/pkgs/development/libraries/haskell/websockets-snap/default.nix
@@ -1,17 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, blazeBuilder, enumerator, ioStreams, mtl, snapCore
-, snapServer, websockets
-}:
+{ cabal, enumerator, mtl, snapCore, snapServer, websockets }:
 
 cabal.mkDerivation (self: {
   pname = "websockets-snap";
-  version = "0.8.2.2";
-  sha256 = "1r5y5czpxrc06i7w3y3fa4dlqmxdypcc8yplg28cv4k3mkfa1hf4";
-  buildDepends = [
-    blazeBuilder enumerator ioStreams mtl snapCore snapServer
-    websockets
-  ];
+  version = "0.9.0.0";
+  sha256 = "051y62xga7drrfllv10giyr49z1z9ql8681dgwynmdad5x6asf85";
+  buildDepends = [ enumerator mtl snapCore snapServer websockets ];
+  jailbreak = true;
   meta = {
     description = "Snap integration for the websockets library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
index 5db1ec4161391..f4d056f665607 100644
--- a/pkgs/development/libraries/haskell/websockets/default.nix
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -1,24 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, attoparsec, base64Bytestring, binary, blazeBuilder
-, caseInsensitive, entropy, HUnit, ioStreams, mtl, network
-, QuickCheck, random, SHA, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, text
+, caseInsensitive, entropy, HUnit, mtl, network, QuickCheck, random
+, SHA, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "websockets";
-  version = "0.8.2.6";
-  sha256 = "074d0wkxy2qyi8w9cjgbalqi8b21wf5ak71lcnh94iw76dfxbizf";
+  version = "0.9.0.1";
+  sha256 = "0advbw1z0g53n8az34287fix16a457jv8z6s0g1l8lr4a8b74x0w";
   buildDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
-    entropy ioStreams mtl network random SHA text
+    entropy mtl network random SHA text
   ];
   testDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
-    entropy HUnit ioStreams mtl network QuickCheck random SHA
-    testFramework testFrameworkHunit testFrameworkQuickcheck2 text
+    entropy HUnit mtl network QuickCheck random SHA testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 text
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://jaspervdj.be/websockets";
     description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
diff --git a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
index ac8d69ebd3f96..0165e0a82ea93 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-extras";
-  version = "3.5";
-  sha256 = "172xp23j3w8jbd7h0sna9g8p4d6xwy8154gqj93ycz2907r2kwb7";
+  version = "3.5.0.2";
+  sha256 = "1wh8nm7h8bbr1xxf0q3cwb837jk5y1cq4l2h6lw63wavwqqvjfw6";
   buildDepends = [ nats semigroupoids semigroups text utf8String ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
index 37dc11b1f0f42..30636f6b97ca3 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-terminfo";
-  version = "3.7.1.1";
-  sha256 = "1mjnbkk3cw2v7nda7qxdkl21pmclz6m17sviqp4qf3rc8rgin3zd";
+  version = "3.7.1.2";
+  sha256 = "17c5ys8730hhhpy0swk4yxrjs1042w4m7aypsfnzzk3b0cw94q56";
   buildDepends = [
     nats semigroups terminfo text transformers wlPprintExtras
   ];
diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix
index 4c8eb53c99566..71601c9306dd8 100644
--- a/pkgs/development/libraries/haskell/x509/default.nix
+++ b/pkgs/development/libraries/haskell/x509/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "x509";
-  version = "1.4.11";
-  sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga";
+  version = "1.4.12";
+  sha256 = "0bfsmmngpvghbfljxa2gymf6hvsw04snw6fr2r6hpaw40njxfxxj";
   buildDepends = [
     asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes
     filepath mtl pem time
diff --git a/pkgs/development/libraries/haskell/xlsx/default.nix b/pkgs/development/libraries/haskell/xlsx/default.nix
index 779814c05dd89..e2fdfa0d1a758 100644
--- a/pkgs/development/libraries/haskell/xlsx/default.nix
+++ b/pkgs/development/libraries/haskell/xlsx/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xlsx";
-  version = "0.1.0.2";
-  sha256 = "0m9ph34mpnc6vj1d3x80y0gaya5bqdhfa193jn0a8clw4qz88sbr";
+  version = "0.1.0.3";
+  sha256 = "1i1dfb6gv4h3nc9ja7yxjzb8g207vzp58dnk4rgfcfglyvadn8kp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 3df8c163d63e4..ddd6129dd83c3 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.2.1";
-  sha256 = "1bh0d2fqcdbx2dq5ybipf7ws59blrb8yd98z1rnbvv1fj9r0xw10";
+  version = "1.2.2";
+  sha256 = "0rya11zzkqkq9jspd3q75b50l0p42aq3ka77by0wan373hw4ydan";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq
@@ -19,6 +19,7 @@ cabal.mkDerivation (self: {
     blazeMarkup conduit hspec HUnit resourcet text transformers
     xmlTypes
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/snoyberg/xml";
     description = "Pure-Haskell utilities for dealing with XML with the conduit package";
diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix
index 794808eed0d06..1f4b2474d75cd 100644
--- a/pkgs/development/libraries/haskell/xmlhtml/default.nix
+++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmlhtml";
-  version = "0.2.3.2";
-  sha256 = "1djw9d0hff9ii0n1bgbjjsca9n0w7mxj3ivf9dslyr3kv3yb4013";
+  version = "0.2.3.3";
+  sha256 = "0n95284z24ddgw7v8zjqzanyrshxydcxs4ivchpj88gh5r3ryv5j";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
index 9f577fc4520be..a47f3bed59da5 100644
--- a/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 1224e105c3fe2..f15d96df0057f 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -12,8 +12,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.3.4.2";
-  sha256 = "0hf5x1qhpxil3na7f1vdjr5i5n7q41a23ikkra9avg3yss94k04d";
+  version = "1.3.4.6";
+  sha256 = "17lp99pinq72if527ml4sfqvvjn7kmkcc5jq1l9vsbfgqckmqcff";
   buildDepends = [
     aeson attoparsecConduit authenticate base16Bytestring
     base64Bytestring binary blazeBuilder blazeHtml blazeMarkup byteable
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 27a1c1522ef9f..8a5d21a30aa86 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -12,8 +12,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.12.4";
-  sha256 = "1pg1zxixgsqz5da2dhs94zi77h63jz3llf0049fgdfg166c685vj";
+  version = "1.2.13";
+  sha256 = "11378w4r48d41cdigcmrcqzrl70vxxqdwq3j1da6dbmdx7nksxfk";
   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 857b237ba428e..e27f751e6b15c 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -13,8 +13,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.19.1";
-  sha256 = "1021z0jrfbafbdybpj0jkacr9ljyap5cpmfk2911dsz3nz7sy6zg";
+  version = "1.2.20.1";
+  sha256 = "188mfw9ag6287azb633xznwrbsavy5k12ycg2aahrxd84g6xjnan";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit conduitExtra cookie
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 57f456823c2de..d2e7b45e57ea6 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.15.2";
-  sha256 = "05r7w65n63qrlvxlm2j4s0vin4p7gc4cqa8j83465mnl1dzxliy1";
+  version = "1.3.16";
+  sha256 = "0dqmp0df0ahayvg4f4fvn6kwpr3b5d5qfzvk3vwk8bnivk6jrwj5";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
     dataDefault emailValidate hamlet networkUri persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index 64a2bd7730f74..fdfd55272470d 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-persistent";
-  version = "1.2.3";
-  sha256 = "1kdspz6y32r8kl0qk89hgwi4n6dnxch7wriv829cnwqm0bzjfdpw";
+  version = "1.2.3.1";
+  sha256 = "1mmy1l91ksjvwi2zr1wnb50vshs4pdri9rcaracwrnrmdpbmyy3s";
   buildDepends = [
     blazeBuilder conduit persistent persistentTemplate resourcePool
     resourcet transformers yesodCore
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 9cc7a380f66a5..f344e5929620c 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.5";
-  sha256 = "0qk6qqigrqygczsnfrpg7psfz6gy5rqm9lfbhzaw64n4jklmzw3n";
+  version = "1.2.6";
+  sha256 = "0509kd0qwwd83fnw2zr156l01h4hi4hd9lfkjx7dp8ky6506515f";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index a029eab6f1218..ee8dc5945987f 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchurl, fixDarwinDylibNames }:
 
 let
-
   pname = "icu4c";
-  version = "52.1";
+  version = "53.1";
 in
 stdenv.mkDerivation {
   name = pname + "-" + version;
@@ -11,7 +10,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
       + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g";
+    sha256 = "0a4sg9w054640zncb13lhrcjqn7yg1qilwd1mczc4w60maslz9vg";
   };
 
   makeFlags = stdenv.lib.optionalString stdenv.isDarwin
@@ -35,10 +34,10 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Unicode and globalization support library";
     homepage = http://site.icu-project.org/;
-    maintainers = with stdenv.lib.maintainers; [raskin urkud];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ raskin urkud ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
index dd8ad8b356152..6fd204c236f70 100644
--- a/pkgs/development/libraries/ilixi/default.nix
+++ b/pkgs/development/libraries/ilixi/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    broken = true; # broken by the directfb 1.6.3 -> 1.7.6 update
   };
 }
diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
index f1da2c064092b..67620881bca64 100644
--- a/pkgs/development/libraries/isl/0.12.2.nix
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix
index 7e08c8afe6f62..931ee831b734f 100644
--- a/pkgs/development/libraries/isl/default.nix
+++ b/pkgs/development/libraries/isl/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ gmp ];
   patches = [ ./fix-gcc-build.diff ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/java/commons/bcel/default.nix b/pkgs/development/libraries/java/commons/bcel/default.nix
new file mode 100644
index 0000000000000..0bcd164a525d3
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/bcel/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  version = "5.2";
+  name    = "commons-bcel-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/bcel/binaries/bcel-${version}.tar.gz";
+    sha256 = "13ppnd6afljdjq21jpn4ik2h1yxq8k2kg21ghi0lyb1yap1rd7k6";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp bcel-5.2.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-bcel/";
+    description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
new file mode 100644
index 0000000000000..2c20d9a9b362a
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "1.8.1";
+  name    = "commons-compress-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
+    sha256 = "11viabgf34r3zx1avj51n00hzmx89kym3i90l6a5v5dbfh61h0lp";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-compress";
+    description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files.";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/fileupload/default.nix b/pkgs/development/libraries/java/commons/fileupload/default.nix
new file mode 100644
index 0000000000000..ebb8a7d7f9db2
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/fileupload/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  version = "1.3.1";
+  name    = "commons-fileupload-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/fileupload/binaries/${name}-bin.tar.gz";
+    sha256 = "1jy7w2j2ay56mpq4ij3331cf9zgpkm832ydr63svb35j0ymnky72";
+  };
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp lib/*.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-fileupload";
+    description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications.";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/io/default.nix b/pkgs/development/libraries/java/commons/io/default.nix
new file mode 100644
index 0000000000000..5c80bcadf4b96
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/io/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "2.4";
+  name    = "commons-io-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/io/binaries/${name}-bin.tar.gz";
+    sha256 = "0m5xmjfr9k2zmbrz425q530jd0lm6368c4wm3jsjlsrqmqjpsvz1";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-io";
+    description = "A library of utilities to assist with developing IO functionality";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/lang/default.nix b/pkgs/development/libraries/java/commons/lang/default.nix
new file mode 100644
index 0000000000000..82806871a62e5
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/lang/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3.2";
+  name    = "commons-lang-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/lang/binaries/commons-lang3-${version}-bin.tar.gz";
+    sha256 = "1fmcx52h4cd2b7bplm7wy3725vh8bix64j3ykkxcn357y4j8ddzr";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-lang";
+    description = "Provides additional methods to manipulate standard Java library classes";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/math/default.nix b/pkgs/development/libraries/java/commons/math/default.nix
new file mode 100644
index 0000000000000..ed04e2f410b41
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/math/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3";
+  name    = "commons-math-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz";
+    sha256 = "1xs71c4vbai6zr84982g4ggv6c18dhkilkzw9n1irjqnjbgm5kzc";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-math/";
+    description = "A library of lightweight, self-contained mathematics and statistics components";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/jakarta-bcel/builder.sh b/pkgs/development/libraries/java/jakarta-bcel/builder.sh
deleted file mode 100755
index 9ead7cfebde7e..0000000000000
--- a/pkgs/development/libraries/java/jakarta-bcel/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-tar zxvf $src
-cd bcel-5.1
-mkdir -p $out/share/java/
-cp bcel-5.1.jar $out/share/java/
diff --git a/pkgs/development/libraries/java/jakarta-bcel/default.nix b/pkgs/development/libraries/java/jakarta-bcel/default.nix
deleted file mode 100644
index 1ff88a3624731..0000000000000
--- a/pkgs/development/libraries/java/jakarta-bcel/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, regexp}:
-
-stdenv.mkDerivation {
-  name = "jakarta-bcel-5.1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://tarballs.nixos.org/bcel-5.1.tar.gz;
-    md5 = "318f22e4f5f59b68cd004db83a7d65dc";
-  };
-
-  inherit regexp;
-  buildInputs = [stdenv];
-}
diff --git a/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh b/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh
deleted file mode 100755
index d95feb5eeb44f..0000000000000
--- a/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-tar zxvf $src
-mkdir -p $out
-mv $name/* $out
diff --git a/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix b/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix
deleted file mode 100644
index a609532f28255..0000000000000
--- a/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{stdenv, fetchurl} :
-
-stdenv.mkDerivation {
-  name = "commons-fileupload-1.0";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://archive.apache.org/dist/jakarta/commons/fileupload/binaries/commons-fileupload-1.0.tar.gz;
-    md5 = "5618b26b1a5c006d7236fb4465e907b6";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/development/libraries/java/jakarta-regexp/default.nix b/pkgs/development/libraries/java/jakarta-regexp/default.nix
deleted file mode 100644
index 55c3beff70a58..0000000000000
--- a/pkgs/development/libraries/java/jakarta-regexp/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl}:
-
-# I want some provides mechanism for jar files. These
-# jars can then be added to the CLASSPATH by a dependent package.
-
-stdenv.mkDerivation {
-  name = "jakarta-regexp-1.4";
-  builder = ./java-bin-builder.sh;
-
-  src = fetchurl {
-    url = http://tarballs.nixos.org/jakarta-regexp-1.4.tar.gz;
-    md5 = "d903d84c949df848009f3bf205b32c97";
-  };
-
-  jars = ["jakarta-regexp-1.4.jar"];
-
-  buildInputs = [stdenv];
-}
diff --git a/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh b/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh
deleted file mode 100755
index c26173ab457a2..0000000000000
--- a/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-tar zxvf $src
-cd jakarta-regexp-1.4
-mkdir -p $out/share/java/
-cp jakarta-regexp-1.4.jar $out/share/java/
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix
index 9a485906e5366..fd7f5367c8e0a 100644
--- a/pkgs/development/libraries/javascript/jquery-ui/default.nix
+++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix
@@ -1,29 +1,19 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "jquery-ui-1.10.4";
+  name = "jquery-ui-1.11.1";
 
   src = fetchurl {
-    url = "http://jqueryui.com/resources/download/${name}.custom.zip";
-    sha256 = "04kp27ln74j4k2jacs54264x2bsdjx1dxlw5zlpd889jqv2m6dfc";
+    url = "http://jqueryui.com/resources/download/${name}.zip";
+    sha256 = "05dlcfwklymx94fb4n88l5syf80l6zrs862zzmla477vd8ndk537";
   };
 
   buildInputs = [ unzip ];
 
   installPhase =
     ''
-      mkdir -p $out
-      cp -prvd css js $out/
-
-      # For convenience, provide symlinks "jquery.min.js" etc. (i.e.,
-      # without the version number).
-      pushd $out/js
-      ln -s jquery-ui-*.custom.js jquery-ui.js
-      ln -s jquery-ui-*.custom.min.js jquery-ui.min.js
-      ln -s jquery-1.*.js jquery.js
-      popd
-      pushd $out/css/smoothness
-      ln -s jquery-ui-*.custom.css jquery-ui.css
+      mkdir -p "$out/js"
+      cp -rv . "$out/js"
     '';
 
   meta = {
diff --git a/pkgs/development/libraries/javascript/jquery/default.nix b/pkgs/development/libraries/javascript/jquery/default.nix
new file mode 100644
index 0000000000000..7dd2b6284fa31
--- /dev/null
+++ b/pkgs/development/libraries/javascript/jquery/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, compressed ? true }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "jquery-1.11.1";
+
+  src = if compressed then
+    fetchurl {
+      url = "http://code.jquery.com/${name}.min.js";
+      sha256 = "0hgly37jhg0n5cqlx3ylmwcxkxmbkvv07f9z9pm94jyxq7gcc2sl";
+    }
+    else
+    fetchurl {
+      url = "http://code.jquery.com/${name}.js";
+      sha256 = "1g7nhy8dwzzai7h7m800fsig4gzw34kjxxbpqdac2y8ch9586a9h";
+    };
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p "$out/js"
+      cp -v "$src" "$out/js/jquery.js"
+      ${optionalString compressed ''
+        (cd "$out/js" && ln -s jquery.js jquery.min.js)
+      ''}
+    '';
+
+  meta = with stdenv.lib; {
+    description = "JavaScript library designed to simplify the client-side scripting of HTML";
+    homepage = http://jquery.com/;
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 7a45ca0f22722..a50163c601d41 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -7,9 +7,9 @@ stdenv.mkDerivation rec {
     project = "json-glib";
     major = "1";
     minor = "0";
-    patchlevel = "0";
+    patchlevel = "2";
     extension = "xz";
-    sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde";
+    sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a";
   };
 
   configureflags= "--with-introspection" ; 
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index 6f874450fc58f..49598cfae6883 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon,
+{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, phonon,
   gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }:
 
 stdenv.mkDerivation rec {
-  name = "kdevplatform-1.6.0";
+  name = "kdevplatform-1.7.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/4.6.0/src/${name}.tar.xz";
-    sha256 = "cdf7c88ca8860258f46e41d2107c826a307212fd041345bee54fbd70c9794f80";
+    url = "mirror://kde/stable/kdevelop/4.7.0/src/${name}.tar.xz";
+    sha256 = "bfd765019511c5c9abc19bc412c75d7abd468f1a077ce4bc471cd6704b9f53f7";
   };
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index eeb09a68afbe4..e1b4798dc0c14 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "krb5";
-  version = "1.11.3";
+  version = "1.12.2";
   name = "${pname}-${version}";
   webpage = http://web.mit.edu/kerberos/;
 in
@@ -11,8 +11,8 @@ stdenv.mkDerivation (rec {
   inherit name;
 
   src = fetchurl {
-    url = "${webpage}/dist/krb5/1.11/${name}-signed.tar";
-    sha256 = "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs";
+    url = "${webpage}dist/krb5/1.12/${name}-signed.tar";
+    sha256 = "0i1p9xx5s9q0sqnnz7f3rba07882zciw0mwc6yvv7hmm0w0iig89";
   };
 
   buildInputs = [ perl ncurses yacc ];
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
new file mode 100644
index 0000000000000..31dfe6085ee16
--- /dev/null
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libHX-3.21";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libhx/libHX/3.21/${name}.tar.xz";
+    sha256 = "0wcr6kbhsw6v4js7q4p7fhli37c39dv1rryjf768rkwshl2z8f6v";
+  };
+
+  patches = [];
+
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = ''
+    sh autogen.sh
+    '';
+
+  meta = {
+    homepage = http://libhx.sourceforge.net/;
+    longDescription = ''
+      libHX is a C library (with some C++ bindings available) that provides data structures
+      and functions commonly needed, such as maps, deques, linked lists, string formatting
+      and autoresizing, option and config file parsing, type checking casts and more.
+      '';
+    maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 2f9e1786473e7..ce0b0d5d755fe 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,17 +26,17 @@ with { inherit (stdenv.lib) optional optionals; };
 
 let
   result = {
-    libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685";
-    libav_9   = libavFun   "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a";
-    libav_10  = libavFun  "10.3"  "1fq83rc5534fjqjlhkw5i9k54dmyqn2pgvyillm6pws8rkn9yb5r";
+    libav_0_8 = libavFun "0.8.16" "df88b8f7d04d47edea8b19d80814227f0c058e57";
+    libav_9   = libavFun   "9.17" "5899d51947b62f6b0cf9795ec2330d5ed59a3273";
+    libav_10  = libavFun  "10.5"  "925a45d2700a436c28e0b663510fc8df5bb7e861";
   };
 
-  libavFun = version : sha256 : stdenv.mkDerivation rec {
+  libavFun = version : sha1 : stdenv.mkDerivation rec {
     name = "libav-${version}";
 
     src = fetchurl {
       url = "${meta.homepage}/releases/${name}.tar.xz";
-      inherit sha256;
+      inherit sha1; # upstream directly provides sha1 of releases over https
     };
     configureFlags =
       assert stdenv.lib.all (x: x!=null) buildInputs;
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index f0eea80e89d21..34352484738c0 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -1,37 +1,47 @@
-{stdenv, fetchgit, autoconf, automake, libtool, libaacs ? null, jdk ? null, ant ? null, withAACS ? false}:
+{ stdenv, fetchurl, pkgconfig
+, withAACS ? false, libaacs ? null, jdk ? null, ant ? null
+, withMetadata ? true, libxml2 ? null
+, withFonts ? true, freetype ? null
+}:
 
 assert withAACS -> jdk != null && ant != null && libaacs != null;
+assert withMetadata -> libxml2 != null;
+assert withFonts -> freetype != null;
 
 # Info on how to use:
 # https://wiki.archlinux.org/index.php/BluRay
 
-let baseName = "libbluray";
-    version  = "0.2.1";
+stdenv.mkDerivation rec {
+  baseName = "libbluray";
+  version  = "0.6.0";
+  name = "${baseName}-${version}";
 
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}p1";
-
-  src = fetchgit {
-    url = git://git.videolan.org/libbluray.git;
-    rev = "3b9a9f044644a6abe9cb09377f714ded9fdd6c87";
-    sha256 = "551b623e76c2dba44b5490fb42ccdc491b28cd42841de28237b8edbed0f0711c";
+  src = fetchurl {
+    url = "ftp://ftp.videolan.org/pub/videolan/${baseName}/${version}/${name}.tar.bz2";
+    sha256 = "0zsk16p7rxwbyizm87i7x2fcy3gwjfnlfd2gi2n17fv6gajvsyv2";
   };
 
-  nativeBuildInputs = [autoconf automake libtool];
-  buildInputs = stdenv.lib.optionals withAACS [jdk ant libaacs];
-  NIX_LDFLAGS = stdenv.lib.optionalString withAACS "-laacs";
+  nativeBuildInputs = with stdenv.lib;
+                      [pkgconfig]
+                      ++ optional withAACS ant
+                      ;
 
-  preConfigure = "./bootstrap";
-  configureFlags = ["--disable-static"] ++ stdenv.lib.optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"];
+  buildInputs =  with stdenv.lib;
+                 optionals withAACS [jdk libaacs]
+              ++ optional withMetadata libxml2
+              ++ optional withFonts freetype
+              ;
 
-  # From Handbrake
-  patches = [ ./A01-filter-dup.patch ];
+  configureFlags =  with stdenv.lib;
+                    optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"]
+                 ++ optional (! withMetadata) "--without-libxml2"
+                 ++ optional (! withFonts) "--without-freetype"
+                 ;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index 32035709d8f9a..21a07d6f7d4bc 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
     homepage = http://libcxx.llvm.org/;
     description = "A new implementation of the C++ standard library, targeting C++11";
     license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
index 8218cbb966f0a..dd1f46a9ab387 100644
--- a/pkgs/development/libraries/libc++abi/default.nix
+++ b/pkgs/development/libraries/libc++abi/default.nix
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
     homepage = http://libcxxabi.llvm.org/;
     description = "A new implementation of low level support for a standard C++ library";
     license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libchamplain/0.6.nix b/pkgs/development/libraries/libchamplain/0.6.nix
deleted file mode 100644
index a2b35a7265180..0000000000000
--- a/pkgs/development/libraries/libchamplain/0.6.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, cairo, clutter, sqlite
-, clutter_gtk_0_10, libsoup /*, libmenphis */ }:
-
-stdenv.mkDerivation rec {
-  name = "libchamplain-0.6.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libchamplain/0.6/${name}.tar.gz";
-    sha256 = "1l1in4khnral157j46aq2d26nviz23icnm353587vcwjhdbw86sg";
-  };
-
-  buildInputs = [ pkgconfig ];
-
-  # These all appear in `champlain{,-gtk}-0.6.pc'.
-  propagatedBuildInputs =
-    [ glib gtk cairo clutter clutter_gtk_0_10 sqlite libsoup ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
-
-  meta = {
-    homepage = http://projects.gnome.org/libchamplain/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    description = "libchamplain, a C library providing a ClutterActor to display maps";
-
-    longDescription =
-      '' libchamplain is a C library providing a ClutterActor to display
-         maps.  It also provides a Gtk+ widget to display maps in Gtk+
-         applications.  Python and Perl bindings are also available.  It
-         supports numerous free map sources such as OpenStreetMap,
-         OpenCycleMap, OpenAerialMap, and Maps for free.
-      '';
-
-     maintainers = [ ];
-     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/libchardet/default.nix b/pkgs/development/libraries/libchardet/default.nix
new file mode 100644
index 0000000000000..f7834c56b63ac
--- /dev/null
+++ b/pkgs/development/libraries/libchardet/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "libchardet-1.0.4";
+  
+  src = fetchurl {
+    url = "ftp://ftp.oops.org/pub/oops/libchardet/${name}.tar.bz2";
+    sha256 = "0cvwba4la25qw70ap8jd5r743a9jshqd26nnbh5ph68zj1imlgzl";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's Universal Charset Detector C/C++ API";
+    homepage = ftp://ftp.oops.org/pub/oops/libchardet/index.html;
+    license = licenses.mpl11;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index 1382af16484c4..27c803fd81e03 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, groff }:
 
 stdenv.mkDerivation rec {
-  name = "libedit-20130712-3.1";
+  name = "libedit-20140620-3.1";
 
   src = fetchurl {
     url = "http://www.thrysoee.dk/editline/${name}.tar.gz";
-    sha256 = "0dwav34041sariyl00nr106xmn123bnxir4qpn5y47vgssfim6sx";
+    sha256 = "1wnapwcpl4yq8p95j898jl0hsr39if28qzm5a7zwkbplihm9nax2";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -15,10 +15,7 @@ stdenv.mkDerivation rec {
     sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
   '';
 
-  # taken from gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libedit/files/
-  patches = [ ./freebsd.patch ./freebsd_weak_ref.patch ];
-
-  configureFlags = "--enable-widec";
+  configureFlags = [ "--enable-widec" ];
 
   propagatedBuildInputs = [ ncurses ];
 
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index 7c948aa982471..fad0170ade78a 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,10 +1,11 @@
-{ fetchurl, stdenv, zlib, openssl, libuuid, file }:
+{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "libewf-20100226";
+  version = "20140608";
+  name = "libewf-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/libewf/${name}.tar.gz";
-    sha256 = "aedd2a6b3df6525ff535ab95cd569ebb361a4022eb4163390f26257913c2941a";
+    url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz";
+    sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i";
   };
 
   preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure'';
@@ -14,6 +15,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library for support of the Expert Witness Compression Format";
     homepage = http://sourceforge.net/projects/libewf/;
-    license = "free";
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = [ stdenv.lib.maintainers.raskin ] ;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream
new file mode 100644
index 0000000000000..a071132463f8c
--- /dev/null
+++ b/pkgs/development/libraries/libewf/default.upstream
@@ -0,0 +1,7 @@
+url https://code.google.com/p/libewf/
+version_link 'googledrive[.]com'
+version_link '[.]tar[.]'
+do_overwrite () {
+  do_overwrite_just_version
+  set_var_value url "$CURRENT_URL"
+}
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index 7a005c9fda2a5..9f42a1c8c3e8c 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,13 +1,19 @@
-{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala }:
-
+{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala
+, extraOnly ? false }:
+let name = "libfm-1.2.2.1";
+    inherit (stdenv.lib) optional;
+in
 stdenv.mkDerivation {
-  name = "libfm-1.2.0";
+  name = if extraOnly then "libfm-extra-1.2.2.1" else "libfm-1.2.2.1";
   src = fetchurl {
-    url = "mirror://sourceforge/pcmanfm/libfm-1.2.0.tar.xz";
-    sha256 = "08pwdrmfm9rl41lj2niyjqq2bdvydxk7v2shjxh5gk1xwj238lgh";
+    url = "mirror://sourceforge/pcmanfm/libfm-1.2.2.1.tar.xz";
+    sha256 = "0aa37arr0h2nppjh7ppf00np2d8mb43imvfq9b7wq5cnzpvs7c6v";
   };
 
-  buildInputs = [ glib gtk intltool menu-cache pango pkgconfig vala ];
+  buildInputs = [ glib gtk intltool pango pkgconfig vala ]
+                ++ optional (!extraOnly) menu-cache;
+
+  configureFlags = optional extraOnly "--with-extra-only";
 
   meta = with stdenv.lib; {
     homepage = "http://blog.lxde.org/?cat=28/";
diff --git a/pkgs/development/libraries/libfreefare/default.nix b/pkgs/development/libraries/libfreefare/default.nix
new file mode 100644
index 0000000000000..17afa9423b0e4
--- /dev/null
+++ b/pkgs/development/libraries/libfreefare/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libnfc, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libfreefare-${version}";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "https://libfreefare.googlecode.com/files/libfreefare-0.4.0.tar.bz2";
+    sha256 = "0r5wfvwgf35lb1v65wavnwz2wlfyfdims6a9xpslf4lsm4a1v8xz";
+  };
+
+  buildInputs = [ pkgconfig libnfc openssl ];
+
+  meta = with stdenv.lib; {
+    description = "The libfreefare project aims to provide a convenient API for MIFARE card manipulations";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/libfreefare/;
+    maintainers = with maintainers; [bobvanderlinden];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 663bd944fb924..4a6021918de4a 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, bash, gettext }:
 
 stdenv.mkDerivation (rec {
-  name = "libgpg-error-1.12";
+  name = "libgpg-error-1.16";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a";
+    sha256 = "16xv59zcr177gvgj97vg0rm4rixrpb4lz1q9fji3xay47i83gm62";
   };
 
-  # If architecture-dependant MO files aren't available, they're generated
+  # If architecture-dependent MO files aren't available, they're generated
   # during build, so we need gettext for cross-builds.
   crossAttrs.buildInputs = [ gettext ];
 
   doCheck = true;
 
   meta = {
-    description = "Libgpg-error, a small library that defines common error values for all GnuPG components";
+    homepage = "https://www.gnupg.org/related_software/libgpg-error/index.html";
+    description = "A small library that defines common error values for all GnuPG components";
 
     longDescription = ''
       Libgpg-error is a small library that defines common error values
@@ -24,10 +25,9 @@ stdenv.mkDerivation (rec {
       Daemon and possibly more in the future.
     '';
 
-    homepage = http://gnupg.org;
-
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
 
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index dc041490f78a7..d739b0948743c 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "1w2bfy6619fgrigasgmx3lnill8c99lq7blmy2bpp0qqqqwdb93d";
+    sha256 = "0ij80nixichihv3iic7cgdq3irssk8waz1c25m6yypjl4kg6n3k0";
   };
   
   nativeBuildInputs = [ pkgconfig gettext ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras. 
     '';
-    version = "2.5.5";
+    version = "2.5.5.1";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus; 
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libharu/default.nix b/pkgs/development/libraries/libharu/default.nix
index db1aa4a7473ce..11b3bf4f6d5eb 100644
--- a/pkgs/development/libraries/libharu/default.nix
+++ b/pkgs/development/libraries/libharu/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
         name = "linpng15.patch";
 
         src = fetchurl {
-          url = https://github.com/tony2001/libharu/commit/e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934.diff;
-          sha256 = "1993vskpycyr43rwdp8f688fc5zvllrqq935r7rhsgbqbipkk73h";
+          url = https://github.com/libharu/libharu/commit/e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934.diff;
+          sha256 = "07k2x5d4pvpf8a5hvfb9pj0dpjgcvv8sdvxwx3wzbwqsf9swwrxb";
         };
 
         nativeBuildInputs = [ patchutils ];
@@ -26,9 +26,9 @@ stdenv.mkDerivation {
         buildCommand = "filterdiff -x '*/CHANGES' $src > $out";
       })
       (fetchurl {
-        url = https://github.com/tony2001/libharu/commit/b472b64ab44d834eb29d237f31bf12396fee9aca.diff;
+        url = https://github.com/libharu/libharu/commit/b472b64ab44d834eb29d237f31bf12396fee9aca.diff;
         name = "endless-loop.patch";
-        sha256 = "1c95mn6a5wddznqgrsaf3xsh27lz8q0pzc0a7ampxpscq0w6c9fq";
+        sha256 = "1jrajz6zdch2pyzjkhmhm1b6ms8dk62snps7fwphnpvndrm4h4rr";
       })
     ];
 
diff --git a/pkgs/development/libraries/libibmad/default.nix b/pkgs/development/libraries/libibmad/default.nix
new file mode 100644
index 0000000000000..8a4f27ad9c09f
--- /dev/null
+++ b/pkgs/development/libraries/libibmad/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libibumad }:
+
+stdenv.mkDerivation rec {
+  name = "libibmad-1.3.11";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
+    sha256 = "1d5lh2lhz7zzs7bbjjv9i0pj3v1xgp8sdmcr425h563v2c3bp53h";
+  };
+
+  buildInputs = [ libibumad ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libibumad/default.nix b/pkgs/development/libraries/libibumad/default.nix
new file mode 100644
index 0000000000000..911c5c846125d
--- /dev/null
+++ b/pkgs/development/libraries/libibumad/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libibumad-1.3.9";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
+    sha256 = "0j52aiwfgasf7bzx65svd5h2ya7848c5racf191i8irsxa155q74";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 39795267a2c5a..dc197fc64099f 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.35";
+  name = "libmicrohttpd-0.9.37";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw";
+    sha256 = "1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357";
   };
 
   buildInputs = [ curl libgcrypt ];
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index c200870080489..7ecac071ce40e 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
     license = stdenv.lib.licenses.gpl2;
-    maintainer = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index b3eee8ed4342c..3cb9629e3e1b0 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -2,11 +2,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "liboauth-1.0.2";
+  name = "liboauth-1.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/liboauth/${name}.tar.gz";
-    sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv";
+    sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd";
   };
 
   buildInputs = [ nss openssl ];
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index 492538f18026c..57b8b2fc66ecb 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl }:
 
-let
+stdenv.mkDerivation rec {
   name = "libogg-1.3.2";
-in
-stdenv.mkDerivation {
-  inherit name;
-  
+
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
     sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 3782dabc67bd0..7b8f40d1886a2 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,23 +1,22 @@
-{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}:
+{ stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-20130821-git-f0f8a2";
-  src = fetchgit {
-    url = "http://git.code.sf.net/p/otr/libotr";
-    rev = "f0f8a2";
-    sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm";
-  };
-
-  NIX_LDFLAGS = "-lssp";
+  name = "libotr-4.0.0";
 
-  propagatedBuildInputs = [ libgcrypt autoconf automake libtool ];
+  src = fetchurl {
+    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    sha256 = "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z";
+  };
 
-  preConfigure = "autoreconf -vfi";
+  buildInputs = [ autoreconfHook ];
+  propagatedBuildInputs = [ libgcrypt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.cypherpunks.ca/otr/";
     repositories.git = git://git.code.sf.net/p/otr/libotr;
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
     description = "Library for Off-The-Record Messaging";
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index ff04c7181df59..16fc3bffacee6 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = stdenv.lib.licenses.libpng;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix
index 153517986334c..85ebe56d86654 100644
--- a/pkgs/development/libraries/libpng/15.nix
+++ b/pkgs/development/libraries/libpng/15.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.5.18";
+  name = "libpng-1.5.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "119m71p60iq3yn2n8ckl4j4cxvbpddj6sgdpa6g05jzyg7vw54y0";
+    sha256 = "1s990cdsdlbb78aq4sj2vq2849p2nbbbnbk5p8f9w45rn0v5q98y";
   };
 
   propagatedBuildInputs = [ zlib ];
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = stdenv.lib.licenses.libpng;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 1f04ae8fca54f..06fff495f541c 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.12";
-  sha256 = "0pkcirbfzhqqsm3hr2alxprw5n22a836qk4df1jnns6jk79gcby3";
+  version = "1.6.13";
+  sha256 = "09g631h1f1xvrdiy36mh1034r9w46damp9jcg7nm507wlmacxj6r";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-    sha256 = "0r2vmsc4cvxisjr7jqw2vjf66isb2fhs4nnssz3l3jgdangj8wz0";
+    sha256 = "017pnxp3zhhlh6mg2yqn5xrb6dcxc5p3dp1kr46p8xx052i0hzqb";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
@@ -30,8 +30,8 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = licenses.libpng;
     platforms = platforms.all;
-    maintainers = [ maintainers.vcunat ];
+    maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix
index 9ef1ada0a424f..e8d4f98028f54 100644
--- a/pkgs/development/libraries/libresample/default.nix
+++ b/pkgs/development/libraries/libresample/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     description = "A real-time library for sampling rate conversion library";
     license = stdenv.lib.licenses.lgpl2Plus;
     homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html;
-    maintainers = stdenv.lib.maintainers.sander;
+    maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 0745313b41e7c..becca407ce925 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1a3yxwjs4qb0rwx6cfpvar0a8jmavb6ik580b27md08jhvq80if7";
   };
 
-  buildInputs = [ boost pkgconfig openssl zlib python libiconvOrNull geoip ];
+  buildInputs = [ boost boost.lib pkgconfig openssl zlib python libiconvOrNull geoip ];
 
   configureFlags = [ 
     "--with-boost=${boost}/include/boost" 
-    "--with-boost-libdir=${boost}/lib" 
+    "--with-boost-libdir=${boost.lib}/lib" 
     "--enable-python-binding"
     "--with-libgeoip=system"
     "--with-libiconv=yes"
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index b5665fe402e78..c562467802f14 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     libvpx check libconfig pkgconfig
   ];
 
-  doCheck = true;
+  doCheck = false;  # certian tests fail, upstream advice is to wait
 
   meta = {
     description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index e2ff06fcd430e..a4c8c167b39a4 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = ''
+    sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh
     substituteInPlace $out/libexec/libvirt-guests.sh \
       --replace "$out/bin" "${gettext}/bin"
     wrapProgram $out/sbin/libvirtd \
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 0dd99605b3366..80381743100ea 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl, libogg, pkgconfig }:
 
-let
+stdenv.mkDerivation rec {
   name = "libvorbis-1.3.4";
-in
-stdenv.mkDerivation {
-  inherit name;
-  
+
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz";
     sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g";
diff --git a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
deleted file mode 100644
index f94ca128228d2..0000000000000
--- a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, cmake, boostHeaders}:
-
-stdenv.mkDerivation {
-  name = "libyaml-cpp-0.3.0";
-
-  src = fetchurl {
-    url = http://yaml-cpp.googlecode.com/files/yaml-cpp-0.3.0.tar.gz;
-    sha256 = "10kv25zgq96ybxc6c19lzpax1xi5lpxrdqa9x52nffsql6skil1c";
-  };
-
-  buildInputs = [ cmake boostHeaders ];
-
-  meta = {
-    homepage = http://code.google.com/p/yaml-cpp/;
-    description = "A YAML parser and emitter for C++";
-    license = stdenv.lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index fb81dc425f1f4..1ba31a7a6d521 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, boostHeaders}:
+{ stdenv, fetchurl, cmake, boost }:
 
 stdenv.mkDerivation {
   name = "libyaml-cpp-0.5.1";
@@ -8,11 +8,13 @@ stdenv.mkDerivation {
     sha256 = "01kg0h8ksp162kdhyzn67vnlxpj5zjbks84sh50pv61xni990z1y";
   };
 
-  buildInputs = [ cmake boostHeaders ];
+  buildInputs = [ cmake boost ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/yaml-cpp/;
     description = "A YAML parser and emitter for C++";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix
index d0ad17048aa5c..33376cbdad3d0 100644
--- a/pkgs/development/libraries/libyaml/default.nix
+++ b/pkgs/development/libraries/libyaml/default.nix
@@ -14,5 +14,7 @@ stdenv.mkDerivation {
     homepage = http://pyyaml.org/;
     description = "A YAML 1.1 parser and emitter written in C";
     license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 994c013c6319d..a4dc7b5e93d19 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
     [
       qknight
     ];
-    platforms = with stdenv.lib.platforms;
-      linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
     license = stdenv.lib.licenses.bsd2;
     homepage = https://google.github.io/liquidfun/;
   };
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 88565d5d51b55..278eb8e9e523e 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,13 +1,20 @@
 { stdenv, fetchurl, alsaLib, bash, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "lirc-0.9.1";
+  name = "lirc-0.9.1a";
 
   src = fetchurl {
     url = "mirror://sourceforge/lirc/${name}.tar.bz2";
-    sha256 = "0vakq9x10hyj9k7iv35sm5f4dhxvk0miwxvv6kn0bhwkr2mnapj6";
+    sha256 = "191vhgsds221rzpzjibj005pfr182hq65hniqfd0qqsl5h1zwq8r";
   };
 
+  patches = [
+    (fetchurl {
+       url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lirc-0.9.1a-fix-segfaults.patch?h=packages/lirc";
+       sha256 = "00ainq7y8yh2r447968jid06cqfb1xirv24xxrkl0gvakrrv9gnh";
+    })
+  ];
+
   preBuild = "patchShebangs .";
 
   buildInputs = [ alsaLib help2man ];
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
index 8e2e202f43209..3131b6b291892 100644
--- a/pkgs/development/libraries/menu-cache/default.nix
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, glib, pkgconfig }:
+{ stdenv, fetchurl, glib, pkgconfig, libfm-extra }:
 
+let name = "menu-cache-0.7.0";
+in
 stdenv.mkDerivation {
-  name = "menu-cache-0.5.1";
+  inherit name;
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/menu-cache-0.5.1.tar.gz";
-    sha256 = "08m1msgbl6j7j72cwcg18klb99jif8h1phkcnbplxkdf3w15irh8";
+    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    sha256 = "0wwkk4jrcl2sp11bspabplchh4ipi1zyn39j3skyzgbm8k40gkhk";
   };
 
-  buildInputs = [ glib pkgconfig ];
+  buildInputs = [ glib pkgconfig libfm-extra ];
 
   meta = with stdenv.lib; {
     homepage = "http://blog.lxde.org/?tag=menu-cache";
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index bbad10898bf4d..54fd8d3810e3f 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -24,7 +24,7 @@ else
 */
 
 let
-  version = "10.2.5";
+  version = "10.2.6";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
 
   src =  fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "039is15p8pkhf8m0yiyb72zybl63xb9ckqzcg3xwi8zlyw5ryidl";
+    sha256 = "01n8ib190s12m8hiiyi4wfm9jhkbqjd769npjwvf965smp918cqr";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
index 9d9a524e86d02..b68f04f642fba 100644
--- a/pkgs/development/libraries/muparser/default.nix
+++ b/pkgs/development/libraries/muparser/default.nix
@@ -1,11 +1,14 @@
 {stdenv, fetchurl, unzip}:
 
-stdenv.mkDerivation {
-	name = "muparser-2.2.2";
-	src = fetchurl {
-		url = mirror://sourceforge/muparser/muparser_v2_2_2.zip;
-		sha256 = "0pncvjzzbwcadgpwnq5r7sl9v5r2y9gjgfnlw0mrs9wj206dbhx9";
-	};
+stdenv.mkDerivation rec {
+  name = "muparser-${version}";
+  version = "2.2.3";
+  url-version = stdenv.lib.replaceChars ["."] ["_"] version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip";
+    sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
+  };
 
   buildInputs = [ unzip ];
 
diff --git a/pkgs/development/libraries/mythes/default.nix b/pkgs/development/libraries/mythes/default.nix
index 8fc160ae11d55..dd40a39624499 100644
--- a/pkgs/development/libraries/mythes/default.nix
+++ b/pkgs/development/libraries/mythes/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, hunspell, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mythes-1.2.3";
+  name = "mythes-1.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/hunspell/${name}.tar.gz";
-    sha256 = "0f5q7yiwg9bw4a5zxg0dapqdfc2grfb4ss34ifir3mhhy4q3jf4j";
+    sha256 = "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y";
   };
 
   buildInputs = [ hunspell ];
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 0355ce25c62cf..01967718c4031 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.6"; in
+let version = "4.10.7"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
+    sha256 = "389af5cfa863ea9bc6de7b30c15f8a4f9bddd8002f8c6fdc8b33caef43893938";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 447030f5fccf6..630d189040968 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,11 +11,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.16.3";
+  version = "3.16.5";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/${name}.tar.gz";
-    sha256 = "657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_5_RTM/src/${name}.tar.gz";
+    sha256 = "e744b9fb2a6291d7eaf1b3f0157082f4214984db33f896e4adf3141340d64196";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 08069533713dd..d12423ffc27cd 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "onig-5.9.4";
-  
+  name = "onig-5.9.5";
+
   src = fetchurl {
-    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.4.tar.gz;
-    sha256 = "15q62c2id918fj2i7xbdrcc79xrdafdc75lhhld98rgq3y8j30lq";
+    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.5.tar.gz;
+    sha256 = "12j3fsdb8hbhnj29hysal9l7i7s71l0ln3lx8hjpxx5535wawjcz";
   };
-  
+
   meta = {
     homepage = http://www.geocities.jp/kosako3/oniguruma/;
     description = "Regular expressions library";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index 7dafcfce9481c..45ac75340b12f 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -1,19 +1,19 @@
 { lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
-, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages
+, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip
 , enableBloat ? false }:
 
-let v = "2.4.7"; in
+let v = "2.4.9"; in
 
 stdenv.mkDerivation rec {
   name = "opencv-${v}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/opencvlibrary/opencv-${v}.tar.gz";
-    sha256 = "0hravl3yhyv4r4n7vb055d4qnp893q2hc0fcmmncfh7sbdrnr3f4";
+    url = "mirror://sourceforge/opencvlibrary/opencv-${v}.zip";
+    sha256 = "0wacpc00dr57w4lxfvllqa177cnbgy2zmcx8pnf8x62lh6210c40";
   };
 
   buildInputs =
-    [ libjpeg libpng libtiff ]
+    [ unzip libjpeg libpng libtiff ]
     ++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index cfbbce2f55913..01a4e2e21daf2 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = 1; # !!!
 
-  meta = {
-    homepage = "http://www.openldap.org/";
+  meta = with stdenv.lib; {
+    homepage    = http://www.openldap.org/;
     description = "An open source implementation of the Lightweight Directory Access Protocol";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = with maintainers; [ lovek323 mornfall ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 15160d3afc49a..14d88e381b3d9 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homePage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
     longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 8c88df984f059..c972635c9c726 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -60,7 +60,12 @@ stdenv.mkDerivation {
     else "./config";
 
   configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
+    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" +
+    stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm";
+
+  preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") ''
+    sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
+  '';
 
   makeFlags = "MANDIR=$(out)/share/man";
 
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index cfa838f5a3701..4db1cb5b5246f 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "4.0.0";
+  version = "4.1.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "05dhj4s5k4qmhn2amca070xgh1gkcl42n040fhwsn3vm86524bdv";
+    sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr";
   };
   name = "libosip2-${version}";
 
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
     description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.linux;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream
new file mode 100644
index 0000000000000..ba0ed2a9b2993
--- /dev/null
+++ b/pkgs/development/libraries/osip/default.upstream
@@ -0,0 +1,3 @@
+url http://ftp.u-tx.net/gnu/osip/
+attribute_name libosip
+minimize_overwrite
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 4cf6bd44dd3b8..930d7b86f063e 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "pcre-8.34";
+  name = "pcre-8.35";
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
+    sha256 = "0nw66r92dr24vy9k4lw17bkv8x5nlzn6wx9hq4y2dvzgig3w2qd9";
   };
 
   # The compiler on Darwin crashes with an internal error while building the
diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix
index 58c639ee604c9..4d2c1d4349fc0 100644
--- a/pkgs/development/libraries/protobufc/default.nix
+++ b/pkgs/development/libraries/protobufc/default.nix
@@ -1,22 +1,23 @@
-{ fetchurl, stdenv, zlib, protobuf }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, protobuf, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "protobuf-c-0.15";
+  name = "protobuf-c-${version}";
+  version = "1.0.2";
 
-  src = fetchurl {
-    url = "http://protobuf-c.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0dh0180lzqk6n1r0qk38kgdy4x15mpkg5j4g2r31qhx52f757jwg";
+  src = fetchFromGitHub {
+    owner = "protobuf-c";
+    repo = "protobuf-c";
+    rev = "v${version}";
+    sha256 = "1harabw7qdgcmh098664xkcv8bkyach6i35sisc40yhvagr3fzsz";
   };
 
-  buildInputs = [ protobuf ];
+  buildInputs = [ autoreconfHook pkgconfig protobuf zlib ];
 
-  doCheck = true;
-
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = http://github.com/protobuf-c/protobuf-c/;
     description = "C bindings for Google's Protocol Buffers";
-
-    license = "BSD";
-
-    homepage = http://code.google.com/p/protobuf-c/;
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
new file mode 100644
index 0000000000000..52736ba5d3445
--- /dev/null
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, qt }:
+
+stdenv.mkDerivation rec {
+  pname = "qscintilla";
+  version = "2.8.3";
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla-gpl-${version}.tar.gz";
+    sha256 = "fb94e6d61c3ccd4bf167d5f092629e619f7069d42207469458998b761a7cf505";
+  };
+
+  buildInputs = [ qt ];
+
+  preConfigure = ''
+    cd Qt4Qt5
+    sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/libs," \
+           -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
+           -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \
+           -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \
+           qscintilla.pro
+    qmake qscintilla.pro
+  '';
+
+  # TODO PyQt Support.
+
+  meta = {
+    description = "A Qt port of the Scintilla text editing library";
+    longDescription = ''
+      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
+      control.
+
+      As well as features found in standard text editing components,
+      QScintilla includes features especially useful when editing and
+      debugging source code. These include support for syntax styling,
+      error indicators, code completion and call tips. The selection
+      margin can contain markers like those used in debuggers to
+      indicate breakpoints and the current line. Styling choices are
+      more open than with many editors, allowing the use of
+      proportional fonts, bold and italics, multiple foreground and
+      background colours and multiple fonts.
+    '';
+    homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
+    license = stdenv.lib.licenses.gpl2; # and gpl3 and commercial
+  };
+}
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
new file mode 100644
index 0000000000000..9eb068bebb0d1
--- /dev/null
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, zip, zlib, qt5 }:
+
+stdenv.mkDerivation rec {
+  name = "quazip-0.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quazip/${name}.tar.gz";
+    sha256 = "8af5e7f9bff98b5a2982800a292eae0176c2b41a98a8deab14f4e1cbe07674a4";
+  };
+
+  configurePhase = "cd quazip && qmake quazip.pro";
+
+  installFlags = "INSTALL_ROOT=$(out)";
+
+  buildInputs = [ zlib qt5 ];
+
+  meta = {
+    description = "Provides access to ZIP archives from Qt programs";
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = http://quazip.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/5.x.nix
index c208d5b9fe6b0..ad9860d855ef7 100644
--- a/pkgs/development/libraries/readline/readline5.nix
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -2,13 +2,14 @@
 
 stdenv.mkDerivation {
   name = "readline-5.2";
-  
+
   src = fetchurl {
     url = mirror://gnu/readline/readline-5.2.tar.gz;
     sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
   };
-  
+
   propagatedBuildInputs = [ncurses];
-  
+
   patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch;
 }
+
diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/6.2.nix
index d72d6566bbc94..d72d6566bbc94 100644
--- a/pkgs/development/libraries/readline/readline6.nix
+++ b/pkgs/development/libraries/readline/6.2.nix
diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/6.3.nix
index 17299e5f10d8a..38ecc034d8922 100644
--- a/pkgs/development/libraries/readline/readline6.3.nix
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, ncurses }:
 
-stdenv.mkDerivation (rec {
-  name = "readline-6.3";
+stdenv.mkDerivation rec {
+  name = "readline-6.3p08";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/${name}.tar.gz";
+    url = "mirror://gnu/readline/readline-6.3.tar.gz";
     sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
   };
 
@@ -15,9 +15,21 @@ stdenv.mkDerivation (rec {
   patches =
     [ ./link-against-ncurses.patch
       ./no-arch_only-6.3.patch
-    ];
-
-  meta = {
+    ]
+    ++
+    (let
+       patch = nr: sha256:
+         fetchurl {
+           url = "mirror://gnu/readline/readline-6.3-patches/readline63-${nr}";
+           inherit sha256;
+         };
+     in
+       import ./readline-6.3-patches.nix patch);
+
+  # Don't run the native `strip' when cross-compiling.
+  dontStrip = stdenv ? cross;
+
+  meta = with stdenv.lib; {
     description = "Library for interactive line editing";
 
     longDescription = ''
@@ -37,15 +49,10 @@ stdenv.mkDerivation (rec {
 
     homepage = http://savannah.gnu.org/projects/readline/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+
+    maintainers = [ maintainers.ludo ];
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = platforms.unix;
   };
 }
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/readline/readline-6.3-patches.nix b/pkgs/development/libraries/readline/readline-6.3-patches.nix
new file mode 100644
index 0000000000000..d0aaaf38f706e
--- /dev/null
+++ b/pkgs/development/libraries/readline/readline-6.3-patches.nix
@@ -0,0 +1,12 @@
+# Automatically generated by `update-patch-set.sh'; do not edit.
+
+patch: [
+(patch "001" "0vqlj22mkbn3x42qx2iqir7capx462dhagbzdw6hwxgfxavbny8s")
+(patch "002" "19g0l6vlfcqzwfwjj1slkmxzndjp4543hwrf26g8z216lp3h9qrr")
+(patch "003" "0bx53k876w8vwf4h2s6brr1i46ym87gi71bh8zl89n0gn3cbshgc")
+(patch "004" "1k2m8dg1awmjhmivdbx1c25866gfbpg0fy4845n8cw15zc3bjis5")
+(patch "005" "0jr7c28bzn882as5i54l53bhi723s1nkvzmwlh3rj6ld4bwqhxw7")
+(patch "006" "0mp5zgx50792gigkmjap3d0zpdv5qanii8djab7j6z69qsrpl8sw")
+(patch "007" "1sjv9w0mglh395i6hlq3ck7wdxvi2wyddlyb2j0jwg7cmnibayad")
+(patch "008" "11rpqhsxd132gc8455v51ma3a5zshznb0mh2p0zc5skcab7r7h1v")
+]
diff --git a/pkgs/development/libraries/readline/readline4.nix b/pkgs/development/libraries/readline/readline4.nix
deleted file mode 100644
index d9dcdc9f048fc..0000000000000
--- a/pkgs/development/libraries/readline/readline4.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation {
-  name = "readline-4.3";
-  src = fetchurl {
-    url = mirror://gnu/readline/readline-4.3.tar.gz;
-    md5 = "f86f7cb717ab321fe15f1bbcb058c11e";
-  };
-  propagatedBuildInputs = [ncurses];
-}
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index 9aab09094a0c6..938778734e093 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false
-, cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 192"
+, cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 384"
 }:
 
 # Atlas detects the CPU and optimizes its build accordingly. This is great when
@@ -15,13 +15,18 @@
 #   |---------------------------------------------+------------------------|
 #   | -b 32                                       | -b 64                  |
 #   | -A 18  (Pentium II)                         | -A 31 (Athlon K7)      |
-#   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 192 (SSE1 and SSE2) |
+#   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 384 (SSE1 and SSE2) |
 #
 # Users who want to compile a highly optimized version of ATLAS that's suitable
 # for their local machine can override these settings accordingly.
+#
+# The -V flags can change with each release as new instruction sets are added
+# because upstream thinks it's a good idea to add entries at the start of an
+# enum, rather than the end. If the build suddenly fails with messages about
+# missing instruction sets, you may need to poke around in the source a bit.
 
 let
-  version = "3.10.1";
+  version = "3.10.2";
 
   optionalString = stdenv.lib.optionalString;
   optional = stdenv.lib.optional;
@@ -32,7 +37,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2";
-    sha256 = "11ncgdc7kzb2y2gqb3sgarm5saj9fr07r3h2yh2h5bja429b85d2";
+    sha256 = "0bqh4bdnjdyww4mcpg6kn0x7338mfqbdgysn97dzrwwb26di7ars";
   };
 
   buildInputs = [ gfortran ];
@@ -67,5 +72,7 @@ stdenv.mkDerivation {
       portable performance. At present, it provides C and Fortran77 interfaces to a
       portably efficient BLAS implementation, as well as a few routines from LAPACK.
     '';
+
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index 873f59dba3ab8..1e8eec6ae452a 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.7";
-  name = "serf-${version}";
+  name = "serf-1.3.7";
 
   src = fetchurl {
     url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2";
@@ -28,11 +27,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "HTTP client library based on APR";
-    license = stdenv.lib.licenses.asl20 ;
+    license = stdenv.lib.licenses.asl20;
     maintainers = [stdenv.lib.maintainers.raskin];
     hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    inherit version;
-    downloadPage = "http://serf.googlecode.com/svn/src_releases/";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index f5394fffdaa8a..0fd3caffd5cca 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,51 +1,27 @@
-x@{builderDefsPackage
-  , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto
-  , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut
-  , openscenegraph, openal, expat, cmake, apr
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, plib, freeglut, xproto, libX11, libXext, xextproto, libXi
+, inputproto, libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg, freealut
+, openscenegraph, openal, expat, cmake, apr
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="simgear";
-    version="3.0.0";
-    name="${baseName}-${version}";
-    extension="tar.bz2";
-    url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}";
-    hash="05l0wvi0s4a98ihmjbpcc66rj6qy3hrsqkjs388bddf2ws3qyi09";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  name = "simgear-${version}";
+  version = "3.0.0";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.tar.bz2";
+    sha256 = "1ssrcmvk3a4dv0k4vjzndmirwmdgzk689d7wpmjm423nydmwajh0";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = [ "doCmake" "doMakeInstall" ];
+  buildInputs = [ plib freeglut xproto libX11 libXext xextproto libXi inputproto
+                  libICE libSM libXt libXmu mesa boost zlib libjpeg freealut
+                  openscenegraph openal expat cmake apr ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Simulation construction toolkit";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ftp://ftp.goflyflightgear.com/simgear/Source/";
-    };
+    homepage = https://gitorious.org/fg/simgear;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.lgpl2;
   };
-}) x
+}
 
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index a7db634dbd047..69617c0345e97 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -1,17 +1,26 @@
-{stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline}:
+{ stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline }:
 
-stdenv.mkDerivation {
-  name = "slang-2.2.1";
+stdenv.mkDerivation rec {
+  name = "slang-2.3.0";
   src = fetchurl {
-    url = ftp://ftp.fu-berlin.de/pub/unix/misc/slang/v2.2/slang-2.2.1.tar.bz2;
-    sha256 = "1qgfg6i5lzmw8j9aqd8pgz3vnhn80giij9bpgm5r3gmna2h0rzfj";
+    url = "http://www.jedsoft.org/releases/slang/${name}.tar.gz";
+    sha256 = "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy";
   };
+
   # Fix some wrong hardcoded paths
   preConfigure = ''
     sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" configure
-    sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c    
+    sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c
     sed -i -e "s|/bin/ln|ln|" src/Makefile.in
   '';
   configureFlags = "--with-png=${libpng} --with-z=${zlib} --with-pcre=${pcre} --with-readline=${readline}";
   buildInputs = [ncurses pcre libpng zlib readline];
+
+  meta = {
+    description = "A multi-platform programmer's library designed to allow a developer to create robust software";
+    homepage = http://www.jedsoft.org/slang/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platform = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
 }
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index acba85ec43b96..90469508d0e51 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "snappy-1.1.1";
+  name = "snappy-1.1.2";
   
-  src = fetchurl {
-    url = "http://snappy.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1czscb5i003jg1amw3g1fmasv8crr5g3d922800kll8b3fj097yp";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "snappy";
+    rev = "1ff9be9b8fafc8528ca9e055646f5932aa5db9c4";
+    sha256 = "1zyjj13max0z42g3ii54n3qn7rbcga34dbi26lpm7v5ya752shx7";
   };
 
-  # -DNDEBUG for speed
+  buildInputs = [ pkgconfig autoreconfHook ];
+
   preConfigure = ''
-    configureFlagsArray=("CXXFLAGS=-DNDEBUG -O2")
+    sh autogen.sh
   '';
 
+  # -DNDEBUG for speed
+  configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
+
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/snappy/;
-    license = "BSD";
+    license = licenses.bsd3;
     description = "Compression/decompression library for very high speeds";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index 266675614ceef..f14a0905ef1be 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.7.0";
+    version="0.7.1";
     name="${baseName}-${version}";
-    hash="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.7.0.tar.gz";
-    sha256="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
+    hash="19w00a3vjsakw6gr24ilcj1yl2k9sh8wq3607xnyyqy2pasvnipg";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.7.1.tar.gz";
+    sha256="19w00a3vjsakw6gr24ilcj1yl2k9sh8wq3607xnyyqy2pasvnipg";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index f88ab48e027ef..24dc443ca705e 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, audiofile, libtiff}:
 stdenv.mkDerivation rec {
-  version = "0.0.5";
+  version = "0.0.6";
   name = "spandsp-${version}";
   src=fetchurl {
-    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz";
-    sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf";
+    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
+    sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
   buildInputs = [];
   propagatedBuildInputs = [audiofile libtiff];
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; gpl2;
+    downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
+    inherit version;
+    updateWalker = true;
   };
 }
 
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index 1841fcbe4a13b..1b4cf69f704e9 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-0.7";
+  name = "sphinxbase-0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
-    sha256 = "1v3kfzw42ahxmr002i6wqigs832958vgghrv5dd62zazajdbk71q";
+    sha256 = "1a3c91g6rcfb2k8qyfhnd7s68ds6pxwv61xfp0ai1arbhx28jw2m";
   };
 
   buildInputs = [ pkgconfig bison ];
@@ -18,8 +18,11 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "Support Library for Pocketsphinx";
     homepage = http://cmusphinx.sourceforge.net;
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
+
 } // (stdenv.lib.optionalAttrs multipleOutputs {
   outputs = [ "out" "lib" "headers" ];
 
@@ -31,4 +34,3 @@ stdenv.mkDerivation (rec {
     cp -av $out/include $headers
   '';
 }))
-
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 162a832c93af6..79fe47ff476b6 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.6";
+  name = "spice-protocol-0.12.7";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "16r5x2sppiaa6pzawkrvk5q4hmw7ynmlp2xr38f1vaxj5rh4aiwx";
+    sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Protocol headers for the SPICE protocol";
     homepage = http://www.spice-space.org;
-    license = stdenv.lib.licenses.bsd3;
-
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bluescreen303 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 2af9565e0b4f2..2353eec73485a 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.12.4";
+  name = "spice-0.12.5";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng";
+    sha256 = "10gmqaanfg929aamf11n4si4r3d1g7z9qjdclsl9kjv7iw6s42a2";
   };
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index 28afdf85dfbce..6faf2224b0cfe 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}:
+{ stdenv, fetchurl, pkgconfig, icu, clucene_core, curl }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.2";
+  version = "1.7.3";
 
   name = "sword-${version}";
 
   src = fetchurl {
     url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
-    sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871";
+    sha256 = "1sm9ivypsx3mraqnziic7qkxjx1b7crvlln0zq6cnpjx2pzqfgas";
   };
 
   buildInputs = [ pkgconfig icu clucene_core curl ];
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A software framework that allows research manipulation of Biblical texts";
     homepage = http://www.crosswire.org/sword/;
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.piotr maintainers.AndersonTorres ];
   };
 
 }
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 4c86de7fb56be..fda32a7ddbd39 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -8,17 +8,22 @@ in
 
 stdenv.mkDerivation rec {
   name = "v8-${version}";
-  version = "3.26.8";
+  version = "3.26.31.15";
 
   src = fetchurl {
     url = "https://commondatastorage.googleapis.com/chromium-browser-official/"
         + "${name}.tar.bz2";
-    sha256 = "0w8mfy8jlqvp958c0zhsfwf0s3m6kw53jhcyg6aiwh877g6s21iz";
+    sha256 = "067pk6hr7wjx7yxhla5la0rnv51kf7837kfydzydjwapsbcx6m8l";
   };
 
+  patchPhase = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' build/gyp_v8
+  '';
+
   configurePhase = ''
     PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
-      ${gyp}/bin/gyp \
+    PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
+      build/gyp_v8 \
         -f make \
         --generator-output="out" \
         -Dflock_index=0 \
@@ -26,9 +31,7 @@ stdenv.mkDerivation rec {
         -Duse_system_icu=1 \
         -Dconsole=readline \
         -Dcomponent=shared_library \
-        -Dv8_target_arch=${arch} \
-        --depth=. -Ibuild/standalone.gypi \
-        build/all.gyp
+        -Dv8_target_arch=${arch}
   '';
 
   nativeBuildInputs = [ which ];
@@ -60,7 +63,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Google's open source JavaScript engine";
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = with platforms; linux ++ darwin;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch b/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
deleted file mode 100644
index 3bc0fff4d509b..0000000000000
--- a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dbe142c4eda0f15fad9fa85743dd11b81292fa8f Mon Sep 17 00:00:00 2001
-From: Timothy J Fontaine <tjfontaine@gmail.com>
-Date: Thu, 23 May 2013 13:57:59 -0700
-Subject: [PATCH] v8: fix GetLocalizedMessage usage
-
-As is the backport of the abort on uncaught exception wouldn't compile
-because we it was passing in `this` when it was unnecessary.
----
- deps/v8/src/isolate.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/isolate.cc b/src/isolate.cc
-index 04a438b..5a5293e 100644
---- a/src/isolate.cc
-+++ b/src/isolate.cc
-@@ -1161,7 +1161,7 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) {
-           (report_exception || can_be_caught_externally)) {
-         fatal_exception_depth++;
-         fprintf(stderr, "%s\n\nFROM\n",
--          *MessageHandler::GetLocalizedMessage(this, message_obj));
-+          *MessageHandler::GetLocalizedMessage(message_obj));
-         PrintCurrentStackTrace(stderr);
-         OS::Abort();
-       }
--- 
-1.8.1.6
-
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index 9b28d0016ddbf..02a4155947f23 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,5 +1,10 @@
 { stdenv, fetchurl, libvdpau, mesa, libva, pkgconfig }:
-
+let
+  libvdpau08patch = (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch?revision=1.1";
+                                name = "libva-vdpau-driver-0.7.4-libvdpau-0.8.patch";
+                                sha256 = "1n2cys59wyv8ylx9i5m3s6856mgx24hzcp45w1ahdfbzdv9wrfbl";
+                              });
+in
 stdenv.mkDerivation rec {
   name = "libva-vdpau-driver-0.7.4";
   
@@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libvdpau mesa libva pkgconfig ];
 
   preConfigure = ''
+    patch -p0 < ${libvdpau08patch}  # use -p0 instead of -p1
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 82cff159a56a3..6c7c1db8cca93 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.4.4";
+  name = "webkitgtk-2.4.5";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
+    sha256 = "04wadcnp71wvmy0qxapmb5pwlqsnbqd8bqa8nl2w4yg1m9vn5l48";
   };
 
   patches = [ ./webcore-svg-libxml-cflags.patch ];
diff --git a/pkgs/development/lua-modules/generic/default.nix b/pkgs/development/lua-modules/generic/default.nix
new file mode 100644
index 0000000000000..2a44cdfca0b0a
--- /dev/null
+++ b/pkgs/development/lua-modules/generic/default.nix
@@ -0,0 +1,24 @@
+lua:
+
+{ buildInputs ? [], disabled ? false, ... } @ attrs:
+
+if disabled then
+  throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}"
+else
+  lua.stdenv.mkDerivation ({
+
+      preBuild = ''
+        makeFlagsArray=(
+          PREFIX=$out
+          LUA_LIBDIR="$out/lib/lua/${lua.luaversion}"
+          LUA_INC="-I${lua}/include");
+      '';
+    }
+    //
+    attrs
+    //
+    {
+      name = "lua${lua.luaversion}-" + attrs.name;
+      buildInputs = buildInputs ++ [ lua ];
+    }
+  )
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index aee3c847e93e8..274ae734b6ee0 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -14,222 +14,196 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
 -->
-<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
 
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
 
 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
+2. Accepting the License Agreement
 
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
 
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
 
 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
 
 3. SDK License from Google
 
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
 
 3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
 
 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
 
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
 
-
 4. Use of the SDK by You
 
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
 5. Your Developer Credentials
 
-
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
-
 6. Privacy and Information
 
-
 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
 7. Third Party Applications
 
-
 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
+8. Using Google APIs
 
-8.1 Google Data APIs
+8.1 Google APIs
 
 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
+9. Terminating the License Agreement
 
-9. Terminating this License Agreement
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
 
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
 
-10. DISCLAIMER OF WARRANTIES
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
+10. DISCLAIMERS
 
 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
-
 11. LIMITATION OF LIABILITY
 
-
 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
-
 12. Indemnification
 
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-
 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
 
-
 14. General Legal Terms
 
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 13, 2012
+June 2014.
     </sdk:license>
 
-    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Google TV Add-on for the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
 
-1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
-2. Accepting this License Agreement
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
-2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
+2. Accepting the License Agreement
 
-2.2 You can accept this License Agreement by:
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
 
-(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
 
-(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
 
-2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
+3. Preview License from Google
 
-3. Google TV Add-on License from Google
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
 
-3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
 
-3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
-3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
 
-4. Use of the Google TV Add-on by You
+4. Use of the Preview by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
 
 5. Your Developer Credentials
 
@@ -237,233 +211,221 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag
 
 6. Privacy and Information
 
-6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
-7. Third Party Applications for the Google TV Platform
+7. Third Party Applications
 
-7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-8. Using Google TV APIs
-
-8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
-
-8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
-
-(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
-(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+8. Using Google APIs
 
-(c)  not create any commercial audience measurement tool or service using the Google TV API Content
+8.1 Google APIs
 
-9. Terminating this License Agreement
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
+9. Terminating the License Agreement
 
-9.3 Google may at any time, terminate this License Agreement with you if:
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-(A) you have breached any provision of this License Agreement; or
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
 
-(B) Google is required to do so by law; or
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
-(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
 
-(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+10. DISCLAIMERS
 
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-August 15, 2011
+June 2014.
     </sdk:license>
 
-    <sdk:license id="google-gdk-license" type="text">This is an early Sneak Peek of the GDK that is subject to change. Please stay tuned for the full Developer Preview coming soon.
-
-Terms and Conditions
+    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Glass Development Kit License Agreement.
+This is the Google TV Add-on for the Android Software Development Kit License Agreement.
 
 1. Introduction
 
-1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK.
-
-1.2 &quot;Glass&quot; means Glass devices and the Glass software stack for use on Glass devices.
-
-
-1.3 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
 
-1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
 2. Accepting this License Agreement
 
-2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
 
-2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK.
+2.2 You can accept this License Agreement by:
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity.
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
 
-3. GDK License from Google
+(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices.
+2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
 
-3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK.
+3. Google TV Add-on License from Google
 
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK.
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
 
-3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
 
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK.
+3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
 
+3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
 
-4. Use of the GDK by You
+4. Use of the Google TV Add-on by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
 
-4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google.
+4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
-
-4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release.
-
 5. Your Developer Credentials
 
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
 6. Privacy and Information
 
+6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
 
-7. Third Party Applications
+7. Third Party Applications for the Google TV Platform
 
-7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
 
-8. Using Google APIs
+8. Using Google TV APIs
 
-8.1 Google APIs
+8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
 
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
+
+(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+
+(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+
+(c)  not create any commercial audience measurement tool or service using the Google TV API Content
 
 9. Terminating this License Agreement
 
 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials.
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
 
 9.3 Google may at any time, terminate this License Agreement with you if:
+
 (A) you have breached any provision of this License Agreement; or
+
 (B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or
-(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+
+(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
 
 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
 
 10. DISCLAIMER OF WARRANTIES
 
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK.
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
 
 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
 
 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 19, 2013
+
+August 15, 2011
     </sdk:license>
 
     <!-- ADD-ONS ....................... -->
@@ -479,7 +441,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>34908058</sdk:size>
                 <sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum>
                 <sdk:url>google_apis-3-r03.zip</sdk:url>
@@ -506,7 +468,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>42435735</sdk:size>
                 <sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum>
                 <sdk:url>google_apis-4_r02.zip</sdk:url>
@@ -534,7 +496,7 @@ November 19, 2013
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:obsolete/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>49123776</sdk:size>
                 <sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum>
                 <sdk:url>google_apis-5_r01.zip</sdk:url>
@@ -562,7 +524,7 @@ November 19, 2013
         <sdk:obsolete/>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53382941</sdk:size>
                 <sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum>
                 <sdk:url>google_apis-6_r01.zip</sdk:url>
@@ -589,7 +551,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53691339</sdk:size>
                 <sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum>
                 <sdk:url>google_apis-7_r01.zip</sdk:url>
@@ -616,7 +578,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>59505020</sdk:size>
                 <sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum>
                 <sdk:url>google_apis-8_r02.zip</sdk:url>
@@ -643,7 +605,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>63401546</sdk:size>
                 <sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum>
                 <sdk:url>google_apis-9_r02.zip</sdk:url>
@@ -671,7 +633,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>65781578</sdk:size>
                 <sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum>
                 <sdk:url>google_apis-10_r02.zip</sdk:url>
@@ -698,7 +660,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>83477179</sdk:size>
                 <sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum>
                 <sdk:url>google_apis-11_r01.zip</sdk:url>
@@ -725,7 +687,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>86099835</sdk:size>
                 <sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum>
                 <sdk:url>google_apis-12_r01.zip</sdk:url>
@@ -752,7 +714,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>88615525</sdk:size>
                 <sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum>
                 <sdk:url>google_apis-13_r01.zip</sdk:url>
@@ -785,7 +747,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106533714</sdk:size>
                 <sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum>
                 <sdk:url>google_apis-14_r02.zip</sdk:url>
@@ -814,7 +776,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106612472</sdk:size>
                 <sdk:checksum type="sha1">6757c12788da0ea00c2ab58e54cb438b9f2bcf66</sdk:checksum>
                 <sdk:url>google_apis-15_r02.zip</sdk:url>
@@ -844,7 +806,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>127278413</sdk:size>
                 <sdk:checksum type="sha1">63467dd32f471e3e81e33e9772c22f33235aa3b3</sdk:checksum>
                 <sdk:url>google_apis-16_r03.zip</sdk:url>
@@ -874,7 +836,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>137156978</sdk:size>
                 <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
                 <sdk:url>google_apis-17_r03.zip</sdk:url>
@@ -904,7 +866,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>143149689</sdk:size>
                 <sdk:checksum type="sha1">147bce09c1163edc17194f3db496ec1086fcf965</sdk:checksum>
                 <sdk:url>google_apis-18_r03.zip</sdk:url>
@@ -914,14 +876,14 @@ November 19, 2013
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Mon Oct 28 22:29:49 2013 from git_klp-release @ 892118 -->
+        <!-- Generated at Wed Jul 30 22:26:20 2014 from git_klp-sdk-release @ 1314097 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-id>google_apis</sdk:name-id>
-        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:name-display>Google APIs (ARM System Image)</sdk:name-display>
         <sdk:description>Android + Google APIs</sdk:description>
         <sdk:api-level>19</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
+        <sdk:revision>7</sdk:revision>
         <sdk:libs>
             <sdk:lib>
                 <sdk:name>com.google.android.maps</sdk:name>
@@ -934,16 +896,15 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>150689239</sdk:size>
-                <sdk:checksum type="sha1">6c530a8318446e4da1e3ab7d2abd154bc493bc5a</sdk:checksum>
-                <sdk:url>google_apis-19_r01.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>160661775</sdk:size>
+                <sdk:checksum type="sha1">150f5a3fec4f03313ca770b90126605619bd713c</sdk:checksum>
+                <sdk:url>google_apis-19_r07.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
-
     <!-- GOOGLE TV ADDONS ............. -->
 
     <sdk:add-on>
@@ -957,10 +918,11 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="linux">
+            <sdk:archive>
                 <sdk:size>78266751</sdk:size>
                 <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
                 <sdk:url>google_tv-12_r02.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
         <sdk:libs/>
@@ -977,7 +939,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>87721879</sdk:size>
                 <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
                 <sdk:url>google_tv-13_r01.zip</sdk:url>
@@ -986,71 +948,48 @@ November 19, 2013
         <sdk:libs/>
     </sdk:add-on>
 
-
-    <!-- GLASS ADDONS ............. -->
-
-    <sdk:add-on>
-        <sdk:vendor-id>google</sdk:vendor-id>
-        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_gdk</sdk:name-id>
-        <sdk:name-display>Glass Development Kit Sneak Peek</sdk:name-display>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Sneak peek of the Glass Development Kit</sdk:description>
-        <sdk:desc-url>https://developers.google.com/glass/gdk/</sdk:desc-url>
-        <sdk:uses-license ref="google-gdk-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>281839</sdk:size>
-                <sdk:checksum type="sha1">a3c7317fb2fe8a0dfc06828a5aabc457372b82a7</sdk:checksum>
-                <sdk:url>https://dl-ssl.google.com/glass/xe11/google-gdk.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:libs>
-            <sdk:lib>
-                <sdk:name>com.google.android.glass</sdk:name>
-                <sdk:description>APIs for Google Glass Development Kit Sneak Peek.</sdk:description>
-            </sdk:lib>
-        </sdk:libs>
-    </sdk:add-on>
-
-
     <!-- EXTRAS VENDOR=ANDROID ........................ -->
 
     <sdk:extra>
-        <!-- Generated at Wed Oct 30 14:52:38 2013 from git_klp-dev @ 894928 -->
-        <sdk:revision>19</sdk:revision>
+        <!-- Generated at Mon Jun 23 19:18:59 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Library</sdk:name-display>
         <sdk:path>support</sdk:path>
         <sdk:old-paths>compatibility</sdk:old-paths>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>4905998</sdk:size>
-                <sdk:checksum type="sha1">54b8661595856a08f032d41bb139f375a7609308</sdk:checksum>
-                <sdk:url>support_r19.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>5508097</sdk:size>
+                <sdk:checksum type="sha1">719c260dc3eb950712988f987daaf91afa9e36af</sdk:checksum>
+                <sdk:url>support_r20.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated from git_klp-dev @ 894928  -->
-        <sdk:revision>3</sdk:revision>
+        <!-- Generated from git_lmp-preview-release @ 1242878  -->
+        <sdk:revision>
+            <sdk:major>6</sdk:major>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Repository</sdk:name-display>
         <sdk:description>Local Maven repository for Support Libraries</sdk:description>
         <sdk:path>m2repository</sdk:path>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>6282146</sdk:size>
-                <sdk:checksum type="sha1">db4650f817f1507211ec6186d2d9e72074e6df12</sdk:checksum>
-                <sdk:url>android_m2repository_r03.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>22271942</sdk:size>
+                <sdk:checksum type="sha1">d4874fd330f41a7c16de392ce917c2a3562dd620</sdk:checksum>
+                <sdk:url>android_m2repository_r06.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
     </sdk:extra>
 
     <!-- EXTRAS VENDOR=GOOGLE ....................... -->
@@ -1060,14 +999,16 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Repository</sdk:name-display>
         <sdk:path>m2repository</sdk:path>
-        <sdk:revision>4</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>Local Maven repository for Google Libraries</sdk:description>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>3891592</sdk:size>
-                <sdk:checksum type="sha1">c418daafd203a8cb4899d49bd321da83b927586e</sdk:checksum>
-                <sdk:url>google_m2repository_r04.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>18832133</sdk:size>
+                <sdk:checksum type="sha1">08b5114037d187cf3d4b44a25570149ef4f8ab3d</sdk:checksum>
+                <sdk:url>google_m2repository_r11.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1078,11 +1019,13 @@ November 19, 2013
         <sdk:name-display>Google Play Licensing Library</sdk:name-display>
         <sdk:path>play_licensing</sdk:path>
         <sdk:old-paths>market_licensing</sdk:old-paths>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Licensing client library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/publishing/licensing.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>75109</sdk:size>
                 <sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum>
                 <sdk:url>market_licensing-r02.zip</sdk:url>
@@ -1097,11 +1040,13 @@ November 19, 2013
         <sdk:name-display>Google Play APK Expansion Library</sdk:name-display>
         <sdk:path>play_apk_expansion</sdk:path>
         <sdk:old-paths>market_apk_expansion</sdk:old-paths>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play APK Expansion library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/market/expansion-files.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>110201</sdk:size>
                 <sdk:checksum type="sha1">5305399dc1a56814e86b8459ce24871916f78b8c</sdk:checksum>
                 <sdk:url>market_apk_expansion-r03.zip</sdk:url>
@@ -1115,12 +1060,14 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services for Froyo</sdk:name-display>
         <sdk:path>google_play_services_froyo</sdk:path>
-        <sdk:revision>12</sdk:revision>
+        <sdk:revision>
+            <sdk:major>12</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5265389</sdk:size>
                 <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
                 <sdk:url>google_play_services_3265130_r12.zip</sdk:url>
@@ -1133,34 +1080,59 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services</sdk:name-display>
         <sdk:path>google_play_services</sdk:path>
-        <sdk:revision>13</sdk:revision>
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>7958511</sdk:size>
-                <sdk:checksum type="sha1">1be94e8f767616e862f0088ab673e1980a6022c4</sdk:checksum>
-                <sdk:url>google_play_services_4030530_r13.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>13982276</sdk:size>
+                <sdk:checksum type="sha1">847a8806dd3c43effc2afdd7b49fc6ba27f72d5d</sdk:checksum>
+                <sdk:url>google_play_services_5089000_r19.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated at Thu Jul 18 16:46:04 PDT 2013 from git_master @ 745409 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>Google USB Driver</sdk:name-display>
-        <sdk:path>usb_driver</sdk:path>
-        <sdk:revision>8</sdk:revision>
-        <sdk:description>USB Driver for Windows, revision 8</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:name-display>Google Play services for Fit Preview</sdk:name-display>
+        <sdk:path>google_play_services_fit_preview</sdk:path>
+        <sdk:revision>
+            <sdk:major>1</sdk:major>
+        </sdk:revision>
+        <sdk:description>Google Play services client library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15224769</sdk:size>
+                <sdk:checksum type="sha1">34369ca796268ec7274bc49d659d9e8f042b55ae</sdk:checksum>
+                <sdk:url>google_play_services_fit_preview_5208000_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <!-- Generated at Tue Jun 10 11:38:56 2014 from git_master-release @ 1216520 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:path>usb_driver</sdk:path>
+        <sdk:description>USB Driver for Windows, revision 10</sdk:description>
+        <sdk:name-display>Google USB Driver</sdk:name-display>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:revision>
+            <sdk:major>10</sdk:major>
+        </sdk:revision>
         <sdk:archives>
-            <sdk:archive os="windows">
-                <sdk:size>8682230</sdk:size>
-                <sdk:checksum type="sha1">2b2f91098a984a865a70f0bd841a843fb54462fc</sdk:checksum>
-                <sdk:url>usb_driver_r08-windows.zip</sdk:url>
+            <sdk:archive>
+                <sdk:url>usb_driver_r10-windows.zip</sdk:url>
+                <sdk:checksum type="sha1">a5f8280829f07bb3144a8d657ec7aa0128443a2c</sdk:checksum>
+                <sdk:size>8682752</sdk:size>
+                <sdk:host-os>windows</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1171,11 +1143,13 @@ November 19, 2013
         <sdk:name-display>Google Play Billing Library</sdk:name-display>
         <sdk:path>play_billing</sdk:path>
         <sdk:old-paths>market_billing</sdk:old-paths>
-        <sdk:revision>5</sdk:revision>
+        <sdk:revision>
+            <sdk:major>5</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Billing files and sample code</sdk:description>
         <sdk:desc-url>http://developer.android.com/google/play/billing/index.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>436654</sdk:size>
                 <sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
                 <sdk:url>play_billing_r05.zip</sdk:url>
@@ -1189,29 +1163,35 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google AdMob Ads SDK</sdk:name-display>
         <sdk:path>admob_ads_sdk</sdk:path>
-        <sdk:revision>11</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>AdMob Ads SDK</sdk:description>
         <sdk:desc-url>https://developers.google.com/mobile-ads-sdk/docs/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>704512</sdk:size>
                 <sdk:checksum type="sha1">0102859d9575baa0bf4fd5eb422af2ad0fe6cb82</sdk:checksum>
                 <sdk:url>https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 
     <sdk:extra>
+        <sdk:obsolete/>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Analytics App Tracking SDK</sdk:name-display>
         <sdk:path>analytics_sdk_v2</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Analytics App Tracking SDK</sdk:description>
         <sdk:desc-url>http://developers.google.com/analytics/devguides/collection/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>211432</sdk:size>
                 <sdk:checksum type="sha1">dc14026bf0ce78315cb5dd00552607de0894de83</sdk:checksum>
                 <sdk:url>https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip</sdk:url>
@@ -1225,11 +1205,13 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Web Driver</sdk:name-display>
         <sdk:path>webdriver</sdk:path>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>WebDriver</sdk:description>
         <sdk:desc-url>http://selenium.googlecode.com</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>4055193</sdk:size>
                 <sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum>
                 <sdk:url>webdriver_r02.zip</sdk:url>
@@ -1241,18 +1223,21 @@ November 19, 2013
     <sdk:extra>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>[Deprecated] Google Cloud Messaging for Android Library</sdk:name-display>
+        <sdk:name-display>Google Cloud Messaging for Android Library</sdk:name-display>
         <sdk:path>gcm</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/gcm/index</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5901400</sdk:size>
                 <sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum>
                 <sdk:url>gcm_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 </sdk:sdk-addon>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 8aacde4eee7b5..4f7ed6e9e8e4c 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -209,8 +209,8 @@ in
   google_apis_19 = buildGoogleApis {
     name = "google_apis-19";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/google_apis-19_r01.zip;
-        sha1 = "6c530a8318446e4da1e3ab7d2abd154bc493bc5a";
+        url = https://dl-ssl.google.com/android/repository/google_apis-19_r07.zip;
+        sha1 = "150f5a3fec4f03313ca770b90126605619bd713c";
       };
       meta = {
         description = "Android + Google APIs";
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
index cbcff8178e32e..2b3bb33394818 100644
--- a/pkgs/development/mobile/androidenv/androidndk.nix
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     mkdir -pv $out
     tar xf $src
     mv */* $out
+
+    # so that it doesn't fail because of read-only permissions set
+    patch -p1 -d $out < ${ ./make-standalone-toolchain.patch }
+
     find $out \( \
         \( -type f -a -name "*.so*" \) -o \
         \( -type f -a -perm +0100 \) \
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 3c9327f1c594d..560753eecfc59 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -1,5 +1,5 @@
 { stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
-, platformTools, buildTools, support, platforms, sysimages, addons
+, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons
 , zlib_32bit
 , libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit, mesa_32bit, alsaLib_32bit
 , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
@@ -9,36 +9,35 @@
 
 stdenv.mkDerivation rec {
   name = "android-sdk-${version}";
-  version = "22.6.2";
+  version = "23.0.2";
   
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz";
-      md5 = "ff1541418a44d894bedc5cef10622220";
+      md5 = "94a8c62086a7398cc0e73e1c8e65f71e";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip";
-      md5 = "2a319c862dd1dcf450bfe2a6b3d9c608";
+      md5 = "322787b0e6c629d926c28690c79ac0d8";
     }
     else throw "platform not ${stdenv.system} supported!";
   
   buildCommand = ''
     mkdir -p $out/libexec
     cd $out/libexec
-    unpackFile $src;
-    
+    unpackFile $src
     cd android-sdk-*/tools
     
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     ''
       # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++
-    
-      for i in dmtracedump emulator emulator-arm emulator-mips emulator-x86 hprof-conv mksdcard sqlite3
+      
+      for i in emulator emulator-arm emulator-mips emulator-x86 mksdcard
       do
           patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
           patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
       done
-    
+      
       ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
         # We must also patch the 64-bit emulator instances, if needed
         
@@ -49,17 +48,6 @@ stdenv.mkDerivation rec {
         done
       ''}
       
-      # These tools also need zlib in addition to libstdc++
-    
-      for i in etc1tool zipalign
-      do
-          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
-          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
-      done
-    
-      # The android script has a hardcoded reference to /bin/ls that must be patched
-      sed -i -e "s|/bin/ls|ls|" android
-      
       # The android script used SWT and wants to dynamically load some GTK+ stuff.
       # The following wrapper ensures that they can be found:
       wrapProgram `pwd`/android \
@@ -139,6 +127,15 @@ stdenv.mkDerivation rec {
       
     cd ..
 
+    # Symlink required extras
+
+    mkdir -p extras/android
+    cd extras/android
+
+    ln -s ${supportRepository}/m2repository
+
+    cd ../..
+
     # Symlink required platforms
    
     mkdir -p platforms
diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix
index 58bf35493618e..11beb29f3cea8 100644
--- a/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/pkgs/development/mobile/androidenv/build-tools.nix
@@ -1,15 +1,15 @@
 {stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit}:
 
 stdenv.mkDerivation {
-  name = "android-build-tools-r18.1.0";
+  name = "android-build-tools-r20";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip;
-      sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r20-linux.zip;
+      sha1 = "b688905526a5584d1327a662d871a635ff502758";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip;
-      sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r20-macosx.zip;
+      sha1 = "1240f629411c108a714c4ddd756937c7fab93f83";
     }
     else throw "System ${stdenv.system} not supported!";
   
@@ -39,6 +39,13 @@ stdenv.mkDerivation {
         do
             patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:`pwd` $i
         done
+
+        # These binaries also need zlib in addition to libstdc++
+        for i in zipalign
+        do
+            patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
+        done
         
         # These binaries need to find libstdc++, libgcc_s, and zlib
         for i in aapt dexdump
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 422c1516f2d04..796f0f862bdd5 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -16,6 +16,10 @@ rec {
     inherit (pkgs) stdenv fetchurl unzip;
   };
   
+  supportRepository = import ./support-repository.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+
   platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
     then import ./platforms-linux.nix {
       inherit (pkgs) stdenv fetchurl unzip;
@@ -39,7 +43,7 @@ rec {
     inherit (pkgs) freetype fontconfig glib gtk atk mesa file alsaLib jdk;
     inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst;
     
-    inherit platformTools buildTools support platforms sysimages addons;
+    inherit platformTools buildTools support supportRepository platforms sysimages addons;
     
     stdenv_32bit = pkgs_i686.stdenv;
     zlib_32bit = pkgs_i686.zlib;
@@ -63,8 +67,38 @@ rec {
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
   };
+
+  androidsdk_2_3_3 = androidsdk {
+    platformVersions = [ "10" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_0 = androidsdk {
+    platformVersions = [ "11" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_1 = androidsdk {
+    platformVersions = [ "12" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_2 = androidsdk {
+    platformVersions = [ "13" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
   
   androidsdk_4_0 = androidsdk {
+    platformVersions = [ "14" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_4_0_3 = androidsdk {
     platformVersions = [ "15" ];
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix
index 278c073dc586f..cad77ec7d62c2 100644
--- a/pkgs/development/mobile/androidenv/emulate-app.nix
+++ b/pkgs/development/mobile/androidenv/emulate-app.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     
     # Create a virtual android device for testing if it does not exists
     
-    if [ "$(android list avd | grep 'Name: device')" = "" ]
+    if [ "$(${androidsdkComposition}/libexec/android-sdk-*/tools/android list avd | grep 'Name: device')" = "" ]
     then
         # Create a virtual android device
         yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS
@@ -106,7 +106,7 @@ stdenv.mkDerivation {
     ${stdenv.lib.optionalString (app != null) ''
       # Install the App through the debugger, if it has not been installed yet
       
-      if [ -z "${package}" ] || [ "$(adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
+      if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
       then
           if [ -d "${app}" ]
           then
diff --git a/pkgs/development/mobile/androidenv/fetch b/pkgs/development/mobile/androidenv/fetch.sh
index 30aabc9e0863d..92abb18f25f31 100755
--- a/pkgs/development/mobile/androidenv/fetch
+++ b/pkgs/development/mobile/androidenv/fetch.sh
@@ -5,10 +5,9 @@ android list sdk | grep 'Parse XML:' | cut -f8- -d\  # | xargs -n 1 curl -O
 
 # we skip the intel addons, as they are Windows+osX only
 # we skip the default sys-img (arm?) because it is empty
-curl -o repository-8.xml https://dl-ssl.google.com/android/repository/repository-8.xml
+curl -o repository-10.xml https://dl-ssl.google.com/android/repository/repository-10.xml
 curl -o addon.xml        https://dl-ssl.google.com/android/repository/addon.xml
-curl -o sys-img-mips.xml https://dl-ssl.google.com/android/repository/sys-img/mips/sys-img.xml
-curl -o sys-img-x86.xml  https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
+curl -o sys-img.xml https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
 
 ./generate-addons.sh
 ./generate-platforms.sh
diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl
index 0100b980a4ef8..51d0c07c93469 100644
--- a/pkgs/development/mobile/androidenv/generate-addons.xsl
+++ b/pkgs/development/mobile/androidenv/generate-addons.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/addon/5">
+  xmlns:sdk="http://schemas.android.com/sdk/android/addon/7">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
   <xsl:template match="/sdk:sdk-addon">
@@ -23,8 +23,8 @@ in
   google_apis_<xsl:value-of select="sdk:api-level" /> = buildGoogleApis {
     name = "<xsl:value-of select="sdk:name-id" />-<xsl:value-of select="sdk:api-level" />";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
       };
       meta = {
         description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh
index 8ac4ad328f44a..58d3ba58d379c 100755
--- a/pkgs/development/mobile/androidenv/generate-platforms.sh
+++ b/pkgs/development/mobile/androidenv/generate-platforms.sh
@@ -1,4 +1,4 @@
 #!/bin/sh -e
 
-xsltproc --stringparam os linux generate-platforms.xsl repository-8.xml > platforms-linux.nix
-xsltproc --stringparam os macosx generate-platforms.xsl repository-8.xml > platforms-macosx.nix
+xsltproc --stringparam os linux generate-platforms.xsl repository-10.xml > platforms-linux.nix
+xsltproc --stringparam os macosx generate-platforms.xsl repository-10.xml > platforms-macosx.nix
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl
index 249f044550b1c..ba556f2baac9d 100644
--- a/pkgs/development/mobile/androidenv/generate-platforms.xsl
+++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/repository/10">
 
   <xsl:param name="os" />
   <xsl:output omit-xml-declaration="yes" indent="no" />
@@ -10,7 +10,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -20,12 +20,12 @@ let
   });
 in
 {
-    <xsl:for-each select="sdk:platform">
+    <xsl:for-each select="sdk:platform[sdk:api-level &lt; 20]">
   platform_<xsl:value-of select="sdk:api-level" /> = buildPlatform {
     name = "android-platform-<xsl:value-of select="sdk:version" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />";
     };
     meta = {
       description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl b/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
deleted file mode 100644
index 31ab72add3643..0000000000000
--- a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-  <xsl:param name="abi" />
-  <xsl:output omit-xml-declaration="yes" indent="no" />
-
-  <xsl:template match="/sdk:sdk-sys-img">
-    <xsl:for-each select="sdk:system-image">
-  sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
-    src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/<xsl:value-of select="$abi" />/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
-    };
-  };
-    </xsl:for-each>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh
index 90b1e04c22979..ef2f825642b7d 100755
--- a/pkgs/development/mobile/androidenv/generate-sysimages.sh
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh
@@ -17,9 +17,7 @@ in
 {
 EOF
 
-xsltproc generate-sysimages.xsl repository-8.xml >> sysimages.nix
-xsltproc --stringparam abi x86 generate-sysimages-others.xsl sys-img-x86.xml >> sysimages.nix
-xsltproc --stringparam abi mips generate-sysimages-others.xsl sys-img-mips.xml >> sysimages.nix
+xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix
 
 cat >> sysimages.nix << "EOF"
 }
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
index be9947d536a9c..6de690622b5d7 100644
--- a/pkgs/development/mobile/androidenv/generate-sysimages.xsl
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
@@ -2,17 +2,17 @@
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
 
-  <xsl:template match="/sdk:sdk-repository">
+  <xsl:template match="/sdk:sdk-sys-img">
     <xsl:for-each select="sdk:system-image">
   sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
+    name = "sysimg-<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:if test="not(starts-with(sdk:archives/sdk:archive/sdk:url, 'https://'))">https://dl-ssl.google.com/android/repository/sys-img/android/</xsl:if><xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
     };
   };
     </xsl:for-each>
diff --git a/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch b/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch
new file mode 100644
index 0000000000000..afc3470aaba1c
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch
@@ -0,0 +1,13 @@
+diff -ru android-ndk-r9d.old/build/tools/make-standalone-toolchain.sh android-ndk-r9d/build/tools/make-standalone-toolchain.sh
+--- android-ndk-r9d.old/build/tools/make-standalone-toolchain.sh	2014-09-25 11:42:09.990500975 +0200
++++ android-ndk-r9d/build/tools/make-standalone-toolchain.sh	2014-09-25 11:43:06.097501636 +0200
+@@ -252,6 +252,9 @@
+ # Now copy the GCC toolchain prebuilt binaries
+ run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR"
+ 
++# Making it writable again
++chmod -R +w "$TMPDIR"
++
+ # Replace soft-link mcld by real file
+ ALL_LDS=`find $TMPDIR -name "*mcld"`
+ for LD in $ALL_LDS; do
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index f9f5a2d50f4ff..feb967d010824 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,13 +219,13 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index a95561d3e856e..0e93ed9412beb 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,13 +219,13 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
diff --git a/pkgs/development/mobile/androidenv/repository-10.xml b/pkgs/development/mobile/androidenv/repository-10.xml
new file mode 100644
index 0000000000000..81023cae2eea3
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/repository-10.xml
@@ -0,0 +1,1562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <!-- PLATFORMS ........................ -->
+
+    <sdk:platform>
+        <sdk:version>1.1</sdk:version>
+        <sdk:api-level>2</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>46828615</sdk:size>
+                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45584305</sdk:size>
+                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45476658</sdk:size>
+                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated manually from earlier versions -->
+
+    <sdk:platform>
+        <sdk:version>1.5</sdk:version>
+        <sdk:api-level>3</sdk:api-level>
+        <sdk:revision>04</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>54624370</sdk:size>
+                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>52440607</sdk:size>
+                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>53348669</sdk:size>
+                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <sdk:version>1.6</sdk:version>
+        <sdk:api-level>4</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63454485</sdk:size>
+                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>62418496</sdk:size>
+                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>64654625</sdk:size>
+                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
+
+    <sdk:platform>
+        <sdk:version>2.0</sdk:version>
+        <sdk:api-level>5</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>3</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>75095268</sdk:size>
+                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>74956356</sdk:size>
+                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>76288040</sdk:size>
+                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.0.1</sdk:version>
+        <sdk:api-level>6</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>4</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>79192618</sdk:size>
+                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>79035527</sdk:size>
+                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>80385601</sdk:size>
+                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.1</sdk:version>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>70142829</sdk:size>
+                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.2</sdk:version>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>74652366</sdk:size>
+                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.1</sdk:version>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>78732563</sdk:size>
+                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.3</sdk:version>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>85470907</sdk:size>
+                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.0</sdk:version>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>10</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>104513908</sdk:size>
+                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
+         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
+    -->
+
+    <sdk:platform>
+        <sdk:version>3.1</sdk:version>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>11</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>106472351</sdk:size>
+                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.2</sdk:version>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>12</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>108426536</sdk:size>
+                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:version>4.0</sdk:version>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>45919570</sdk:size>
+                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-14_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:version>4.0.3</sdk:version>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>15</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>44414679</sdk:size>
+                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-15_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
+        <sdk:revision>4</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
+        <sdk:version>4.1.2</sdk:version>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48005140</sdk:size>
+                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:version>4.2.2</sdk:version>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48057484</sdk:size>
+                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:version>4.3</sdk:version>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>57319855</sdk:size>
+                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Feb 28 18:03:43 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:version>4.4.2</sdk:version>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63798840</sdk:size>
+                <sdk:checksum type="sha1">5f33d8fd36a384fe2b170035e04a29c274a9ef95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-19_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Mon Jun 23 19:17:42 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4W</sdk:description>
+        <sdk:version>4.4W</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63548914</sdk:size>
+                <sdk:checksum type="sha1">928b1d181101a5bc06f739eb40501e1249dd4895</sdk:checksum>
+                <sdk:url>android-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Jul 11 18:20:46 2014 from git_lmp-preview-dev @ 1272903 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:version>L</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>11</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>69421660</sdk:size>
+                <sdk:checksum type="sha1">76b6da426db06b2e2901dbc5e02d210ba83753c4</sdk:checksum>
+                <sdk:url>android-L_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:platform>
+
+    <!-- SAMPLES ........................ -->
+
+    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7677831</sdk:size>
+                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7969716</sdk:size>
+                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8516326</sdk:size>
+                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8539583</sdk:size>
+                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11976920</sdk:size>
+                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.0_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12150514</sdk:size>
+                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12193502</sdk:size>
+                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16253619</sdk:size>
+                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16366656</sdk:size>
+                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14729945</sdk:size>
+                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14840030</sdk:size>
+                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19897793</sdk:size>
+                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:42:00 2014 from git_klp-docs @ 1377789 -->
+        <sdk:revision>6</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>31900752</sdk:size>
+                <sdk:checksum type="sha1">19593662771934b0b1e3be56ed18d13e6489bcd4</sdk:checksum>
+                <sdk:url>samples-19_r06.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Jul 23 12:59:18 2014 from git_klp-modular-mr0-release @ 1298572 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>49718791</sdk:size>
+                <sdk:checksum type="sha1">4b906c46057ee8f502b4f27c23670fd87a49d6ff</sdk:checksum>
+                <sdk:url>samples-20_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:44:44 2014 from git_lmp-preview-dev @ 1378586 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>41182182</sdk:size>
+                <sdk:checksum type="sha1">4afc36cf3f53051881729f733fe9bb571104c48f</sdk:checksum>
+                <sdk:url>samples-L_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:sample>
+
+    <!-- PLATFORM-TOOLS ........................ -->
+
+    <sdk:platform-tool>
+        <!-- Generated at Mon Jun 23 19:20:39 2014 from git_lmp-preview-dev @ 1244090 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>1741113</sdk:size>
+                <sdk:checksum type="sha1">72c34cc6a991f53e2588f9d5487559f013bc30f9</sdk:checksum>
+                <sdk:url>platform-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1753061</sdk:size>
+                <sdk:checksum type="sha1">fb120ce85b6698b801cb4788b204693c1d682b87</sdk:checksum>
+                <sdk:url>platform-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1666257</sdk:size>
+                <sdk:checksum type="sha1">f2c65c58caf76169d9bebf25eef5c69ff99670b5</sdk:checksum>
+                <sdk:url>platform-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform-tool>
+
+    <!-- BUILD-TOOLS ........................ -->
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
+        <sdk:revision>
+            <sdk:major>17</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11004914</sdk:size>
+                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>11696007</sdk:size>
+                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>12208114</sdk:size>
+                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15413527</sdk:size>
+                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16627330</sdk:size>
+                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16633121</sdk:size>
+                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19659547</sdk:size>
+                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229298</sdk:size>
+                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20451524</sdk:size>
+                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19660000</sdk:size>
+                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229760</sdk:size>
+                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20452157</sdk:size>
+                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20611447</sdk:size>
+                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21339943</sdk:size>
+                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21441270</sdk:size>
+                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Dec  5 14:01:45 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20500648</sdk:size>
+                <sdk:checksum type="sha1">5ef422bac5b28f4ced108319ed4a6bc7050a6234</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21229048</sdk:size>
+                <sdk:checksum type="sha1">18d2312dc4368858914213087f4e61445aca4517</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21450597</sdk:size>
+                <sdk:checksum type="sha1">efaf50fb19a3edb8d03efbff76f89a249ad2920b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Feb 12 12:38:29 2014 from git_klp-sdk-release @ 1009316 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20621117</sdk:size>
+                <sdk:checksum type="sha1">af664672d0d709c9ae30937b1062317d3ade7f95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21352552</sdk:size>
+                <sdk:checksum type="sha1">a03a6bdea0091aea32e1b35b90a7294c9f04e3dd</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21453726</sdk:size>
+                <sdk:checksum type="sha1">145bc43065d45f756d99d87329d899052b9a9288</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Fri Feb 28 17:11:02 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>3</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20730715</sdk:size>
+                <sdk:checksum type="sha1">cb46b433b67a0a6910ff00db84be8b527ea3102f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21462150</sdk:size>
+                <sdk:checksum type="sha1">c2d6055478e9d2d4fba476ee85f99181ddd1160c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21563992</sdk:size>
+                <sdk:checksum type="sha1">651cf8754373b2d52e7f6aab2c52eabffe4e9ea4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May  6 14:19:40 2014 from git_klp-sdk-release @ 1153987 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20812533</sdk:size>
+                <sdk:checksum type="sha1">13b367fbdbff8132cb4356f716e8dc8a8df745c5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21490972</sdk:size>
+                <sdk:checksum type="sha1">1ff20ac15fa47a75d00346ec12f180d531b3ca89</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21590160</sdk:size>
+                <sdk:checksum type="sha1">0d11aae3417de1efb4b9a0e0a7855904a61bcec1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jun 23 19:17:29 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20828006</sdk:size>
+                <sdk:checksum type="sha1">cf20720e452b642d5eb59dabe05c0c729b36ec75</sdk:checksum>
+                <sdk:url>build-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21445463</sdk:size>
+                <sdk:checksum type="sha1">b688905526a5584d1327a662d871a635ff502758</sdk:checksum>
+                <sdk:url>build-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21650508</sdk:size>
+                <sdk:checksum type="sha1">1240f629411c108a714c4ddd756937c7fab93f83</sdk:checksum>
+                <sdk:url>build-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- TOOLS ........................ -->
+
+    <sdk:tool>
+        <!-- Generated at Wed Jul  2 12:10:55 2014 from git_ub-tools-idea133-milestone @ 1259578 -->
+        <sdk:revision>
+            <sdk:major>23</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:min-platform-tools-rev>
+            <sdk:major>20</sdk:major>
+        </sdk:min-platform-tools-rev>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>141154615</sdk:size>
+                <sdk:checksum type="sha1">0a64ec9b7777bb00ff299c94c359163ef5e443ae</sdk:checksum>
+                <sdk:url>tools_r23.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>141930870</sdk:size>
+                <sdk:checksum type="sha1">e8a2d55d750adeaded60a3daad48e62b09aa472a</sdk:checksum>
+                <sdk:url>tools_r23.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>90920343</sdk:size>
+                <sdk:checksum type="sha1">c46b1e173188ba82a56d6b9e349fdae4e8922bab</sdk:checksum>
+                <sdk:url>tools_r23.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:tool>
+
+    <!-- DOCS ........................ -->
+
+    <sdk:doc>
+        <!-- Generated at Mon Jun 23 19:19:47 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>207889084</sdk:size>
+                <sdk:checksum type="sha1">58a94248c7c960829db3d779c84534e5e783210f</sdk:checksum>
+                <sdk:url>docs-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:doc>
+
+    <!-- SOURCES ........................ -->
+
+    <sdk:source>
+        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16152383</sdk:size>
+                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-14_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16468746</sdk:size>
+                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>17876720</sdk:size>
+                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-16_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>18976816</sdk:size>
+                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20226735</sdk:size>
+                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Dec  5 14:04:22 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>21819439</sdk:size>
+                <sdk:checksum type="sha1">433a1d043ef77561571250e94cb7a0ef24a202e7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Jun 23 19:18:43 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>23367603</sdk:size>
+                <sdk:checksum type="sha1">8da3e40f2625f9f7ef38b7e403f49f67226c0d76</sdk:checksum>
+                <sdk:url>sources-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+</sdk:sdk-repository>
+
diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml
deleted file mode 100644
index 46ae8aa9a7ceb..0000000000000
--- a/pkgs/development/mobile/androidenv/repository-8.xml
+++ /dev/null
@@ -1,1277 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
-
-
-1. Introduction
-
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
-
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
-
-13. Changes to the License Agreement
-
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-November 13, 2012
-    </sdk:license>
-
-    <!-- PLATFORMS ........................ -->
-
-    <sdk:platform>
-        <sdk:version>1.1</sdk:version>
-        <sdk:api-level>2</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>46828615</sdk:size>
-                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
-                <sdk:url>android-1.1_r1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>45584305</sdk:size>
-                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
-                <sdk:url>android-1.1_r1-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>45476658</sdk:size>
-                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
-                <sdk:url>android-1.1_r1-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated manually from earlier versions -->
-
-    <sdk:platform>
-        <sdk:version>1.5</sdk:version>
-        <sdk:api-level>3</sdk:api-level>
-        <sdk:revision>04</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>54624370</sdk:size>
-                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
-                <sdk:url>android-1.5_r04-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>52440607</sdk:size>
-                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
-                <sdk:url>android-1.5_r04-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>53348669</sdk:size>
-                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
-                <sdk:url>android-1.5_r04-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <sdk:version>1.6</sdk:version>
-        <sdk:api-level>4</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>63454485</sdk:size>
-                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
-                <sdk:url>android-1.6_r03-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>62418496</sdk:size>
-                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
-                <sdk:url>android-1.6_r03-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>64654625</sdk:size>
-                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
-                <sdk:url>android-1.6_r03-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
-
-    <sdk:platform>
-        <sdk:version>2.0</sdk:version>
-        <sdk:api-level>5</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>3</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>75095268</sdk:size>
-                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
-                <sdk:url>android-2.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74956356</sdk:size>
-                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
-                <sdk:url>android-2.0_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>76288040</sdk:size>
-                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
-                <sdk:url>android-2.0_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.0.1</sdk:version>
-        <sdk:api-level>6</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>4</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>79192618</sdk:size>
-                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>79035527</sdk:size>
-                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>80385601</sdk:size>
-                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.1</sdk:version>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>70142829</sdk:size>
-                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
-                <sdk:url>android-2.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.2</sdk:version>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>74652366</sdk:size>
-                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
-                <sdk:url>android-2.2_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.1</sdk:version>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>78732563</sdk:size>
-                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
-                <sdk:url>android-2.3.1_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.3</sdk:version>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>85470907</sdk:size>
-                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
-                <sdk:url>android-2.3.3_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.0</sdk:version>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>10</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>104513908</sdk:size>
-                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
-                <sdk:url>android-3.0_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
-         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
-    -->
-
-    <sdk:platform>
-        <sdk:version>3.1</sdk:version>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>11</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>106472351</sdk:size>
-                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
-                <sdk:url>android-3.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.2</sdk:version>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>12</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>108426536</sdk:size>
-                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
-                <sdk:url>android-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:version>4.0</sdk:version>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>45919570</sdk:size>
-                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
-                <sdk:url>android-14_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:version>4.0.3</sdk:version>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>15</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>44414679</sdk:size>
-                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
-                <sdk:url>android-15_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
-        <sdk:revision>4</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
-        <sdk:version>4.1.2</sdk:version>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48005140</sdk:size>
-                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
-                <sdk:url>android-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:version>4.2.2</sdk:version>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48057484</sdk:size>
-                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
-                <sdk:url>android-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:version>4.3</sdk:version>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>57319855</sdk:size>
-                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
-                <sdk:url>android-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Mon Oct 28 23:34:31 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:version>4.4</sdk:version>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>22</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>59279956</sdk:size>
-                <sdk:checksum type="sha1">96281811998272dce46e8285d15fce444a3d5a96</sdk:checksum>
-                <sdk:url>android-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-
-    <!-- SYSTEM IMAGES ........................ -->
-
-    <sdk:system-image>
-        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>99621822</sdk:size>
-                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
-                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>96227377</sdk:size>
-                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
-                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>112528368</sdk:size>
-                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
-                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>116553808</sdk:size>
-                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
-                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>125457135</sdk:size>
-                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
-                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Oct 28 23:36:43 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>155838103</sdk:size>
-                <sdk:checksum type="sha1">12dd1187dfd953b1ffcef5067d94578590f9e600</sdk:checksum>
-                <sdk:url>sysimg_armv7a-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-
-    <!-- SAMPLES ........................ -->
-
-    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7677831</sdk:size>
-                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
-                <sdk:url>samples-2.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7969716</sdk:size>
-                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
-                <sdk:url>samples-2.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8516326</sdk:size>
-                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
-                <sdk:url>samples-2.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8539583</sdk:size>
-                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
-                <sdk:url>samples-2.3.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>11976920</sdk:size>
-                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
-                <sdk:url>samples-3.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12150514</sdk:size>
-                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
-                <sdk:url>samples-3.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12193502</sdk:size>
-                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
-                <sdk:url>samples-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16253619</sdk:size>
-                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
-                <sdk:url>samples-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16366656</sdk:size>
-                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
-                <sdk:url>samples-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14729945</sdk:size>
-                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
-                <sdk:url>samples-16_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14840030</sdk:size>
-                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
-                <sdk:url>samples-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>19897793</sdk:size>
-                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
-                <sdk:url>samples-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Oct 30 20:26:32 2013 from git_klp-dev @ 896074 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20697510</sdk:size>
-                <sdk:checksum type="sha1">c2007694b5e5ad6737f647db8160155d5258cb7f</sdk:checksum>
-                <sdk:url>samples-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- PLATFORM-TOOLS ........................ -->
-
-    <sdk:platform-tool>
-        <!-- Generated at Mon Oct 28 23:35:14 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>1116358</sdk:size>
-                <sdk:checksum type="sha1">755dcb5b5b72bbca90dd055eec4c8d0b1fce7cfd</sdk:checksum>
-                <sdk:url>platform-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>1172749</sdk:size>
-                <sdk:checksum type="sha1">66ee37daf8a2a8f1aa8939ccd4093658e30aa49b</sdk:checksum>
-                <sdk:url>platform-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>1120849</sdk:size>
-                <sdk:checksum type="sha1">69af30f488163dfc3da8cef1bb6cc7e8a6df5681</sdk:checksum>
-                <sdk:url>platform-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform-tool>
-
-    <!-- BUILD-TOOLS ........................ -->
-
-    <sdk:build-tool>
-        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
-        <sdk:revision>
-            <sdk:major>17</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>11004914</sdk:size>
-                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
-                <sdk:url>build-tools_r17-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>11696007</sdk:size>
-                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
-                <sdk:url>build-tools_r17-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>12208114</sdk:size>
-                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
-                <sdk:url>build-tools_r17-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>15413527</sdk:size>
-                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>16627330</sdk:size>
-                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>16633121</sdk:size>
-                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19659547</sdk:size>
-                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
-                <sdk:url>build-tools_r18.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229298</sdk:size>
-                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20451524</sdk:size>
-                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19660000</sdk:size>
-                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229760</sdk:size>
-                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20452157</sdk:size>
-                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>20611447</sdk:size>
-                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
-                <sdk:url>build-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>21339943</sdk:size>
-                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
-                <sdk:url>build-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>21441270</sdk:size>
-                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
-                <sdk:url>build-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- TOOLS ........................ -->
-
-    <sdk:tool>
-        <!-- Generated at Mon Oct 28 23:45:30 2013 from git_mirror-aosp-tools_r22.2 @ 887826 -->
-        <sdk:revision>
-            <sdk:major>22</sdk:major>
-            <sdk:minor>3</sdk:minor>
-        </sdk:revision>
-        <sdk:min-platform-tools-rev>
-            <sdk:major>18</sdk:major>
-        </sdk:min-platform-tools-rev>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>108726734</sdk:size>
-                <sdk:checksum type="sha1">1cdc825c9a84ccf69b4a6386076a881d962dd7a9</sdk:checksum>
-                <sdk:url>tools_r22.3-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>101224750</sdk:size>
-                <sdk:checksum type="sha1">f76251916a23cb3d85e579f01cc6711a334f9064</sdk:checksum>
-                <sdk:url>tools_r22.3-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74859563</sdk:size>
-                <sdk:checksum type="sha1">697d7f6fa44f02e6894d0eeb948ea97e3cdc8c3c</sdk:checksum>
-                <sdk:url>tools_r22.3-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:tool>
-
-    <!-- DOCS ........................ -->
-
-    <sdk:doc>
-        <!-- Generated at Wed Oct 30 22:52:09 2013 from git_klp-dev @ 896129 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>181765706</sdk:size>
-                <sdk:checksum type="sha1">6c92bb045f75a2eabfbdc3e26ff64ce0a7a2b3fc</sdk:checksum>
-                <sdk:url>docs-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:doc>
-
-    <!-- SOURCES ........................ -->
-
-    <sdk:source>
-        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16152383</sdk:size>
-                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
-                <sdk:url>sources-14_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16468746</sdk:size>
-                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
-                <sdk:url>sources-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>17876720</sdk:size>
-                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
-                <sdk:url>sources-16_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>18976816</sdk:size>
-                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
-                <sdk:url>sources-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20226735</sdk:size>
-                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
-                <sdk:url>sources-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Oct 28 23:37:07 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>21656670</sdk:size>
-                <sdk:checksum type="sha1">91d9f5f4117723eecc4434b7de0e7f6295ea0508</sdk:checksum>
-                <sdk:url>sources-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-</sdk:sdk-repository>
diff --git a/pkgs/development/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix
new file mode 100644
index 0000000000000..66a532328b1ba
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/support-repository.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "android-support-repository-r5";
+  src = fetchurl {
+    url = http://dl-ssl.google.com/android/repository/android_m2repository_r05.zip;
+    sha1 = "2ee9723da079ba0d4fe2a185e00ded842de96f13";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+  '';
+
+  buildInputs = [ unzip ];
+}
diff --git a/pkgs/development/mobile/androidenv/sys-img-mips.xml b/pkgs/development/mobile/androidenv/sys-img-mips.xml
deleted file mode 100644
index c839d283f4eae..0000000000000
--- a/pkgs/development/mobile/androidenv/sys-img-mips.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="mips-android-sysimage-license" type="text">
-    <![CDATA[
-MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
- 
-By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
- 
-1. DEFINITIONS. These terms shall have the following meanings:
- 
-1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
- 
-1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
- 
-1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
- 
-1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
- 
-1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
- 
-2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
- 
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
- 
-3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
- 
-4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
-
-
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
- 
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
- 
-6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
- 
-7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
- 
-8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
- 
-9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
- 
-10. GENERAL.
- 
-10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
- 
-10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
- 
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
- 
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
- 
-10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
- 
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
- 
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
- 
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
- 
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-    ]]>
-    </sdk:license>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android 4.0.4</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>117503178</sdk:size>
-                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
-                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>4</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
-             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
-             repo init -u git://github.com/MIPS/manifests.git
-                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
-        <sdk:description>Android 4.1.2</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>122482530</sdk:size>
-                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
-                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
-             github.com/MIPS tag mips-jb-4.2.1_r1 -->
-        <sdk:description>Android 4.2.1</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>131781761</sdk:size>
-                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
-                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img-x86.xml b/pkgs/development/mobile/androidenv/sys-img-x86.xml
deleted file mode 100644
index 75ddf73eb1d27..0000000000000
--- a/pkgs/development/mobile/androidenv/sys-img-x86.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<!--
-* Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-<sdk:license id="intel-android-sysimage-license" type="text">
-<![CDATA[
-Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
-
-Definitions.
-These terms shall have the following meanings:
-
-"Intel" or "INTEL"
-Intel Corporation
-With an Address of:
-2200 Mission College Blvd.
-Santa Clara, CA 95052
-Office of the General Counsel
-Mail Stop: RNB-4-51
-Attn: Software and Services Group Legal
-
-"Evaluation Software"
-The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
-
-INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
-
-1. DEFINITIONS.
-
-1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
-
-1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
-
-1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
-
-1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
-
-2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
-
-3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
-
-4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
-
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
-
-6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
-
-7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
-
-8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
-
-9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
-
-10. GENERAL.
-
-10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
-
-10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
-
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
-
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
-
-10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
-
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
-
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
-
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
-]]>
-</sdk:license>
-
-<!-- SYSTEM IMAGES ........................ -->
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 2.3.7</sdk:description>
-    <sdk:revision>2</sdk:revision>
-    <sdk:api-level>10</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>55463895</sdk:size>
-        <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
-        <sdk:url>sysimg_x86-10_r02.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.0.4</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>15</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>112619605</sdk:size>
-        <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
-        <sdk:url>sysimg_x86-15_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.1.1</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>16</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>131840348</sdk:size>
-        <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
-        <sdk:url>sysimg_x86-16_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.2</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>17</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>138799122</sdk:size>
-            <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
-            <sdk:url>sysimg_x86-17_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.3</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>18</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>155656419</sdk:size>
-            <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
-            <sdk:url>sysimg_x86-18_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml
new file mode 100644
index 0000000000000..5d2b0f7a883ab
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/sys-img.xml
@@ -0,0 +1,712 @@
+<!--
+* Copyright (C) 2012 The Android Open Source Project
+*
+* Licensed under the Apache License, version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="intel-android-sysimage-license" type="text">
+<![CDATA[
+Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
+
+Definitions.
+These terms shall have the following meanings:
+
+"Intel" or "INTEL"
+Intel Corporation
+With an Address of:
+2200 Mission College Blvd.
+Santa Clara, CA 95052
+Office of the General Counsel
+Mail Stop: RNB-4-51
+Attn: Software and Services Group Legal
+
+"Evaluation Software"
+The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
+
+INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
+
+1. DEFINITIONS.
+
+1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
+
+1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
+
+1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
+
+2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
+
+10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
+]]>
+    </sdk:license>
+    <sdk:license id="mips-android-sysimage-license" type="text">
+<![CDATA[
+MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
+
+By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
+
+1. DEFINITIONS. These terms shall have the following meanings:
+
+1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
+
+1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
+
+1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
+
+1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
+
+2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
+
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
+
+
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
+
+10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+    ]]>
+    </sdk:license>
+
+    <!-- ARM SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>99621822</sdk:size>
+                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
+                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>96227377</sdk:size>
+                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
+                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112528368</sdk:size>
+                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
+                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>116553808</sdk:size>
+                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
+                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>125457135</sdk:size>
+                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
+                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Dec  5 14:04:05 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>158478012</sdk:size>
+                <sdk:checksum type="sha1">e0d375397e28e3d5d9577a00132463a4696248e5</sdk:checksum>
+                <sdk:url>sysimg_armv7a-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:22:34 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>227716008</sdk:size>
+                <sdk:checksum type="sha1">1d5d81a7078b5b2a685620d93e1e04a51d2e786a</sdk:checksum>
+                <sdk:url>sysimg_armv7a-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:23:13 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>245850484</sdk:size>
+                <sdk:checksum type="sha1">c2d32d6244821ff59f370469778525f6a5345010</sdk:checksum>
+                <sdk:url>sysimg_x86-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+    <!-- X86 SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 2.3.7</sdk:description>
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>55463895</sdk:size>
+                <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.0.4</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112619605</sdk:size>
+                <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.1.1</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131840348</sdk:size>
+                <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.2</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>138799122</sdk:size>
+                <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>155656419</sdk:size>
+                <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Feb 20 15:52:49 2014 from git_klp-sdk-release @ 999428 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>178922720</sdk:size>
+                <sdk:checksum type="sha1">8889cb418984a2a7916a359da7c429d2431ed060</sdk:checksum>
+                <sdk:url>sysimg_x86-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <!-- MIPS SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android 4.0.4</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>117503178</sdk:size>
+                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
+                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>4</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
+             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
+             repo init -u git://github.com/MIPS/manifests.git
+                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
+        <sdk:description>Android 4.1.2</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>122482530</sdk:size>
+                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
+                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
+             github.com/MIPS tag mips-jb-4.2.1_r1 -->
+        <sdk:description>Android 4.2.1</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131781761</sdk:size>
+                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
+                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index bbbf3a4fc687a..ddc6dd99d39d1 100644
--- a/pkgs/development/mobile/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
@@ -14,113 +14,137 @@ in
 {
 
   sysimg_armeabi-v7a_14 = buildSystemImage {
-    name = "armeabi-v7a-14";
+    name = "sysimg-armeabi-v7a-14";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip;
       sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b";
     };
   };
     
   sysimg_armeabi-v7a_15 = buildSystemImage {
-    name = "armeabi-v7a-15";
+    name = "sysimg-armeabi-v7a-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-15_r02.zip;
       sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e";
     };
   };
     
   sysimg_armeabi-v7a_16 = buildSystemImage {
-    name = "armeabi-v7a-16";
+    name = "sysimg-armeabi-v7a-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r03.zip;
       sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7";
     };
   };
     
   sysimg_armeabi-v7a_17 = buildSystemImage {
-    name = "armeabi-v7a-17";
+    name = "sysimg-armeabi-v7a-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-17_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-17_r02.zip;
       sha1 = "1c321cda1af793b84d47d1a8d15f85444d265e3c";
     };
   };
     
   sysimg_armeabi-v7a_18 = buildSystemImage {
-    name = "armeabi-v7a-18";
+    name = "sysimg-armeabi-v7a-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-18_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-18_r02.zip;
       sha1 = "4a1a93200210d8c42793324362868846f67401ab";
     };
   };
     
   sysimg_armeabi-v7a_19 = buildSystemImage {
-    name = "armeabi-v7a-19";
+    name = "sysimg-armeabi-v7a-19";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip;
-      sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600";
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-19_r02.zip;
+      sha1 = "e0d375397e28e3d5d9577a00132463a4696248e5";
+    };
+  };
+    
+  sysimg_armeabi-v7a_20 = buildSystemImage {
+    name = "sysimg-armeabi-v7a-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-L_r01.zip;
+      sha1 = "1d5d81a7078b5b2a685620d93e1e04a51d2e786a";
+    };
+  };
+    
+  sysimg_x86_20 = buildSystemImage {
+    name = "sysimg-x86-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-L_r01.zip;
+      sha1 = "c2d32d6244821ff59f370469778525f6a5345010";
     };
   };
     
   sysimg_x86_10 = buildSystemImage {
-    name = "x86-10";
+    name = "sysimg-x86-10";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-10_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip;
       sha1 = "34e2436f69606cdfe35d3ef9112f0c64e3ff021d";
     };
   };
     
   sysimg_x86_15 = buildSystemImage {
-    name = "x86-15";
+    name = "sysimg-x86-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip;
       sha1 = "d540325952e0f097509622b9e685737584b83e40";
     };
   };
     
   sysimg_x86_16 = buildSystemImage {
-    name = "x86-16";
+    name = "sysimg-x86-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-16_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip;
       sha1 = "9d35bcaa4f9b40443941f32b8a50337f413c021a";
     };
   };
     
   sysimg_x86_17 = buildSystemImage {
-    name = "x86-17";
+    name = "sysimg-x86-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip;
       sha1 = "ddb3313e8dcd07926003f7b828eafea1115ea35b";
     };
   };
     
   sysimg_x86_18 = buildSystemImage {
-    name = "x86-18";
+    name = "sysimg-x86-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-18_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip;
       sha1 = "f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1";
     };
   };
     
+  sysimg_x86_19 = buildSystemImage {
+    name = "sysimg-x86-19";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-19_r02.zip;
+      sha1 = "8889cb418984a2a7916a359da7c429d2431ed060";
+    };
+  };
+    
   sysimg_mips_15 = buildSystemImage {
-    name = "mips-15";
+    name = "sysimg-mips-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-15_r01.zip;
       sha1 = "a753bb4a6783124dad726c500ce9aec9d2c1b2d9";
     };
   };
     
   sysimg_mips_16 = buildSystemImage {
-    name = "mips-16";
+    name = "sysimg-mips-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-16_r04.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip;
       sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e";
     };
   };
     
   sysimg_mips_17 = buildSystemImage {
-    name = "mips-17";
+    name = "sysimg-mips-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip;
       sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d";
     };
   };
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
index 049595c49a5a0..e1b2b0cb2fafa 100644
--- a/pkgs/development/mobile/xpwn/default.nix
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
+{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
 
 stdenv.mkDerivation {
   name = "xpwn-0.5.8git";
 
   src = fetchgit {
-    url = "git://github.com/dborca/xpwn.git";
-    rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
-    sha256 =
-      "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
+    url    = "git://github.com/dborca/xpwn.git";
+    rev    = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
+    sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
   };
 
   preConfigure = ''
@@ -19,11 +18,16 @@ stdenv.mkDerivation {
     sed -i -e '/install/d' CMakeLists.txt
   '';
 
-  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
+  buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
 
-  meta = {
-    homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
+  cmakeFlags = [
+    "-DCMAKE_OSX_DEPLOYMENT_TARGET="
+  ];
+
+  meta = with stdenv.lib; {
+    homepage    = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
     description = "Custom NOR firmware loader/IPSW generator for the iPhone";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license     = licenses.gpl3Plus;
+    platforms   = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix
index 59f30de5e841d..565176276f98d 100644
--- a/pkgs/development/ocaml-modules/biniou/default.nix
+++ b/pkgs/development/ocaml-modules/biniou/default.nix
@@ -4,6 +4,9 @@ let
   version = "1.0.9";
   webpage = "http://mjambon.com/${pname}.html";
 in
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
 stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
@@ -23,10 +26,11 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix
new file mode 100644
index 0000000000000..6af7ce2507720
--- /dev/null
+++ b/pkgs/development/ocaml-modules/calendar/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-calendar-2.03.2";
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/915/calendar-2.03.2.tar.gz;
+    sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
+    };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+
+  meta =  {
+    homepage = https://forge.ocamlcore.org/projects/calendar/;
+    description = "An Objective Caml library managing dates and times";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
index 674c6c0367b43..adbdc936d1e40 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.2.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 332230615d154..ecdc5bef29587 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
new file mode 100644
index 0000000000000..2dfd7ba128600
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, ocaml, findlib, opam}:
+
+let
+  pname = "cmdliner";
+  version = "0.9.5";
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
+    sha256 = "a0e199c4930450e12edf81604eeceddeeb32d55c43438be689e60df282277a7e";
+  };
+
+  unpackCmd = "tar xjf $src";
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml pkg/git.ml";
+  buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
+  installPhase   = ''
+    opam-installer --script --prefix=$out ${pname}.install > install.sh
+    sh install.sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://erratique.ch/software/cmdliner;
+    description = "An OCaml module for the declarative definition of command line interfaces";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 1f9e2b44e00ce..cfb353bfe3e53 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -4,6 +4,8 @@ let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
 
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation {
   name = "cryptokit-1.9";
 
diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix
index 7178452e3dda4..09679ced7444c 100644
--- a/pkgs/development/ocaml-modules/csv/default.nix
+++ b/pkgs/development/ocaml-modules/csv/default.nix
@@ -1,4 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
 stdenv.mkDerivation {
 
   name = "ocaml-csv-1.3.3";
@@ -18,10 +21,11 @@ stdenv.mkDerivation {
 
   installPhase = "ocaml setup.ml -install";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A pure OCaml library to read and write CSV files";
     homepage = "https://forge.ocamlcore.org/projects/csv/";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index d01a4edf26ec9..0554b67f1d784 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -17,11 +17,10 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A high-level and functional interface to the Format module of the OCaml standard library";
     homepage = "${webpage}";
-    license = "bsd";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
-
-
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
new file mode 100644
index 0000000000000..8a7045e263ada
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
+  js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
+  ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp}:
+
+stdenv.mkDerivation
+{
+  name = "eliom-4.0.0";
+
+  src = fetchurl {
+    url = https://github.com/ocsigen/eliom/archive/4.0.0.tar.gz;
+    sha256 = "1xf2l6lvngxzwaw6lvr6sgi48rz0wxg65q9lz4jzqjarkp0sx206";
+  };
+
+  buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
+                 js_of_ocaml ocaml_react ocaml_lwt calendar
+                 cryptokit tyxml ocaml_ipaddr ocamlnet ocaml_ssl
+                 ocaml_pcre ocaml_optcomp];
+
+  preConfigure =
+  ''chmod a+x configure
+    sed s/deriving-ocsigen/deriving/g -i configure
+  '';
+
+  configureFlags = "--root $(out) --prefix /";
+
+  dontAddPrefix = true;  
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://ocsigen.org/eliom/;
+    description = "Ocaml Framework for programming Web sites and client/server Web applications";
+
+    longDescription =''Eliom is a framework for programming Web sites
+    and client/server Web applications. It introduces new concepts to
+    simplify programming common behaviours and uses advanced static
+    typing features of OCaml to check many properties of the Web site
+    at compile time. If you want to write a Web application, Eliom
+    makes possible to write the whole application as a single program
+    (client and server parts). A syntax extension is used to
+    distinguish both parts and the client side is compiled to JS using
+    Ocsigen Js_of_ocaml.'';
+
+    license = stdenv.lib.licenses.lgpl21;
+
+    platforms = ocaml.meta.platforms;
+
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 7bc7e39894886..9f5f8119fb6d6 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, ocaml, findlib, minimal ? true}:
+{stdenv, fetchurl, ocaml, findlib, camlp4, minimal ? true}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
 
 stdenv.mkDerivation {
   name = "ocaml-extlib-1.6.1";
@@ -8,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1jmfj2w0f3ap0swz8k3qqmrl6x2y4gkmg88vv024xnmliiiv7m48";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix
new file mode 100644
index 0000000000000..b0429e0e91039
--- /dev/null
+++ b/pkgs/development/ocaml-modules/fix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-fix-20130611";
+
+  src = fetchurl {
+    url = http://gallium.inria.fr/~fpottier/fix/fix-20130611.tar.gz;
+    sha256 = "1phlqcs1nb93x9cf0w0hnq2ck4dmn71zm4mxf60w96vb9yb9qzp0";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://gallium.inria.fr/~fpottier/fix/;
+    description = "A simple OCaml module for computing the least solution of a system of monotone equations";
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix
new file mode 100644
index 0000000000000..35dd542af9e30
--- /dev/null
+++ b/pkgs/development/ocaml-modules/functory/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-functory-0.5";
+
+  src = fetchurl {
+    url = https://www.lri.fr/~filliatr/functory/download/functory-0.5.tar.gz;
+    sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  installTargets = "ocamlfind-install";
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.lri.fr/~filliatr/functory/;
+    description = "A distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index 2fa72dcf07f14..7272e668aa205 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib}:
+{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib, camlp4}:
 let
   pname = "javalib";
   version = "2.3";
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
     sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j";
   };
 
-  buildInputs = [ which ocaml findlib camlzip extlib ];
+  buildInputs = [ which ocaml findlib camlp4 ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
@@ -31,10 +33,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ camlzip extlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library that parses Java .class files into OCaml data structures";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.lgpl3;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
new file mode 100644
index 0000000000000..5fb9969e62ef0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "lablgtk";
+  version = "2.14.0";
+in
+
+stdenv.mkDerivation (rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz";
+    sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9";
+  };
+
+  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview];
+
+  configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib";
+  buildFlags = "world";
+
+  preInstall = ''
+    mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib
+    export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH
+  '';
+
+  meta = {
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.roconnor
+    ];
+    homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
+    description = "LablGTK is is an Objective Caml interface to gtk+";
+    license = stdenv.lib.licenses.lgpl21Plus;
+  };
+})
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index c2f50c4e5b83c..7499be9c5dd36 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview}:
+{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -6,6 +6,8 @@ let
   version = "2.16.0";
 in
 
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation (rec {
   name = "${pname}-${version}";
   src = fetchurl {
@@ -13,7 +15,7 @@ stdenv.mkDerivation (rec {
     sha256 = "a0ea9752eb257dadcfc2914408fff339d4c34357802f02c63329dd41b777de2f";
   };
 
-  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview];
+  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview camlp4];
 
   configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib";
   buildFlags = "world";
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index 94395f601aa4e..f77bd3acc6271 100644
--- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake, ocaml, autoconf, gnum4, pkgconfig, freetype, lablgtk, unzip, cairo, findlib, gdk_pixbuf, glib, gtk, pango }: 
+{stdenv, fetchurl, automake, ocaml, autoconf, gnum4, pkgconfig, freetype, lablgtk, unzip, cairo, findlib, gdk_pixbuf, glib, gtk, pango }:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -9,21 +9,22 @@ in
 stdenv.mkDerivation {
   name = "${pname}-${version}";
 
-  src = fetchurl { 
+  src = fetchurl {
     url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip";
-    sha256 = "2d59678e322c331e3f4bc02a77240fce4a0917acb0d3ae75953a6ac62d70a125";
+    sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l";
   };
 
   patches = [ ./META.patch ];
 
-  buildInputs = [ocaml automake gnum4 autoconf unzip pkgconfig findlib freetype lablgtk cairo gdk_pixbuf gtk pango ];
+  buildInputs = [ ocaml automake gnum4 autoconf unzip pkgconfig
+                  findlib freetype lablgtk cairo gdk_pixbuf gtk pango ];
 
   createFindlibDestdir = true;
 
  preConfigure = ''
    aclocal -I support
    autoconf
-   export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib  gtk+ pango`" 
+   export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`"
    export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2
    cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/pango.ml ./src
    cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/gaux.ml ./src
@@ -39,6 +40,6 @@ stdenv.mkDerivation {
     homepage = http://cairographics.org/cairo-ocaml;
     description = "ocaml bindings for cairo library";
     license = stdenv.lib.licenses.gpl2;
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
new file mode 100644
index 0000000000000..e96f3f179a986
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
@@ -0,0 +1,15 @@
+{ocaml, findlib, stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "ocaml-ipaddr-2.4.0";
+  
+  src = fetchurl {
+    url = https://github.com/mirage/ocaml-ipaddr/archive/2.4.0.tar.gz;
+    sha256 = "0g7qg35w3vzcg37798rhbx7iia83286md3gj5gdhs1qgizlg56wx";
+  };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+  
+}
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 9f411dd2a6f0e..98747e2a193e6 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     sha256 = "0bxqxzd5sd7siz57vhzb8bmiz1ddhgdv49gcsmwwfmd16mj4cryi";
   };
 
-  buildInputs = [ ocaml findlib ocamlPackages.lablgtk ];
+  buildInputs = [ ocaml findlib ocamlPackages.lablgtk ocamlPackages.camlp4 ];
 
   patches = ./destdir.patch;
 
diff --git a/pkgs/development/ocaml-modules/ocamlnet/configure.patch b/pkgs/development/ocaml-modules/ocamlnet/configure.patch
deleted file mode 100644
index 38b240f3c2c44..0000000000000
--- a/pkgs/development/ocaml-modules/ocamlnet/configure.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Naur ocamlnet-3.6.3.ori/configure ocamlnet-3.6.3/configure
---- ocamlnet-3.6.3.ori/configure	2013-01-14 00:04:59.000000000 +0000
-+++ ocamlnet-3.6.3/configure	2013-06-02 21:33:08.000000000 +0000
-@@ -642,59 +642,6 @@
- 	exit 1
-     fi
- 
--    printf "%s" "Checking whether lablgtk2 has GMain.Io.remove... "
--    mkdir -p tmp
--    cat <<EOF >tmp/gtk.ml
--let _ = GMain.Io.remove;;
--EOF
--
--    if ocamlfind ocamlc -package lablgtk2 -c tmp/gtk.ml >/dev/null 2>/dev/null;
--    then
--        echo "yes"
--    else
--        echo "no"
--        echo "Your version of lablgtk2 is too old!"
--	exit 1
--    fi
--    
--    printf "%s" "Checking whether lablgtk2 has GMain.Io.add_watch with list support... "
--    mkdir -p tmp
--    cat <<'EOF' >tmp/gtk.ml
--open GMain.Io
--let _ = (add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id);;
--exit 0
--EOF
--    # Note: this newer API is never broken in the sense checked below, i.e.
--    # such lablgtk2 versions do not exist.
--    if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
--        echo "yes"
--        gtk2_io_add_watch_supports_lists="-ppopt -DGTK2_IO_ADD_WATCH_SUPPORTS_LISTS"
--    else
--        echo "no"
--        printf "%s" "Checking whether lablgtk2's GMain.Io.add_watch is broken... "
--        mkdir -p tmp
--        cat <<'EOF' >tmp/gtk.ml
--GMain.Main.init();;
--let ch = GMain.Io.channel_of_descr (Unix.stdout) in
--let w = GMain.Io.add_watch
--          ~cond:`OUT ~callback:(fun () -> true) ch in
--(* add_watch is broken when it just returns Val_unit, and ok when it
-- * returns a positive int
-- *)
--if (Obj.magic w : int) > 0 then
--  exit 0
--else
--  exit 1
--EOF
--	if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
--            echo "no"
--        else
--            echo "yes"
--            echo "You should apply the patch-ab-ml_glib.c to lablgtk2 to fix this!"
--	    exit 1
--        fi
--    fi
--
-     for f in Makefile uq_gtk.ml uq_gtk.mli uq_gtk_helper.ml; do
- 	rm -f src/equeue-gtk2/$f
- 	ln -s ../equeue-gtk1/$f src/equeue-gtk2
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index f1bf39a283d64..06e54a6773344 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -5,19 +5,17 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocamlnet-3.7.3";
+  name = "ocamlnet-3.7.6";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/ocamlnet-3.7.3.tar.gz;
-    sha256 = "0s24icyrxkqqai91rgxpf52s1fx70j7p12c8vq9vcmvdhll6kp2d";
+    url = http://download.camlcity.org/download/ocamlnet-3.7.6.tar.gz;
+    sha256 = "0z17kxn1cyn1x5wgajw737m9rsjwji823rxdwvv8a5239xd1whji";
   };
 
   buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
   propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
-  patches = [ ./configure.patch ];
-
   createFindlibDestdir = true;
 
   dontAddPrefix = true;
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
new file mode 100644
index 0000000000000..d2a1ed3a6240e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp}:
+
+stdenv.mkDerivation {
+  name = "ocsigen-deriving";
+  src = fetchgit {
+    url = "git://github.com/ocsigen/deriving";
+    rev = "refs/tags/0.6.2";
+    sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662";
+    };
+  
+  buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp];
+
+  configurePhase = ''
+  make setup-dev.exe
+  ./setup-dev.exe -configure --prefix $out
+  '';
+
+  createFindlibDestdir = true;
+
+
+  meta =  {
+    homepage = https://github.com/ocsigen/deriving;
+    description = "Extension to OCaml for deriving functions from type declarations";
+    license = "MIT";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
new file mode 100644
index 0000000000000..e33d403737960
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl, ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib, libev, openssl, ocaml_sqlite3, tree}:
+
+stdenv.mkDerivation {
+  name = "ocsigenserver-2.4.0";
+  
+  src = fetchurl {
+    url = https://github.com/ocsigen/ocsigenserver/archive/2.4.0.tar.gz;
+    sha256 = "1fjj8g6ivyfsa0446w77rjihhbw0gh5pgx7brywql2shk999riby";
+  };
+
+  buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl ocaml_sqlite3 tree];
+
+  configureFlags = "--root $(out) --prefix /";
+
+  dontAddPrefix = true;
+
+  createFindlibDestdir = true;
+
+  postFixup = 
+  ''
+  rm -rf $out/var/run
+  '';
+
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = http://ocsigen.org/ocsigenserver/;
+    description = "A full featured Web server";
+    longDescription =''
+      A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
+      '';
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
new file mode 100644
index 0000000000000..6075bc4ab2aa3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-optcomp";
+  src = fetchurl {
+    url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
+    md5 = "d3587244dba1b8b10f24d0b60a8c700d";
+    };
+  
+  createFindlibDestdir = true;
+
+  buildInputs = [ocaml findlib];
+
+
+  meta =  {
+    homepage = https://github.com/diml/optcomp;
+    description = "Optional compilation for OCaml with cpp-like directives";
+    license = "BSD";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 43ec474cf5e7d..5807ceb256b6b 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "1qw8k2czy0bxhsf25kfpgywhpqmg7bi57rmyhlnmbddmvc61pg76";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   dontAddPrefix = true;
 
diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix
new file mode 100644
index 0000000000000..18cc4817b1307
--- /dev/null
+++ b/pkgs/development/ocaml-modules/pprint/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-pprint-20140424";
+
+  src = fetchurl {
+    url = http://gallium.inria.fr/~fpottier/pprint/pprint-20140424.tar.gz;
+    sha256 = "0sc9q89dnyarcg24czyhr6ams0ylqvia3745s6rfwd2nldpygsdk";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  dontBuild = true;
+  installFlags = "-C src";
+
+  meta = with stdenv.lib; {
+    homepage = http://gallium.inria.fr/~fpottier/pprint/;
+    description = "An OCaml adaptation of Wadler’s and Leijen’s prettier printer";
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index bed87a50f81de..534a7684cec4c 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -1,4 +1,7 @@
-{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }:
+{stdenv, fetchurl, which, perl, ocaml, findlib, javalib, camlp4 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
 let
   pname = "sawja";
   version = "1.5";
@@ -13,21 +16,24 @@ stdenv.mkDerivation rec {
     sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm";
   };
 
-  buildInputs = [ which perl ocaml findlib javalib ];
+  buildInputs = [ which perl ocaml findlib camlp4 ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
   propagatedBuildInputs = [ javalib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sexplib/108.08.00.nix b/pkgs/development/ocaml-modules/sexplib/108.08.00.nix
new file mode 100644
index 0000000000000..3e73b562e7e9a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sexplib/108.08.00.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, ocaml, findlib, typeconv}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "3.12" ocaml_version;
+
+stdenv.mkDerivation {
+  name = "ocaml-sexplib-108.08.00";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/sexplib-108.08.00.tar.gz;
+    sha256 = "11z1k1d7dbb5m957klgalimpr0r602xp5zkkbgbffib1bphasarg";
+  };
+
+  buildInputs = [ocaml findlib typeconv ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Library for serializing OCaml values to and from S-expressions";
+    license = stdenv.lib.licenses.asl20;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix
index 7c40b5e6cfb82..6f744778875c6 100644
--- a/pkgs/development/ocaml-modules/sexplib/default.nix
+++ b/pkgs/development/ocaml-modules/sexplib/default.nix
@@ -1,22 +1,27 @@
 {stdenv, fetchurl, ocaml, findlib, ocaml_typeconv}:
 
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "4.00" ocaml_version;
+
 stdenv.mkDerivation {
-  name = "ocaml-sexplib-7.0.5";
+  name = "ocaml-sexplib-111.25.0";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/832/sexplib-7.0.5.tar.gz";
-    sha256 = "b1022da052254581aae51fb634345920364439f715a2c786abcd0b828c2ce697";
+    url = https://ocaml.janestreet.com/ocaml-core/111.25.00/individual/sexplib-111.25.00.tar.gz;
+    sha256 = "0qh0zqp5nakqpmmhh4x7cg03vqj3j2bj4zj0nqdlksai188p9ila";
   };
 
-  patches = [ ./sexp-3.10-compat.patch ./sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch ];
   buildInputs = [ocaml findlib ocaml_typeconv ];
 
   createFindlibDestdir = true;
 
   meta = {
-    homepage = "http://forge.ocamlcore.org/projects/sexplib/";
+    homepage = https://ocaml.janestreet.com/;
     description = "Library for serializing OCaml values to and from S-expressions";
-    license = "LGPL";
+    license = stdenv.lib.licenses.asl20;
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch b/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch
deleted file mode 100644
index 45e2abc618640..0000000000000
--- a/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-diff -ur orig/sexplib-7.0.5/lib/conv.ml sexplib-7.0.5/lib/conv.ml
---- orig/sexplib-7.0.5/lib/conv.ml	2012-03-20 17:41:54.000000000 +0100
-+++ sexplib-7.0.5/lib/conv.ml	2012-03-26 20:04:58.128032729 +0200
-@@ -665,7 +665,7 @@
-         | Parse_error pe ->
-             let ppos =
-               match pe.parse_state with
--              | `Sexp { parse_pos } | `Annot { parse_pos } -> parse_pos
-+              | `Sexp { parse_pos = parse_pos } | `Annot { parse_pos = parse_pos } -> parse_pos
-             in
-             List [
-               Atom "Sexplib.Sexp.Parse_error";
-diff -ur orig/sexplib-7.0.5/lib/pre_sexp.ml sexplib-7.0.5/lib/pre_sexp.ml
---- orig/sexplib-7.0.5/lib/pre_sexp.ml	2012-03-20 17:41:54.000000000 +0100
-+++ sexplib-7.0.5/lib/pre_sexp.ml	2012-03-26 20:04:58.129032741 +0200
-@@ -172,13 +172,7 @@
- (* Output of S-expressions to file *)
- 
- let save_of_output ?perm output_function file sexp =
--  let tmp_name, oc =
--    let temp_dir =
--      if Filename.is_relative file then "."
--      else Filename.dir_sep
--    in
--    Filename.open_temp_file ~temp_dir file "tmp"
--  in
-+  let tmp_name, oc = Filename.open_temp_file file "tmp" in
-   try
-     output_function oc sexp;
-     close_out oc;
-@@ -316,9 +310,9 @@
-     else if text_char < 0 then fail "text_char < 0"
-     else if global_offset < 0 then fail "global_offset < 0"
-     else if buf_pos < 0 then fail "buf_pos < 0"
--    else { text_line; text_char; global_offset; buf_pos }
-+    else { text_line = text_line; text_char = text_char; global_offset = global_offset; buf_pos = buf_pos }
- 
--  let with_buf_pos t buf_pos = { t with buf_pos }
-+  let with_buf_pos t buf_pos = { t with buf_pos = buf_pos }
- end
- 
- type ('a, 't) parse_result =
-@@ -347,11 +341,11 @@
- 
- exception Parse_error of parse_error
- 
--let bump_text_line { parse_pos } =
-+let bump_text_line { parse_pos = parse_pos } =
-   parse_pos.Parse_pos.text_line <- parse_pos.Parse_pos.text_line + 1;
-   parse_pos.Parse_pos.text_char <- 0
- 
--let bump_text_pos { parse_pos } =
-+let bump_text_pos { parse_pos = parse_pos } =
-   parse_pos.Parse_pos.text_char <- parse_pos.Parse_pos.text_char + 1
- 
- let bump_pos_cont state str ~max_pos ~pos cont =
-@@ -378,18 +372,18 @@
-   parse_pos.Parse_pos.buf_pos <- buf_pos;
-   parse_pos.Parse_pos.global_offset <- parse_pos.Parse_pos.global_offset + len
- 
--let mk_parse_pos { parse_pos } buf_pos =
-+let mk_parse_pos { parse_pos = parse_pos } buf_pos =
-   set_parse_pos parse_pos buf_pos;
-   parse_pos
- 
- let raise_parse_error parse_state location buf_pos err_msg =
-   begin
-     match parse_state with
--    | `Sexp { parse_pos } | `Annot { parse_pos } ->
-+    | `Sexp { parse_pos = parse_pos } | `Annot { parse_pos = parse_pos } ->
-         set_parse_pos parse_pos buf_pos;
-         parse_pos.Parse_pos.text_char <- parse_pos.Parse_pos.text_char + 1;
-   end;
--  let parse_error = { location; err_msg; parse_state } in
-+  let parse_error = { location = location; err_msg = err_msg; parse_state = parse_state } in
-   raise (Parse_error parse_error)
- 
- let raise_unexpected_char parse_state location buf_pos c =
-@@ -657,7 +651,7 @@
-     let max_pos = check_str_bounds "parse" ~pos ~len str in \
-     let state = \
-       { \
--        parse_pos; \
-+        parse_pos = parse_pos; \
-         pstack = INIT_PSTACK; \
-         pbuf = Buffer.create 128; \
-       } \
-@@ -681,20 +675,20 @@
- 
- let mk_annot_pos
-       ({ Parse_pos.text_line = line; text_char = col } as parse_pos) pos =
--  { Annot.line; col; offset = get_glob_ofs parse_pos pos }
-+  { Annot.line = line; col = col; offset = get_glob_ofs parse_pos pos }
- 
- let mk_annot_pos1
-       ({ Parse_pos.text_line = line; text_char = col } as parse_pos) pos =
--  { Annot.line; col = col + 1; offset = get_glob_ofs parse_pos pos }
-+  { Annot.line = line; col = col + 1; offset = get_glob_ofs parse_pos pos }
- 
--let add_annot_pos { parse_pos; pstack } pos =
-+let add_annot_pos { parse_pos = parse_pos; pstack = pstack } pos =
-   pstack.Annot.positions <- mk_annot_pos parse_pos pos :: pstack.Annot.positions
- 
--let add_annot_pos1 { parse_pos; pstack } pos =
-+let add_annot_pos1 { parse_pos = parse_pos; pstack = pstack } pos =
-   pstack.Annot.positions <-
-     mk_annot_pos1 parse_pos pos :: pstack.Annot.positions
- 
--let get_annot_range { parse_pos; pstack } pos =
-+let get_annot_range { parse_pos = parse_pos; pstack = pstack } pos =
-   let start_pos =
-     match pstack.Annot.positions with
-     | [] -> assert false  (* impossible *)
-@@ -708,7 +702,7 @@
-       offset = get_glob_ofs parse_pos pos;
-     }
-   in
--  { Annot.start_pos; end_pos }
-+  { Annot.start_pos = start_pos; end_pos = end_pos }
- 
- let mk_annot_atom parse_state str pos =
-   Annot.Atom (get_annot_range parse_state pos, Atom str)
-@@ -780,7 +774,7 @@
-   let rec loop this_parse ~pos ~len ~is_incomplete =
-     if len > 0 then
-       match this_parse ~pos ~len buf with
--      | Done (sexp, ({ Parse_pos.buf_pos } as parse_pos)) ->
-+      | Done (sexp, ({ Parse_pos.buf_pos = buf_pos } as parse_pos)) ->
-           rev_sexps_ref := sexp :: !rev_sexps_ref;
-           let n_parsed = buf_pos - pos in
-           let this_parse = mk_this_parse ~parse_pos my_parse in
-@@ -813,7 +807,7 @@
- 
- let of_string_bigstring loc this_parse ws_buf get_len get_sub str =
-   match this_parse str with
--  | Done (_, { Parse_pos.buf_pos }) when buf_pos <> get_len str ->
-+  | Done (_, { Parse_pos.buf_pos = buf_pos }) when buf_pos <> get_len str ->
-       let prefix_len = min (get_len str - buf_pos) 20 in
-       let prefix = get_sub str buf_pos prefix_len in
-       let msg =
-@@ -874,7 +868,7 @@
-       failwith (sprintf "Sexplib.Sexp.gen_load_sexp: end of file: %s" file)
-     else
-       match this_parse ~pos:0 ~len buf with
--      | Done (sexp, ({ Parse_pos.buf_pos } as parse_pos))
-+      | Done (sexp, ({ Parse_pos.buf_pos = buf_pos } as parse_pos))
-         when strict ->
-           let rec strict_loop this_parse ~pos ~len =
-             match this_parse ~pos ~len buf with
-@@ -938,7 +932,7 @@
- 
-   let get_conv_exn ~file ~exc annot_sexp =
-     let range = get_range annot_sexp in
--    let { start_pos = { line; col } } = range in
-+    let { start_pos = { line = line; col = col } } = range in
-     let loc = sprintf "%s:%d:%d" file line col in
-     Of_sexp_error (Annot.Conv_exn (loc, exc), get_sexp annot_sexp)
- end
-@@ -1003,7 +997,7 @@
-   let sexp = of_string str in
-   try f sexp
-   with Of_sexp_error (exc, sub_sexp) ->
--    raise (Of_string_conv_exn.E { Of_string_conv_exn.exc; sexp; sub_sexp })
-+    raise (Of_string_conv_exn.E { Of_string_conv_exn.exc = exc; sexp = sexp; sub_sexp = sub_sexp })
- 
- let of_string_conv_exn str f = gen_of_string_conv_exn of_string str f
- let of_bigstring_conv_exn bstr f = gen_of_string_conv_exn of_bigstring bstr f
diff --git a/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch b/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch
deleted file mode 100644
index 02e13e39445a0..0000000000000
--- a/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Patch from the fedora repository.
-
---- sexplib-7.0.5.old/myocamlbuild.ml	2012-03-20 16:41:54.000000000 +0000
-+++ sexplib-7.0.5/myocamlbuild.ml	2012-07-30 11:38:21.829869635 +0100
-@@ -438,7 +438,13 @@
-                    BaseEnvLight.var_choose cond_specs env
-                  in
-                    flag tags & spec)
--              t.flags
-+              t.flags;
-+
-+            flag ["ocaml"; "compile"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]);
-+            flag ["ocaml"; "link"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cma"]);
-+            flag ["ocaml"; "compile"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]);
-+            flag ["ocaml"; "link"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cmxa"]);
-+
-         | _ -> 
-             ()
-   
---- sexplib-7.0.5.old/_tags	2012-03-20 16:41:54.000000000 +0000
-+++ sexplib-7.0.5/_tags	2012-07-30 11:37:01.749255839 +0100
-@@ -49,6 +49,7 @@
- <lib_test/*.ml{,i}>: pkg_camlp4.extend
- # Library sexplib_top
- "top": include
-+<top/*.ml{,i}>: use_toploop
- # Executable sexp_test
- "lib_test/sexp_test.byte": use_sexplib
- "lib_test/sexp_test.byte": pkg_unix
diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
new file mode 100644
index 0000000000000..94377a646c1c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+  name = "ocaml-sqlite3EZ-0.1.0";
+
+  src = fetchurl {
+    url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz;
+    sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748";
+  };
+
+  buildInputs = [ ocaml findlib twt ];
+
+  propagatedBuildInputs = [ ocaml_sqlite3 ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/mlin/ocaml-sqlite3EZ;
+    description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix
new file mode 100644
index 0000000000000..0dc7170552cee
--- /dev/null
+++ b/pkgs/development/ocaml-modules/twt/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+  name = "ocaml-twt-0.93.2";
+
+  src = fetchurl {
+    url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz;
+    sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = ''
+    mkdir $out/bin
+  '';
+
+  dontBuild = true;
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/;
+    description = "“The Whitespace Thing” for OCaml";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/108.08.00.nix b/pkgs/development/ocaml-modules/typeconv/108.08.00.nix
new file mode 100644
index 0000000000000..805a8926e1868
--- /dev/null
+++ b/pkgs/development/ocaml-modules/typeconv/108.08.00.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "3.12" ocaml_version;
+
+stdenv.mkDerivation {
+  name = "ocaml-typeconv-108.08.00";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/type_conv-108.08.00.tar.gz;
+    sha256 = "08ysikwwp69zvc147lzzg79nwlrzrk738rj0ggcfadi8h5il42sl";
+  };
+
+  buildInputs = [ocaml findlib camlp4];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Support library for OCaml preprocessor type conversions";
+    #license = licenses.apl20; invalid license
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [ z77z ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
deleted file mode 100644
index 299e7729b91e6..0000000000000
--- a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{stdenv, fetchurl, ocaml, findlib}:
-
-# note: works only with ocaml >3.12
-
-stdenv.mkDerivation {
-  name = "ocaml-typeconv-3.0.5";
-
-  src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz";
-    sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198";
-  };
-
-  buildInputs = [ocaml findlib ]; 
-
-  createFindlibDestdir = true;
-
-  meta = {
-    homepage = "http://forge.ocamlcore.org/projects/type-conv/";
-    description = "Support library for OCaml preprocessor type conversions";
-    license = "LGPL";
-    platforms = ocaml.meta.platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix
index 33e30f5d5c8ea..359f906ce3473 100644
--- a/pkgs/development/ocaml-modules/typeconv/default.nix
+++ b/pkgs/development/ocaml-modules/typeconv/default.nix
@@ -1,4 +1,10 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "4.00" ocaml_version;
 
 stdenv.mkDerivation {
   name = "ocaml-typeconv-109.60.01";
@@ -8,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
   };
 
-  buildInputs = [ocaml findlib ]; 
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
new file mode 100644
index 0000000000000..02ac7f381e513
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}:
+
+stdenv.mkDerivation {
+  name = "tyxml-3.0.0";
+
+  src = fetchurl {
+    url = http://ocsigen.org/download/tyxml-3.0.0.tar.gz;
+    sha256 = "0cvbmyg4g0lg4f23032cjlxqklisccbjgj47117wm6gva8xi7xa3";
+    };
+
+  buildInputs = [ocaml findlib ocaml_oasis];
+
+  createFindlibDestdir = true;
+
+  configurePhase = ''
+  make setup-dev.exe
+  ./setup-dev.exe -configure --prefix $out
+  '';
+
+  meta = {
+    homepage = http://ocsigen.org/tyxml/;
+    description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+      ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix
index 1d0f5c6cd5047..476f0e9bbe8cc 100644
--- a/pkgs/development/ocaml-modules/uucd/default.nix
+++ b/pkgs/development/ocaml-modules/uucd/default.nix
@@ -30,10 +30,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ xmlm ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml module to decode the data of the Unicode character database from its XML representation";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index c807bbd446375..ece5fb5e3e3f5 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml module for normalizing Unicode text";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index 862236c169bc3..26dc9742aeb49 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Non-blocking streaming Unicode codec for OCaml";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index bd19ab716f66b..dacaeea49f4c7 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml streaming codec to decode and encode the XML data format";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 9237db080d679..0b40b68a7e83a 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -4,16 +4,18 @@ let
   version = "1.1.8";
   webpage = "http://mjambon.com/${pname}.html";
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
 
-  name = "${pname}-${version}";
+  name = "ocaml-${pname}-${version}";
 
   src = fetchurl {
-    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz";
     sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv";
   };
 
-  buildInputs = [ ocaml findlib cppo easy-format biniou ];
+  buildInputs = [ ocaml findlib ];
+
+  propagatedBuildInputs = [ cppo easy-format biniou ];
 
   createFindlibDestdir = true;
 
@@ -23,10 +25,11 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 7022206c5cc61..361785374bb3c 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   name = "pharo-vm-core-i386-2014.06.25";
   system = "x86_32-linux";
   src = fetchurl {
-    url = http://files.pharo.org/vm/src/vm-unix-sources/pharo-vm-2014.06.25.tar.bz2;
-    md5 = "4d80d8169c2f2f0355c43ee90bbad23f";
+    url = http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-2014.08.14.tar.bz2;
+    md5 = "8e9e8dfde4f4bb69aac4590ecf82dd3b";
   };
 
   sources10Zip = fetchurl {
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index d88504379ed02..bc386e7e5ac28 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }:
+{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "dbus-python-1.2.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 4c9c53aab8342..6ec7934e56382 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -161,11 +161,12 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
 
   shellHook = attrs.shellHook or ''
     if test -e setup.py; then
-       mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
+       tmp_path=/tmp/`pwd | md5sum | cut -f 1 -d " "`-$name
+       mkdir -p $tmp_path/lib/${python.libPrefix}/site-packages
        ${preShellHook}
-       export PATH="/tmp/$name/bin:$PATH"
-       export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-       ${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
+       export PATH="$tmp_path/bin:$PATH"
+       export PYTHONPATH="$tmp_path/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+       ${python}/bin/${python.executable} setup.py develop --prefix $tmp_path
        ${postShellHook}
     fi
   '';
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
new file mode 100644
index 0000000000000..39a35ad49c6e6
--- /dev/null
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, python, buildPythonPackage
+, numpy, hdf5, cython
+, mpiSupport ? false, mpi4py ? null, mpi ? null }:
+
+assert mpiSupport == hdf5.mpiSupport;
+assert mpiSupport -> mpi != null
+  && mpi4py != null
+  && mpi == mpi4py.mpi
+  && mpi == hdf5.mpi
+  ;
+
+with stdenv.lib;
+
+buildPythonPackage rec {
+  name = "h5py-2.3.1";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz";
+    md5 = "8f32f96d653e904d20f9f910c6d9dd91";
+  };
+
+  setupPyBuildFlags = [ "--hdf5=${hdf5}" ]
+    ++ optional mpiSupport "--mpi"
+    ;
+  setupPyInstallFlags = setupPyBuildFlags;
+
+  preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
+
+  buildInputs = [ hdf5 cython ]
+    ++ optional mpiSupport mpi
+    ;
+  propagatedBuildInputs = [ numpy ]
+    ++ optional mpiSupport mpi4py
+    ;
+
+  meta = {
+    description =
+      "Pythonic interface to the HDF5 binary data format";
+    homepage = "http://www.h5py.org/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
new file mode 100644
index 0000000000000..c38d948dd6be6
--- /dev/null
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
+
+buildPythonPackage rec {
+  name = "mpi4py-1.3.1";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz";
+    sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507";
+  };
+
+  passthru = {
+    inherit mpi;
+  };
+
+  # The tests in the `test_spawn` module fail in the chroot build environment.
+  # However, they do pass in a pure, or non-pure nix-shell. Hence, we
+  # deactivate these particular tests.
+  # Unfortunately, the command-line arguments to `./setup.py test` are not
+  # correctly passed to the test-runner. Hence, these arguments are patched
+  # directly into `setup.py`.
+  patchPhase = ''
+    sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py
+  '';
+
+  configurePhase = "";
+
+  installPhase = ''
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out"
+
+    # --install-lib:
+    # sometimes packages specify where files should be installed outside the usual
+    # python lib prefix, we override that back so all infrastructure (setup hooks)
+    # work as expected
+  '';
+
+  setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
+
+  buildInputs = [ mpi ];
+  # Requires openssh for tests. Tests of dependent packages will also fail,
+  # if openssh is not present. E.g. h5py with mpi support.
+  propagatedBuildInputs = [ openssh ];
+
+  disabled = isPy3k || isPyPy;
+
+  meta = {
+    description =
+      "Python bindings for the Message Passing Interface standard";
+    homepage = "http://code.google.com/p/mpi4py/";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 3dc64f6812942..0589bec36b956 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }:
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "pycairo not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   version = "1.10.0";
   name = "pycairo-${version}";
   src = if python.is_py3k or false
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 7d82ef9adf2ea..b874d3d5c522c 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -1,13 +1,11 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "rbtools-0.4.1";
+  name = "rbtools-0.6.1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://downloads.reviewboard.org/releases/RBTools/0.4/RBTools-0.4.1.tar.gz";
-    sha256 = "1v0r7rfzrasj56s53mib51wl056g7ykh2y1c6dwv12r6hzqsycgv";
+    url = "http://downloads.reviewboard.org/releases/RBTools/0.6/RBTools-0.6.1.tar.gz";
+    sha256 = "0dbpd08b0k00fszi3r7wlgn2989aypgd60jq6wc99lq4yxsmhp28";
   };
-
-  propagatedBuildInputs = [ pythonPackages.setuptools ];
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index e33c815d23bc8..4649bc5a2a7a4 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   shortName = "setuptools-${version}";
   name = "${python.executable}-${shortName}";
 
-  version = "2.1";
+  version = "5.8";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz";
-    sha256 = "1m8qjvj5bfbphdags5s6pgmvk3xnw509lgdlq9whkq5a9mgxf8m7";
+    sha256 = "15h643gf821b72d0s59cjj60c6dm5l57rggv5za9d05mccp3psff";
   };
 
   buildInputs = [ python wrapPython distutils-cfg ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       wrapPythonPrograms
     '';
 
-  doCheck = stdenv.system != "x86_64-darwin";
+  doCheck = false;  # requires pytest
 
   checkPhase = ''
     ${python}/bin/${python.executable} setup.py test
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
index aa1fb19843854..210346062f9e9 100644
--- a/pkgs/development/python-modules/sip/4.16.nix
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "sip-4.16.1";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index db397f9594487..cf3a0149844bb 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/wxPython/2.8.nix b/pkgs/development/python-modules/wxPython/2.8.nix
index 8819605528d6d..64dd59242c2d9 100644
--- a/pkgs/development/python-modules/wxPython/2.8.nix
+++ b/pkgs/development/python-modules/wxPython/2.8.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }:
 
 assert wxGTK.unicode;
 
 let version = "2.8.12.1"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder.sh;
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
index 9aa6148643bdd..4f89dbeb41050 100644
--- a/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }:
 
 assert wxGTK.unicode;
 
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let version = "3.0.0.0"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder3.0.sh;
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index dcffbccb510a0..ad83e671ca760 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -2479,7 +2479,7 @@ let self = _self // overrides; _self = with self; {
   jpeg = derive { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
   JPSurv = derive { name="JPSurv"; version="1.0.1"; sha256="11hfji0nyfmw1d7y2cijpp7ivlv5s9k8g771kmgwy14wflkyf7g2"; depends=[]; };
   jSonarR = derive { name="jSonarR"; version="1.0"; sha256="1369v79y2679p1c1s6pfi0zdj21zbbln3a4gqsxivx82m0lwqprp"; depends=[RCurl]; };
-  jsonlite = derive { name="jsonlite"; version="0.9.10"; sha256="0w49mv4fabzgc86gv2jn9apwf9k6bk1s1p3mjmaxpmw95wgjpc9r"; depends=[]; };
+  jsonlite = derive { name="jsonlite"; version="0.9.11"; sha256="4e6d86dfd1584ed2b96b1eb6c067b07847df5fff673d07ffacca6399c330552e"; depends=[]; };
   jtrans = derive { name="jtrans"; version="0.1"; sha256="1wcrjyifsnpk9jfmwc1cx30qp5vavwl87i0avbbls8cmji7z0nay"; depends=[]; };
   JudgeIt = derive { name="JudgeIt"; version="1.5.1"; sha256="1jssz1x9gw9hjpqlqbvlxa99icl8gffzl6qya0cnaxr50p82hdag"; depends=[]; };
   Julia = derive { name="Julia"; version="1.0"; sha256="0df72mjkfsaz7wbrg3l6fcypwm59hdxxndjv1b833xa4qpq5301g"; depends=[]; };
@@ -4252,7 +4252,7 @@ let self = _self // overrides; _self = with self; {
   rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; };
   Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; };
   rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; };
-  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops]; };
+  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops pkgs.curl]; };
   Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; };
   rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
   rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; };
@@ -4387,11 +4387,11 @@ let self = _self // overrides; _self = with self; {
   Rgbp = derive { name="Rgbp"; version="1.0.6"; sha256="1j4j7g9z7p592f82k0yvibrydynkd9v1ldil2vf3ikc650bn2l02"; depends=[sn]; };
   RGCCA = derive { name="RGCCA"; version="2.0"; sha256="0mcp51z5jkn7yxmspp5cvmmvq0cwh7hj66g7wjmxsi74dwxcinvg"; depends=[MASS]; };
   rgcvpack = derive { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; };
-  rgdal = derive { name="rgdal"; version="0.8-16"; sha256="17qk7kd0l0l52nyf6drr0gv4b0ibkggyn6g3ky9flsjy05b3wg8j"; depends=[sp]; };
+  rgdal = derive { name="rgdal"; version="0.8-16"; sha256="17qk7kd0l0l52nyf6drr0gv4b0ibkggyn6g3ky9flsjy05b3wg8j"; depends=[sp pkgs.gdal pkgs.proj]; };
   RGENERATE = derive { name="RGENERATE"; version="1.1"; sha256="1da3b50cfv5jb63ijzbnr226jadbww2bapcxzx8am7zydm6gqnss"; depends=[RMAWGEN]; };
   RGenetics = derive { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
   rgenoud = derive { name="rgenoud"; version="5.7-12"; sha256="17gzkn4laylnksy8h2w8c0whcxpchsx7bwjzk1q5sfqxswclqq0g"; depends=[]; };
-  rgeos = derive { name="rgeos"; version="0.3-6"; sha256="134cppgg5349i5qs9k2161fakd15l1fx1x6mgv28c5vic2xdm4wl"; depends=[sp]; };
+  rgeos = derive { name="rgeos"; version="0.3-6"; sha256="134cppgg5349i5qs9k2161fakd15l1fx1x6mgv28c5vic2xdm4wl"; depends=[sp pkgs.geos]; };
   rgexf = derive { name="rgexf"; version="0.14.3.11"; sha256="16mil1csyzkaywcdrjzz5r60n4xhhinxawg30skc7d9awkf26qfa"; depends=[XML Rook igraph]; };
   rggobi = derive { name="rggobi"; version="2.1.20"; sha256="1a7l68h3m9cq14k7y96ijgh0iz3d6j4j2anxg50pykz20lnykr9g"; depends=[RGtk2]; };
   RGIFT = derive { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index ca4176dbe1eb6..094cabb730600 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -4,14 +4,14 @@
 
 let
   name = "cppcheck";
-  version = "1.65";
+  version = "1.66";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "0rsxnqvjyiviqsq4y5x4p1jpvcmhf8hh7d710rsvnv5d4cj7lmqn";
+    sha256 = "1dy1jd9ckqs565iwcv281pc3xmp9fnfw5ydh3wq06pyz74yw4scl";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix
new file mode 100644
index 0000000000000..e21f5ed15e9ed
--- /dev/null
+++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, kdelibs, kgraphviewer, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "massif-visualizer-${version}";
+  version = "0.3.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/massif-visualizer/${version}/src/${name}.tar.xz";
+    sha256 = "9940fa90137ca5eef08b9ec220825fadbf03db423a670a2c7fe3edab271d9922";
+  };
+
+  buildInputs = [ kdelibs kgraphviewer gettext ];
+
+  meta = with stdenv.lib; {
+    description = "Tool that visualizes massif data generated by valgrind";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 14007d80b0fb3..2709caaab062c 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "pmd-4.2.5";
+  name = "pmd-4.2.6";
   buildInputs = [unzip] ;
 
   src = fetchurl {
-    url = mirror://sourceforge/pmd/pmd-bin-4.2.5.zip ;
-    sha256 = "07cb18mv7rplksy3iw3rxyjaav4m7kcjqfhzv20ki73hfkqxa85c";
+    url = mirror://sourceforge/pmd/pmd-bin-4.2.6.zip ;
+    sha256 = "0gg1px2jmqn09f5vjzgy9gck37qjm9p2d7gf9grsmrr2xncbipp8";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index 2ab8c05ebf85a..3c83f0e9d4951 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -12,15 +12,15 @@ let
   optional = stdenv.lib.optional;
 in
 stdenv.mkDerivation rec {
-  name = "radare-1.5";
+  name = "radare-1.5.2";
 
   src = fetchurl {
     url = "http://radare.org/get/${name}.tar.gz";
-    sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h";
+    sha256 = "1qdrmcnzfvfvqb27c7pknwm8jl2hqa6c4l66wzyddwlb8yjm46hd";
   };
 
 
-  buildInputs = [pkgconfig readline libusb libewf perl]
+  buildInputs = [pkgconfig readline libusb perl]
     ++ optional useX11 [gtkdialog vte gtk]
     ++ optional rubyBindings [ruby]
     ++ optional pythonBindings [python]
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
new file mode 100644
index 0000000000000..7e199c29aed9c
--- /dev/null
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
+gtk ? null, vte ? null, gtkdialog ? null,
+python ? null,
+ruby ? null,
+lua ? null,
+useX11, rubyBindings, pythonBindings, luaBindings}:
+
+assert useX11 -> (gtk != null && vte != null && gtkdialog != null);
+assert rubyBindings -> ruby != null;
+assert pythonBindings -> python != null;
+
+let 
+  optional = stdenv.lib.optional;
+in
+stdenv.mkDerivation rec {
+  version = "0.9.7";
+  name = "radare2-${version}";
+
+  src = fetchurl {
+    url = "http://radare.org/get/${name}.tar.xz";
+    sha256 = "01sdsnbvx1qzyradj03sg24rk2bi9x58m40r0aqj8skv92c87s7l";
+  };
+
+
+  buildInputs = [pkgconfig readline libusb libewf perl zlib openssl]
+    ++ optional useX11 [gtkdialog vte gtk]
+    ++ optional rubyBindings [ruby]
+    ++ optional pythonBindings [python]
+    ++ optional luaBindings [lua];
+
+  meta = {
+    description = "Free advanced command line hexadecimal editor";
+    homepage = http://radare.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    platforms = with stdenv.lib.platforms; linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 06c04ca41b5dd..a40215592f455 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
     license = "free";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index aaeee026d0a8a..64f3b7d60abd3 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gdb }:
 
 stdenv.mkDerivation rec {
-  name = "valgrind-3.9.0";
+  name = "valgrind-3.10.0";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6";
+    sha256 = "1jgd42vsx0bcblp91bd61hd5wpy0gghh09wxgm65m666vy17y103";
   };
 
   patches = [ ./glibc-2.19.patch ];
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
new file mode 100644
index 0000000000000..5538eae4104aa
--- /dev/null
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "boost-build-2.0-m12";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/${name}.tar.bz2";
+    sha256 = "10sbbkx2752r4i1yshyp47nw29lyi1p34sy6hj7ivvnddiliayca";
+  };
+
+  patchPhase = ''
+    grep -r '/usr/share/boost-build' \
+      | awk '{split($0,a,":"); print a[1];}' \
+      | xargs sed -i "s,/usr/share/boost-build,$out/share/boost-build,"
+  '';
+
+  buildPhase = ''
+    cd jam_src
+    ./build.sh
+  '';
+
+  installPhase = ''
+    # Install Bjam
+    mkdir -p $out/bin
+    cd "$(ls | grep bin)"
+    cp -a bjam $out/bin
+
+    # Bjam is B2
+    ln -s bjam $out/bin/b2
+
+    # Install the shared files (don't include jam_src)
+    cd ../..
+    rm -rf jam_src
+    mkdir -p $out/share
+    cp -a . $out/share/boost-build
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.boost.org/boost-build2/;
+    license = "boost-license";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 0dfb634c59441..476d2cb8ac527 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, makeWrapper }:
+{ fetchurl, stdenv, coreutils, makeWrapper }:
 
-let version = "1.9.3"; in
+let version = "1.9.4"; in
 
 stdenv.mkDerivation {
   name = "ant-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
+    sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90";
   };
 
   contrib = fetchurl {
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
       if [ -z "\$JAVA_HOME" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
-                  export JAVA_HOME="\$(dirname \$(dirname \$(readlink -f \$p)))"
+                  export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
diff --git a/pkgs/misc/maven/builder.sh b/pkgs/development/tools/build-managers/apache-maven/builder.sh
index 03e4a04140263..03e4a04140263 100644
--- a/pkgs/misc/maven/builder.sh
+++ b/pkgs/development/tools/build-managers/apache-maven/builder.sh
diff --git a/pkgs/misc/maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
index b7cb84fbb3c40..69dbf46bcddcd 100644
--- a/pkgs/misc/maven/default.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -3,13 +3,13 @@
 assert jdk != null;
 
 stdenv.mkDerivation {
-  name = "apache-maven-3.1.1";
+  name = "apache-maven-3.2.3";
 
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = mirror://apache/maven/binaries/apache-maven-3.1.1-bin.tar.gz;
-    sha256 = "06ymc5y8bp5crcz74z2m9pf58aid5q11v2klnjmxb4ar8mkd8zh7";
+    url = mirror://apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz;
+    sha256 = "1vd81bhj68mhnkb0zlarshlk61i2n160pyxxmrc739p3vsm08gxz";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/build-managers/cargo/common.nix b/pkgs/development/tools/build-managers/cargo/common.nix
new file mode 100644
index 0000000000000..e60efc18d29da
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cargo/common.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, zlib}:
+
+with stdenv.lib;
+
+rec {
+  platform = if stdenv.system == "i686-linux"
+    then "i686-unknown-linux-gnu"
+    else if stdenv.system == "x86_64-linux"
+    then "x86_64-unknown-linux-gnu"
+    else if stdenv.system == "i686-darwin"
+    then "i686-apple-darwin"
+    else if stdenv.system == "x86_64-darwin"
+    then "x86_64-apple-darwin"
+    else throw "no snapshot to boostrap for this platform (missing platform url suffix)";
+
+  snapshotHash = if stdenv.system == "i686-linux"
+    then "c92895421e6fa170dbd713e74334b8c3cf22b817"
+    else if stdenv.system == "x86_64-linux"
+    then "66ee4126f9e4820cd82e78181931f8ea365904de"
+    else if stdenv.system == "i686-darwin"
+    then "e2364b1f1ece338b9fc4c308c472fc2413bff04e"
+    else if stdenv.system == "x86_64-darwin"
+    then "09f92f06ab4f048acf71d83dc0426ff1509779a9"
+    else throw "no snapshot for platform ${stdenv.system}";
+
+  snapshotDate = "2014-09-19";
+  snapshotName = "cargo-nightly-${platform}.tar.gz";
+
+  snapshot = stdenv.mkDerivation {
+    name = "cargo-snapshot-${snapshotDate}";
+    src = fetchurl {
+      url = "https://static-rust-lang-org.s3.amazonaws.com/cargo-dist/${snapshotDate}/${snapshotName}";
+      sha1 = snapshotHash;
+    };
+    dontStrip = true;
+    installPhase = ''
+      mkdir -p "$out"
+      cp -r bin "$out/bin"
+    '' + (if stdenv.isLinux then ''
+      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker}" \
+               --set-rpath "${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/:${zlib}/lib" \
+               "$out/bin/cargo"
+    '' else "");
+  };
+
+  meta = {
+    homepage = http://crates.io;
+    description = "Downloads your Rust project's dependencies and builds your project";
+    license = [ licenses.mit licenses.asl20 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/cargo/snapshot.nix b/pkgs/development/tools/build-managers/cargo/snapshot.nix
new file mode 100644
index 0000000000000..e86b19ca33ebd
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cargo/snapshot.nix
@@ -0,0 +1,7 @@
+{ stdenv, fetchurl, zlib }:
+
+/* Cargo binary snapshot */
+
+with ((import ./common.nix) { inherit stdenv fetchurl zlib; });
+
+snapshot // { inherit meta; }
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 99353a1a192cb..49e1dcb29c345 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,17 +3,17 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.4.2";
+  version = "2.5.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1qdq3v7wv9jacw4bipgx24knlipw6zdcx43yd1qyw6zwaad51ckw";
+    sha256 = "1drl35313xp2gg5y52wp8414i2fm806rhgcsghl4igrm3afrv85x";
   };
 
   jarsrc = fetchurl {
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.jar";
-    sha256 = "0n4kpmzw9nvppq758lhnrr7xps5j6gwmdm98m772cj7j4vixsrzb";
+    sha256 = "0fd7yqrj9asx1n3nszli7hr4fj47v2pdr9msk5g75955pw7yavp9";
   };
 
   patches = [ ./lein-fix-jar-path.patch ];
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index d10d9d6d1a3a6..d62ae35b8549a 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
       variety of locations (git, hg, etc).
       '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index b54f894d8eb40..39937f7d378b0 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cat > $out/bin/sbt << EOF
-    #!/bin/sh
-    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
+    #! ${stdenv.shell}
     ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
     EOF
     chmod +x $out/bin/sbt
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5194684261c9a..7ba30991d20e1 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "jenkins";
-  version = "1.550";
+  name = "jenkins-${version}";
+  version = "1.579";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793";
+    sha256 = "1l2a8h3js42gkqn8kiysbgrxksqmhmmfp9l4kbrmw609q2wn5119";
   };
-  meta = {
-    description = "An extendable open source continuous integration server.";
+  meta = with stdenv.lib; {
+    description = "An extendable open source continuous integration server";
     homepage = http://jenkins-ci.org;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.coconnor ];
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.coconnor ];
   };
 
   buildCommand = "ln -s $src $out";
diff --git a/pkgs/development/tools/documentation/haddock/2.15.0.nix b/pkgs/development/tools/documentation/haddock/2.15.0.nix
new file mode 100644
index 0000000000000..3b3d91a1f2f1b
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.15.0.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, haddockApi }:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.15.0";
+  sha256 = "1vay0v0a02xj2m40w71vmjadlm6pzv309r1jhr61xv1wnj88i75w";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haddockApi ];
+  testDepends = [ Cabal filepath ];
+  preCheck = "unset GHC_PACKAGE_PATH";
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix
index 368c421221bde..b0bf11bb2a014 100644
--- a/pkgs/development/tools/haskell/cabal-bounds/default.nix
+++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-bounds";
-  version = "0.8.6";
-  sha256 = "0q7fpblhxba4np5a9igwmcvmkkvka9f85nccxw0m2lvwbjrs51xq";
+  version = "0.8.7";
+  sha256 = "03kp59nhdyq3bl91akd38iwvwwy3zgvadx85lwl3827nr6s774qk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix
index 5b948f510bf7b..fba7d2e4d2a67 100644
--- a/pkgs/development/tools/haskell/cake3/default.nix
+++ b/pkgs/development/tools/haskell/cake3/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cake3";
-  version = "0.5.1.0";
-  sha256 = "0kqx8xr0ynbn7fhfz11is7lbi32dfladsx32bcpspykqj1bjv954";
+  version = "0.5.2.0";
+  sha256 = "0wr797r7sg8f48r2pjl2nw70vcdkiamqghz2zpfr6awy9018fhgw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix
index a2f9c11970063..b3c1ba9fa667f 100644
--- a/pkgs/development/tools/haskell/codex/default.nix
+++ b/pkgs/development/tools/haskell/codex/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "codex";
-  version = "0.1.0.4";
-  sha256 = "1wnrjmf2iypnmdsmjxbjg7kqn8802yhd9vbdc4vg19pqspir87wz";
+  version = "0.1.0.5";
+  sha256 = "0hlx72dan9qvwrpp6rkyr6y9zk2lafa15va098w38r7658jymfy0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
index b9cd34c716e06..9cc92aafc2196 100644
--- a/pkgs/development/tools/haskell/haskell-docs/default.nix
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -20,5 +20,7 @@ cabal.mkDerivation (self: {
     description = "A program to find and display the docs and type of a name";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index 34bc45e747164..22b52975cde51 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.3.3";
-  sha256 = "1i4yjzqp8if0h88k8ga0dvqbrh57nvcr9dbfbj1sdw40pd74yb3i";
+  version = "1.3.4";
+  sha256 = "127sv155kgwz64adylfn2dmpnqh833pa53lnc8ahhwa63xwf9pzk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
index 4342b877a2e87..a07383778ed1c 100644
--- a/pkgs/development/tools/haskell/timeplot/default.nix
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -20,5 +20,7 @@ cabal.mkDerivation (self: {
     description = "A tool for visualizing time series from log files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 1a735a2471e97..ab85b50688b40 100644
--- a/pkgs/development/tools/haskell/uuagc/cabal.nix
+++ b/pkgs/development/tools/haskell/uuagc/cabal.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uuagc-cabal";
-  version = "1.0.5.0";
-  sha256 = "0p3rc1gszd62wwzzqz0hmj6jdmwdnpx92rdf6mgd7w63ic1wdxj5";
+  version = "1.0.6.0";
+  sha256 = "02xqj4vz7hir0llxl8n517qv22jlmilknhqzx4l55gccffg7zj6w";
   buildDepends = [ Cabal filepath mtl uulib ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index c4f4caa3b6586..3fdb75b3fdf6b 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -3,18 +3,18 @@
 let
   libphutil = fetchgit {
     url    = "git://github.com/facebook/libphutil.git";
-    rev    = "49f08a756a54f12405d3704c0f978b71c7b13811";
-    sha256 = "b32267fe19c6e9532887388815b8553519e2844bc5b839b5ad35efeab6b07fb8";
+    rev    = "6c29d5c8d169084927df75b18761312195080550";
+    sha256 = "5891e5d7688a2f026e02a2684a2002c0715f0492fd8475bdcb8fab2066eff37a";
   };
   arcanist = fetchgit {
     url    = "git://github.com/facebook/arcanist.git";
-    rev    = "4c0edd296e3301fffdda33c447f6fcafe7d1de01";
-    sha256 = "a9f162fb6b47bcf628130e0e8988ab650278b3a6606fa425e4707241ed22dd3e";
+    rev    = "a70a00a960ff4a7e30e20b4db1c68c081f16eaa0";
+    sha256 = "37d9b80fbfc694df86a4bf75a540f81aa2e65f463d301d1f8a5930ecae8ba9fc";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20140812";
+  version = "20140924";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index fc48a4aabada8..adff07ac35a71 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -2,6 +2,8 @@
 , cross ? null, gold ? true, bison ? null
 }:
 
+assert !stdenv.isDarwin;
+
 let basename = "binutils-2.23.1"; in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
diff --git a/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch b/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch
new file mode 100644
index 0000000000000..4284245f485d7
--- /dev/null
+++ b/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile b/Makefile
+index cc8882e..97b11ee 100644
+--- a/Makefile
++++ b/Makefile
+@@ -184,11 +184,6 @@ $(foreach src,$(COMMON_SRCS),$(eval $(call common_obj,$(src))))
+ # Applet rules
+ #
+ define applet_obj
+-$(SRCDIR)/$(1:%.asm=%.cpp): $(SRCDIR)/$(1)
+-	@echo APPLET $(1:%.asm=%)
+-	$$(Q)$$(ARMAS) -o $$(@:%.o=%.obj) $$<
+-	$$(Q)$$(ARMOBJCOPY) -O binary $$(@:%.o=%.obj) $$(@:%.o=%.bin)
+-	$$(Q)appletgen $(1:%.asm=%) $(SRCDIR) $(OBJDIR)
+ $(OBJDIR)/$(1:%.asm=%.o): $(SRCDIR)/$(1:%.asm=%.cpp)
+ 	@echo CPP APPLET $$<
+ 	$$(Q)$$(CXX) $$(COMMON_CXXFLAGS) -c -o $$(@) $$(<:%.asm=%.cpp)
diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix
index f0b6d81e69ebd..71148755a756e 100644
--- a/pkgs/development/tools/misc/bossa/default.nix
+++ b/pkgs/development/tools/misc/bossa/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "01y8r45fw02rps9q995mv82bxrm6p0mysv4wir5glpagrhnyw7md";
   };
 
+  patches = [ ./bossa-no-applet-build.patch ];
+
   nativeBuildInputs = [ bin2c ];
   buildInputs = [ wxGTK libX11 readline ];
 
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 51f5ed6091fa7..3ec898e045989 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
   };
 
   buildInputs = with ocamlPackages; [
-    ocaml findlib menhir
+    ocaml findlib menhir ocamlPackages.camlp4
     ocaml_pcre pycaml
     python ncurses pkgconfig
     makeWrapper
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 852c1b7421954..df5fdbfab5a38 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
       wrapProgram $out/bin/d-feet \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-        --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
 
       rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 5ee0f64a4e41a..d9af1e3eb5488 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo
-, dejagnu, python, target ? null
+, dejagnu, python, pkgconfig, guile, target ? null
 
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.7";
+  basename = "gdb-7.8";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
       ("-" + target.config);
 
   src = fetchurl {
-    url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104";
+    url = "mirror://gnu/gdb/${basename}.tar.xz";
+    sha256 = "49c4abe174f79f54e1f9e75210ffb590d9b497d5b5200b5398c0e073a4ecb875";
   };
 
   patches = [ ./edit-signals.patch ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ texinfo python ]
     ++ stdenv.lib.optional isGNU mig;
 
-  buildInputs = [ ncurses readline gmp mpfr expat ]
+  buildInputs = [ ncurses readline gmp mpfr expat pkgconfig guile ]
     ++ stdenv.lib.optional isGNU hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
diff --git a/pkgs/development/tools/misc/go-repo-root/default.nix b/pkgs/development/tools/misc/go-repo-root/default.nix
new file mode 100644
index 0000000000000..c4eaf03a35813
--- /dev/null
+++ b/pkgs/development/tools/misc/go-repo-root/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, go, fetchgit, fetchhg, fetchFromGitHub }:
+
+let
+  version = "0.0.1";
+in
+
+with lib;
+stdenv.mkDerivation {
+  name = "go-repo-root-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchhg fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o go-repo-root github.com/cstrahan/go-repo-root
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp go-repo-root $out/bin
+  '';
+
+  meta = with lib; {
+    homepage    = "https://github.com/cstrahan/go-repo-root";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mit;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/go-repo-root/deps.nix b/pkgs/development/tools/misc/go-repo-root/deps.nix
new file mode 100644
index 0000000000000..585e9955ab236
--- /dev/null
+++ b/pkgs/development/tools/misc/go-repo-root/deps.nix
@@ -0,0 +1,67 @@
+{ stdenv, lib, fetchFromGitHub, fetchhg }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/go.net";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.net";
+        rev = "ad01a6fcc8a19d3a4478c836895ffe883bd2ceab";
+        sha256 = "0s0aa8hxrpggn6wwx4x591k6abvawrmhsk8ji327pgj08fdy3ahq";
+      };
+    }
+    {
+      root = "code.google.com/p/go.text";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.text";
+        rev = "12288f41f508af9490f03a9780afa295c9b0a063";
+        sha256 = "17kr0h79pznb3nn5znbh1d7dinmqjwvg5iqqk4l05569q50gqwww";
+      };
+    }
+    {
+      root = "code.google.com/p/go.tools";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.tools";
+        rev = "140fcaadc5860b1a014ec69fdeec807fe3b787e8";
+        sha256 = "1vgz4kxy0p56qh6pfbs2c68156hakgx4cmrci9jbg7lnrdaz4y56";
+      };
+    }
+    {
+      root = "code.google.com/p/goauth2";
+      src = fetchhg {
+        url = "http://code.google.com/p/goauth2";
+        rev = "afe77d958c701557ec5dc56f6936fcc194d15520";
+        sha256 = "0xgkgcb97hv2rvzvh21rvydq5cc83j7sdsdb1chrymq8k7l4dzc1";
+      };
+    }
+    {
+      root = "code.google.com/p/google-api-go-client";
+      src = fetchhg {
+        url = "http://code.google.com/p/google-api-go-client";
+        rev = "e1c259484b495133836706f46319f5897f1e9bf6";
+        sha256 = "051dqhjhp3bz2xp7lv9v60xlmphbxj1vyc46wg8v74yjvqvsiwzd";
+      };
+    }
+    {
+      root = "github.com/cstrahan/go-repo-root";
+      src = fetchFromGitHub {
+        owner = "cstrahan";
+        repo = "go-repo-root";
+        rev = "90041e5c7dc634651549f96814a452f4e0e680f9";
+        sha256 = "1rlzp8kjv0a3dnfhyqcggny0ad648j5csr2x0siq5prahlp48mg4";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/misc/grafana/default.nix b/pkgs/development/tools/misc/grafana/default.nix
index b1566684cf0b2..9337bf4052fe1 100644
--- a/pkgs/development/tools/misc/grafana/default.nix
+++ b/pkgs/development/tools/misc/grafana/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "grafana-${version}";
-  version = "1.5.4";
+  version = "1.8.0-rc1";
 
   src = fetchurl {
     url = "http://grafanarel.s3.amazonaws.com/${name}.zip";
-    sha256 = "fee7334efba967142955be2fa39ecae7bca0cc9b7a76c301430746be4fc7ec6d";
+    sha256 = "1wx4zwkpgvb8lxcrkp67zgqd8aqms4bnxzwz3i9190sl55j1yf4i";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index c8cff1162821d..caf9dc489b5b0 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.46.1";
+  name = "help2man-1.46.3";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "0iqwb3qirl7rp1wwpbh01q89qxvi4h3bc73wi03av6hl4sh05z9x";
+    sha256 = "0hi94a6ai96yw0v8xgjzpp5c6jr33ifmbn2mkp7wz7rgmwxxqsd6";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
diff --git a/pkgs/development/tools/misc/kibana/default.nix b/pkgs/development/tools/misc/kibana/default.nix
new file mode 100644
index 0000000000000..42e5c2209f1cc
--- /dev/null
+++ b/pkgs/development/tools/misc/kibana/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "kibana-${version}";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/kibana/kibana/${name}.zip";
+    sha256 = "05i97zi08rxwx951hgs92fbhk6cchpvdlikrfz07v1dpn787xz8j";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = ["unpackPhase" "installPhase"];
+  installPhase = ''
+    mkdir -p $out && cp -R * $out
+    ${optionalString (conf!=null) ''cp ${conf} $out/config.js''}
+  '';
+
+  meta = {
+    description = "Visualize logs and time-stamped data";
+    homepage = http://www.elasticsearch.org/overview/kibana;
+    license = licenses.asl20;
+
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index ec3a5e9bcbf6e..1ef292407a47f 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 732423da5cd4b..7cc878a283952 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "A system call tracer for Linux";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index 66d6b65453eaf..c4fcd31584573 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   # 'make check' uses boost and tcl
   buildInputs = stdenv.lib.optionals doCheck [ boost tcl ];
 
-  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache";
+  configureFlags = "--disable-ccache";
 
   meta = {
     description = "Interface compiler that connects C/C++ code to higher-level languages";
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
index 5b66ea75f658a..fc9446408deb2 100644
--- a/pkgs/development/tools/neoload/default.nix
+++ b/pkgs/development/tools/neoload/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, writeTextFile, jre, makeWrapper, licenseAccepted ? false }:
+{ stdenv, fetchurl, writeTextFile, jre, makeWrapper, fontsConf, licenseAccepted ? false }:
 
 # If you happen to use this software on the XMonad window manager, you will have issues with
 # grey windows, no resizing, menus not showing and other glitches.
@@ -62,6 +62,7 @@ in stdenv.mkDerivation rec {
 
     export HOME=`pwd`
     export INSTALL4J_JAVA_HOME=${jre}
+    export FONTCONFIG_FILE=${fontsConf}
     bash -ic './installer -q -varfile response.varfile'
 
     sed -i 's/Xmx450m/Xmx900m/;s/Xss192k/Xss384k/' $out/lib/neoload/conf/agent.properties
diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix
index 1f10177606427..f79a5f562c03c 100644
--- a/pkgs/development/tools/node-webkit/default.nix
+++ b/pkgs/development/tools/node-webkit/default.nix
@@ -9,8 +9,9 @@ let
     name = "node-webkit-env";
     paths = [
       xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
-      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext
-      xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage
+      xlibs.libXext xlibs.libXfixes nss nspr gconf expat dbus stdenv.gcc.gcc
+      xlibs.libXtst xlibs.libXi
     ];
   };
 
@@ -19,28 +20,27 @@ in stdenv.mkDerivation rec {
   version = "0.9.2";
 
   src = fetchurl {
-    url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
+    url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
     sha256 = if bits == "x64" then
       "04b9hgrxxnvrzyc7kmlabvrfbzj9d6lif7z69zgsbn3x25nxxd2n" else
       "0icwdl564sbx27124js1l4whfld0n6nbysdd522frzk1759dzgri";
   };
 
-  patchPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot
-  '';
-
-  installPhase = let
-    LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit";
-  in ''
-    mkdir -p $out/bin
+  installPhase = ''
     mkdir -p $out/share/node-webkit
     cp -R * $out/share/node-webkit
 
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
+
     ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
 
-    makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
-    makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
+    patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
+
+    mkdir -p $out/bin
+    ln -s $out/share/node-webkit/nw $out/bin
+    ln -s $out/share/node-webkit/nwsnapshot $out/bin
   '';
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
new file mode 100644
index 0000000000000..bd2466c8854aa
--- /dev/null
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, which, ocaml}:
+let
+  ocaml_version = (stdenv.lib.getVersion ocaml);
+in
+
+assert stdenv.lib.versionAtLeast ocaml_version "4.02";
+
+stdenv.mkDerivation {
+  name = "camlp4-4.02.0+1";
+  src = fetchurl {
+    url = https://github.com/ocaml/camlp4/archive/4.02.0+1.tar.gz;
+    sha256 = "0055f4jiz82rgn581xhq3mr4qgq2qgdxqppmp8i2x1xnsim4h9pn";
+  };
+
+  buildInputs = [ which ocaml ];
+
+  dontAddPrefix = true;
+
+  preConfigure = ''
+    configureFlagsArray=(
+      --bindir=$out/bin
+      --libdir=$out/lib/ocaml/${ocaml_version}/site-lib
+      --pkgdir=$out/lib/ocaml/${ocaml_version}/site-lib
+    )
+  '';
+
+  postConfigure = ''
+    substituteInPlace camlp4/META.in \
+    --replace +camlp4 $out/lib/ocaml/${ocaml_version}/site-lib/camlp4
+    substituteInPlace camlp4/config/Camlp4_config.ml \
+    --replace \
+      "Filename.concat ocaml_standard_library" \
+      "Filename.concat \"$out/lib/ocaml/${ocaml_version}/site-lib\""
+  '';
+
+
+  makePhase = "make all";
+
+  installTargets = "install install-META";
+
+  meta = with stdenv.lib; {
+    description = "A software system for writing extensible parsers for programming languages";
+    homepage = https://github.com/ocaml/camlp4;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix
index 7247041cb1d48..97099d1b49206 100644
--- a/pkgs/development/tools/ocaml/camlp5/5.15.nix
+++ b/pkgs/development/tools/ocaml/camlp5/5.15.nix
@@ -8,6 +8,8 @@ let
   metafile = ./META;
 in
 
+assert !stdenv.lib.versionOlder "4.00" ocaml_version;
+
 stdenv.mkDerivation {
 
   name = "${pname}${if transitional then "_transitional" else ""}-${version}";
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 04475959f3d94..49a63b616c758 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -4,6 +4,7 @@ let
   version = "0.9.4";
   webpage = "http://mjambon.com/${pname}.html";
 in
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
 stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
@@ -23,15 +24,13 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The C preprocessor for OCaml";
     longDescription = ''
       Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.
     '';
     homepage = "${webpage}";
-    license = "bsd";
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
-
-
-
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
new file mode 100644
index 0000000000000..ee39855fec9d5
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
@@ -0,0 +1,10 @@
+--- old/Makefile.conf	2014-05-19 16:53:09.263564921 +0200
++++ new/Makefile.conf	2014-05-19 16:53:42.213152994 +0200
+@@ -1,6 +1,6 @@
+ 
+ # Where binaries are installed:
+-BINDIR := /usr/local/bin
++BINDIR := $(out)/bin
+ 
+ ####
+ 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
new file mode 100644
index 0000000000000..a7167d0c2262d
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving}:
+
+stdenv.mkDerivation {
+  name = "js_of_ocaml";
+  src = fetchurl {
+    url = https://github.com/ocsigen/js_of_ocaml/archive/2.2.tar.gz;
+    sha256 = "1cp81gpvyxgvzxg0vzyl8aa2zvcixp6m433w8zjifrg6vb7lhp97";
+    };
+  
+  buildInputs = [ocaml findlib ocaml_lwt menhir ocsigen_deriving];
+
+  patches = [ ./Makefile.conf.diff ];  
+
+  createFindlibDestdir = true;
+
+
+  meta =  {
+    homepage = http://ocsigen.org/js_of_ocaml/;
+    description = "Compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+
+}
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index c0882439f5c5d..30fabf1936202 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,21 +1,24 @@
-{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}:
+{stdenv, fetchurl, ocaml, findlib, yojson, menhir}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+
 stdenv.mkDerivation {
 
-  name = "merlin-1.6";
+  name = "merlin-1.7.1";
 
   src = fetchurl {
-    url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz";
-    sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy";
+    url = https://github.com/the-lambda-church/merlin/archive/v1.7.1.tar.gz;
+    sha256 = "c3b60c7b3fddaa2860e0d8ac0d4fed2ed60e319875734c7ac1a93df524c67aff";
   };
 
-  buildInputs = [ ocaml findlib biniou yojson menhir easy-format ];
+  buildInputs = [ ocaml findlib yojson menhir ];
 
   prefixKey = "--prefix ";
 
-  meta = {
-    description = "An editor-independant tool to ease the developpement of programs in OCaml";
+  meta = with stdenv.lib; {
+    description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "http://the-lambda-church.github.io/merlin/";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
   };
 }
-
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 3ab935705a2d6..a5260b499c455 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -13,9 +13,11 @@ stdenv.mkDerivation {
 
   buildInputs =
     [
-      ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit
+      ocaml findlib ocaml_typeconv ocamlmod ocamlify ounit
     ];
 
+  propagatedBuildInputs = [ ocaml_data_notation ];
+
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
   installPhase   = "ocaml setup.ml -install";
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
index 88b7451e0f00d..0a402d4ba4696 100644
--- a/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ounit}:
+{stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
   name = "ocamlify-0.0.2";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii";
   };
 
-  buildInputs = [ocaml findlib ounit];
+  buildInputs = [ocaml findlib];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index d72df18f8992a..65359049a96d1 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ounit}:
+{stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
   name = "ocamlmod-0.0.7";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3";
   };
 
-  buildInputs = [ocaml findlib ounit];
+  buildInputs = [ocaml findlib];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
diff --git a/pkgs/development/tools/ocaml/opam/1.0.0.nix b/pkgs/development/tools/ocaml/opam/1.0.0.nix
index f8f680ef4a547..52c710a86b82f 100644
--- a/pkgs/development/tools/ocaml/opam/1.0.0.nix
+++ b/pkgs/development/tools/ocaml/opam/1.0.0.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
 
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+
 let
   srcs = {
     cudf = fetchurl {
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "A package manager for OCaml";
     platforms   = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index f3ec8225f1caa..8842c8723b1ef 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "byacc-1.9";
 
   src = fetchurl {
-    url = http://invisible-island.net/datafiles/release/byacc.tar.gz;
+    url = ftp://invisible-island.net/byacc/byacc-20140715.tgz;
     sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c";
   };
 
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 23b7d9e692cf6..c155cd3094434 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.9.2";
+    version="0.9.3";
     name="${baseName}-${version}";
-    hash="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703";
-    url="http://download.slimerjs.org/releases/0.9.2/slimerjs-0.9.2.zip";
-    sha256="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703";
+    hash="17vfnz6njn8zk39ywpg7bd9wp98ppxjvna6gn2443ylgh428v707";
+    url="http://download.slimerjs.org/releases/0.9.3/slimerjs-0.9.3.zip";
+    sha256="17vfnz6njn8zk39ywpg7bd9wp98ppxjvna6gn2443ylgh428v707";
   };
   buildInputs = [
     unzip zip
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 072b8eeff5cae..bd9ccf4947ba7 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -3,19 +3,21 @@
 
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
+let version = "1.6.5";
+in
 stdenv.mkDerivation rec {
-  name = "vagrant-1.6.3";
+  name = "vagrant-${version}";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb;
-        sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
+        sha256 = "12m2mnpnfzqv2s4j58cnzg4h4i5nkk5nb4irsvmm3i9a0dnsziz2";
       }
     else
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb;
-        sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
+        sha256 = "1d4w0ni6mkb378v6rd7b188fw38vi8qql7pkwzsykr6389krbkbq";
       };
 
   meta = with stdenv.lib; {
@@ -84,10 +86,10 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
   '';
 
   postFixup = ''
-    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
   '';
 }
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
new file mode 100644
index 0000000000000..b1ff7064003db
--- /dev/null
+++ b/pkgs/development/web/grails/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, unzip
+# If jdkPath is null, require JAVA_HOME in runtime environment, else store
+# JAVA_HOME=${jdkPath} into grails.
+, jdkPath ? null
+, coreutils, ncurses, gnused, gnugrep  # for purity
+}:
+
+let
+  binpath = stdenv.lib.makeSearchPath "bin"
+    ([ coreutils ncurses gnused gnugrep ]
+    ++ stdenv.lib.optional (jdkPath != null) jdkPath);
+in
+stdenv.mkDerivation rec {
+  name = "grails-2.4.3";
+
+  src = fetchurl {
+    url = "http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/${name}.zip";
+    sha256 = "0lqkv0hsiiqa36pfnq5wv7s7nsp9xadmh1ri039bn0llpfck4742";
+  };
+
+  buildInputs = [ unzip ];
+
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -vr . "$out"
+    # Remove (for now) uneeded Windows .bat files
+    rm -f "$out"/bin/*.bat
+    # Improve purity
+    sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails
+  '' + stdenv.lib.optionalString (jdkPath != null) ''
+    # Inject JDK path into grails
+    sed -i -e '2iJAVA_HOME=${jdkPath}' "$out"/bin/grails
+  '';
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "Full stack, web application framework for the JVM";
+    longDescription = ''
+      Grails is an Open Source, full stack, web application framework for the
+      JVM. It takes advantage of the Groovy programming language and convention
+      over configuration to provide a productive and stream-lined development
+      experience.
+    '';
+    homepage = http://grails.org/;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index ca3439df4c464..460676324108a 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -1,6 +1,6 @@
 { stdenv, runCommand, nodejs, neededNatives}:
 
-args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", ... }:
+args @ { name, src, deps ? {}, peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", resolvedDeps ? {}, bin ? null, ... }:
 
 with stdenv.lib;
 
@@ -12,88 +12,135 @@ let
     mv *node* $out
   '';
 
+  # Convert deps to attribute set
+  attrDeps = if isAttrs deps then deps else
+    (listToAttrs (map (dep: nameValuePair dep.name dep) deps));
+
+  # All required node modules, without already resolved dependencies
+  requiredDeps = removeAttrs attrDeps (attrNames resolvedDeps);
+
+  # Recursive dependencies that we want to avoid with shim creation
+  recursiveDeps = removeAttrs attrDeps (attrNames requiredDeps);
+
   peerDeps = listToAttrs (concatMap (dep: map (name: {
     inherit name;
     value = dep;
   }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
-in
-stdenv.mkDerivation ({
-  unpackPhase = "true";
-
-  inherit src;
-
-  configurePhase = ''
-    runHook preConfigure
-    mkdir node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') peerDeps)}
-    export HOME=$(pwd)
-    runHook postConfigure
-  '';
 
-  buildPhase = ''
-    runHook preBuild
-    npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
-    runHook postBuild
-  '';
+  self = let
+    # Pass resolved dependencies to dependencies of this package 
+    deps = map (
+      dep: dep.override {
+        resolvedDeps = resolvedDeps // { "${name}" = self; };
+      }
+    ) (attrValues requiredDeps);
+
+  in stdenv.mkDerivation ({
+    unpackPhase = "true";
+
+    inherit src;
+    
+    configurePhase = ''
+      runHook preConfigure
+      mkdir node_modules
+
+      # Symlink dependencies for node modules
+      ${concatStrings (concatMap (dep: map (name: ''
+        ln -sv ${dep}/lib/node_modules/${name} node_modules/
+      '') dep.names) deps)}
+
+      # Symlink peer dependencies
+      ${concatStrings (mapAttrsToList (name: dep: ''
+        ln -sv ${dep}/lib/node_modules/${name} node_modules/
+      '') peerDeps)}
+
+      # Create shims for recursive dependenceies
+      ${concatStrings (concatMap (dep: map (name: ''
+        mkdir -p node_modules/${name}
+        cat > node_modules/${name}/package.json <<EOF
+        {
+            "name": "${name}",
+            "version": "${(builtins.parseDrvName dep.name).version}"
+        }
+        EOF
+      '') dep.names) (attrValues recursiveDeps))}
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/lib/node_modules
-    ${concatStrings (map (name: ''
-      mv node_modules/${name} $out/lib/node_modules
-      rm -fR $out/lib/node_modules/${name}/node_modules
-      ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
-      if [ -e "$out/lib/node_modules/${name}/man" ]; then
-        mkdir -p $out/share
-        for dir in "$out/lib/node_modules/${name}/man/"*; do
-          mkdir -p $out/share/man/$(basename "$dir")
-          for page in "$dir"/*; do
-            ln -sv $page $out/share/man/$(basename "$dir")
+      export HOME=$(pwd)
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      # Remove shims
+      ${concatStrings (concatMap (dep: map (name: ''
+        rm  node_modules/${name}/package.json
+        rmdir node_modules/${name}
+      '') dep.names) (attrValues recursiveDeps))}
+
+      mkdir -p $out/lib/node_modules
+      ${concatStrings (map (name: ''
+        mv node_modules/${name} $out/lib/node_modules
+        rm -fR $out/lib/node_modules/${name}/node_modules
+        ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
+        if [ -e "$out/lib/node_modules/${name}/man" ]; then
+          mkdir -p $out/share
+          for dir in "$out/lib/node_modules/${name}/man/"*; do
+            mkdir -p $out/share/man/$(basename "$dir")
+            for page in "$dir"/*; do
+              ln -sv $page $out/share/man/$(basename "$dir")
+            done
           done
-        done
+        fi
+      '') args.passthru.names)}
+      ${concatStrings (mapAttrsToList (name: dep: ''
+        mv node_modules/${name} $out/lib/node_modules
+      '') peerDeps)}
+      mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
+      mv node_modules $out/.dependent-node-modules
+      if [ -d "$out/lib/node_modules/.bin" ]; then
+        ln -sv $out/lib/node_modules/.bin $out/bin
+        node=`type -p node`
+        coffee=`type -p coffee || true`
+        find -L $out/lib/node_modules/.bin/* -type f -print0 | \
+          xargs -0 sed --follow-symlinks -i \
+            -e 's@#!/usr/bin/env node@#!'"$node"'@' \
+            -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
+            -e 's@#!/.*/node@#!'"$node"'@' \
+            -e 's@#!/.*/coffee@#!'"$coffee"'@'
       fi
-    '') args.passthru.names)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      mv node_modules/${name} $out/lib/node_modules
-    '') peerDeps)}
-    mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
-    mv node_modules $out/.dependent-node-modules
-    if [ -d "$out/lib/node_modules/.bin" ]; then
-      ln -sv $out/lib/node_modules/.bin $out/bin
-      node=`type -p node`
-      coffee=`type -p coffee || true`
-      find -L $out/lib/node_modules/.bin/* -type f -print0 | \
-        xargs -0 sed --follow-symlinks -i \
-          -e 's@#!/usr/bin/env node@#!'"$node"'@' \
-          -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
-          -e 's@#!/.*/node@#!'"$node"'@' \
-          -e 's@#!/.*/coffee@#!'"$coffee"'@'
-    fi
-    runHook postInstall
-  '';
+      runHook postInstall
+    '';
 
-  preFixup = concatStringsSep "\n" (map (src: ''
-    find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
-  '') src);
-
-  shellHook = ''
-    ${preShellHook}
-    export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
-    mkdir -p node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sfv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${postShellHook}
-  '';
-} // args // {
-  # Run the node setup hook when this package is a build input
-  propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
+    preFixup = concatStringsSep "\n" (map (src: ''
+      find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
+    '') src);
+
+    shellHook = ''
+      ${preShellHook}
+      export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
+      mkdir -p node_modules
+      ${concatStrings (concatMap (dep: map (name: ''
+        ln -sfv ${dep}/lib/node_modules/${name} node_modules/
+      '') dep.names) deps)}
+      ${postShellHook}
+    '';
+  } // (filterAttrs (n: v: n != "deps" && n != "resolvedDeps") args) // {
+    name = "${
+      if bin == true then "bin-" else if bin == false then "node-" else ""
+    }${name}";
+
+    # Run the node setup hook when this package is a build input
+    propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
+
+    # Make buildNodePackage useful with --run-env
+    nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
+  });
 
-  # Make buildNodePackage useful with --run-env
-  nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
-} )
+in self
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 1b3d4950e3775..deb5188750ae6 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.30";
+  version = "0.10.32";
 
   # !!! Should we also do shared libuv?
   deps = {
@@ -30,7 +30,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "1li5hs8dada2lj9j82xas39kr1fs0wql9qbly5p2cpszgwqbvz1x";
+    sha256 = "040g0gh2nl593ml1fcqp68vxa5kj7aiw1nqirda1c69d7l70s4n2";
   };
 
   configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index 93297171bcb8c..41c527f462ced 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fpermissive"; # I'm too lazy to catch all gcc47-related problems
 
   buildInputs = [
-    SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat freetype
-    libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
+    SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost boost.lib expat
+    freetype libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Turn based strategy game";
 
     longDescription = ''
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.asc-hq.org/;
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with maintainers; [ viric ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 59423d7a5a66b..882f5f3cde6bc 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     bsd_games_cfg_varlibdir=.
     bsd_games_cfg_non_interactive=y
     bsd_games_cfg_no_build_dirs="dab hack phantasia sail"
-    bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words
+    bsd_games_cfg_dictionary_src=${miscfiles}/share/web2
     bsd_games_cfg_pager=${less}
     EOF
 
diff --git a/pkgs/games/chocolate-doom/default.nix b/pkgs/games/chocolate-doom/default.nix
new file mode 100644
index 0000000000000..157d1b42af628
--- /dev/null
+++ b/pkgs/games/chocolate-doom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "chocolate-doom-2.0.0";
+  src = fetchurl {
+    url = https://github.com/chocolate-doom/chocolate-doom/archive/chocolate-doom-2.0.0.tar.gz;
+    sha256 = "1n9lkx97h987bq8z586jgissdhs07xyfr0xfdk7m2wpw4yhw10k1";
+  };
+  buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net ];
+  patchPhase = ''
+    sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
+    ./autogen.sh --prefix=$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://chocolate-doom.org/;
+    description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/chocolate-doom/master.nix b/pkgs/games/chocolate-doom/master.nix
new file mode 100644
index 0000000000000..f0dc62aaaae74
--- /dev/null
+++ b/pkgs/games/chocolate-doom/master.nix
@@ -0,0 +1,24 @@
+{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, git, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "chocolate-doom-20140902";
+  src = fetchgit {
+    url = git://github.com/fragglet/chocolate-doom.git;
+    rev = "204814c7bb16a8ad45435a15328072681978ea57";
+    sha256 = "1xcdxpkgb9dk3zwqf4xcr3qn7dh5rx6hmniky67imbvi1h74p587";
+  };
+  buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net git ];
+  patchPhase = ''
+    sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
+    ./autogen.sh --prefix=$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://chocolate-doom.org/;
+    description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix
index 6a0d30ea89f4d..64a3e5bc97557 100644
--- a/pkgs/games/dwarf-fortress/df2014.nix
+++ b/pkgs/games/dwarf-fortress/df2014.nix
@@ -1,17 +1,41 @@
-{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile
-, copyDataDirectory ? false }:
+{ stdenv, fetchgit, fetchurl, cmake, glew, ncurses, SDL, SDL_image, SDL_ttf, gtk2, glib, mesa, openal, pango, atk, gdk_pixbuf, glibc, libsndfile
+  , copyDataDirectory ? true }:
+
+/* set copyDataDirectory as true by default since df 40 does not seem to run without it */
+
+let
+
+  srcs = {
+    df_unfuck = fetchgit {
+      url = "https://github.com/svenstaro/dwarf_fortress_unfuck";
+      rev = "044b266ce3e03b54a4228d51d6b75d70963debc9";
+      sha256 = "0xc839zmg1bqyrdirhy2ixm8i58q7nwhyi86h60qmrfdg3bsnnpr";
+    };
+
+    df = fetchurl {
+      url = "http://www.bay12games.com/dwarves/df_40_13_linux.tar.bz2";
+      sha256 = "1azsxgjc1fh8i041p6i7dmvdk0v3xpmhg44lmimlrs78a08h4z61";
+    };
+  };
+
+in
 
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "dwarf-fortress-0.40.05";
+  name = "dwarf-fortress-0.40.13";
 
-  src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_40_05_linux.tar.bz2";
-    sha256 = "1b9nd33yz5a945v9jyqii1k4s71i701m2d0h7fw6f5g9p6nvx43s";
-  };
 
-  phases = "unpackPhase patchPhase installPhase";
+  buildInputs = [ SDL SDL_image SDL_ttf gtk2 glib glew mesa ncurses openal glibc libsndfile pango atk cmake gdk_pixbuf];
+  src = "${srcs.df_unfuck} ${srcs.df}";
+  phases = "unpackPhase patchPhase configurePhase buildPhase installPhase";
+
+  sourceRoot = "git-export";
+
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
+  ];
 
   /* :TODO: Game options should be configurable by patching the default configuration files */
 
@@ -21,11 +45,15 @@ stdenv.mkDerivation rec {
     set -x
     mkdir -p $out/bin
     mkdir -p $out/share/df_linux
-    cp -r * $out/share/df_linux
+    cd ../../
+    cp -r ./df_linux/* $out/share/df_linux
+    rm $out/share/df_linux/libs/lib*
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc ]}:$out/share/df_linux/libs"  $out/share/df_linux/libs/Dwarf_Fortress
+    cp -f ./git-export/build/libgraphics.so $out/share/df_linux/libs/libgraphics.so
+
     cp $permission $out/share/df_linux/nix_permission
 
     patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress
-    ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/
 
     cat > $out/bin/dwarf-fortress << EOF
     #!${stdenv.shell}
@@ -66,7 +94,7 @@ stdenv.mkDerivation rec {
     ''}
 
     # now run Dwarf Fortress!
-    export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/
+    export LD_LIBRARY_PATH=\${stdenv.gcc}/lib:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk2}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/:${libsndfile}/lib:$DF_DIR/df_linux/libs/
     \$DF_DIR/df "\$@"
     EOF
 
diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix
new file mode 100644
index 0000000000000..2e04c76a990ce
--- /dev/null
+++ b/pkgs/games/eternity-engine/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "eternity-engine-3.40.46";
+  src = fetchurl {
+    url = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz;
+    sha256 = "0jq8q0agw7lgab9q2h8wcaakvg913l9j3a6ss0hn9661plkw2yb4";
+  };
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+  '';
+
+  buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+  mkdir -p $out/bin
+  cp source/eternity $out/bin
+  '';
+
+  meta = {
+    homepage = http://doomworld.com/eternity;
+    description = "New school Doom port by James Haley";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index f1ffec8556612..7ac83d512b309 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -8,8 +8,9 @@ let
   helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
     [];
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  buildInputs = [ boost.lib ]
+    ++ map (n: builtins.getAttr n x)
+     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
    baseName="glob2";
     version="0.9.4";
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index 3db7aecfe1a57..c47a2317b0ef4 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,20 +1,26 @@
-{stdenv, fetchurl, ncurses}:
+{stdenv, fetchurl, makeWrapper, ncurses, perl, fortune}:
 
-stdenv.mkDerivation {
-  name = "gtypist-2.9.4";
+stdenv.mkDerivation rec {
+  name = "gtypist-${version}";
+  version = "2.9.5";
 
   src = fetchurl {
-    url = "mirror://gnu/gtypist/gtypist-2.9.4.tar.xz";
-    sha256 = "18f54lh7ihhfvgwk3xd9d087kmganrgi2jd7avhvwn5gcc31vrqq";
+    url = "mirror://gnu/gtypist/gtypist-${version}.tar.xz";
+    sha256 = "0xzrkkmj0b1dw3yr0m9hml2y634cc4h61im6zwcq57s7285z8fn1";
   };
 
-  buildInputs = [ncurses];
+  buildInputs = [ makeWrapper ncurses perl fortune ];
 
-  patchPhase = "sed -e 's#ncursesw/##' -i configure src/*";
+  preFixup = ''
+     wrapProgram "$out/bin/typefortune" \
+       --prefix PATH : "${fortune}/bin" \
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/gtypist;
     description = "Universal typing tutor";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index 12497579bdce9..3bbfdedd7467a 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl, jre }:
 
-with import <nixpkgs> {};
-
 stdenv.mkDerivation rec {
   name    = "minecraft-server-${version}";
   version = "1.7.10";
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
new file mode 100644
index 0000000000000..2766521f7b357
--- /dev/null
+++ b/pkgs/games/mudlet/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, pkgs, stdenv, makeWrapper, qt5, yajl, libzip, hunspell, lua5_1, boost, filesystem }:
+
+stdenv.mkDerivation rec {
+  name = "mudlet-${version}";
+  version = "3.0";
+
+  src = fetchurl {
+    url = "https://github.com/Mudlet/Mudlet/archive/6bc55dde0499cffab48b0021f27dcff1d57b0b66.zip";
+    sha256 = "c7b9a383d2cf393da730ce07ac8f06478eaec1fdf730054e837e58c598222d38";
+  };
+
+  buildInputs = [ pkgs.unzip qt5 lua5_1 hunspell libzip yajl boost makeWrapper filesystem ];
+
+  configurePhase = "cd src && qmake";
+
+  installPhase = ''
+    mkdir -pv $out
+    mkdir -pv $out/bin
+    cp mudlet $out
+    cp -r mudlet-lua $out
+
+    # ln -s $out/mudlet $out/bin/mudlet
+    makeWrapper $out/mudlet $out/bin/mudlet \
+      --set LUA_CPATH "${filesystem}/lib/lua/5.1/?.so"
+  '';
+
+  patches = [ ./libs.patch ];
+
+  meta = {
+    description = "Crossplatform mud client";
+    homepage = http://mudlet.org/;
+    maintainers = [ stdenv.lib.maintainers.wyvie ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/games/mudlet/libs.patch b/pkgs/games/mudlet/libs.patch
new file mode 100644
index 0000000000000..3943c16e0eabd
--- /dev/null
+++ b/pkgs/games/mudlet/libs.patch
@@ -0,0 +1,13 @@
+--- a/src/src.pro	2014-09-05 12:51:09.000000000 +0400
++++ b/src/src.pro	2014-09-15 16:54:34.812560065 +0400
+@@ -85,8 +85,8 @@
+ # Again according to FHS /usr/local/share/games is the corresponding place for locally built games documentation:
+     isEmpty( DOCDIR ) DOCDIR = $${DATAROOTDIR}/doc/mudlet
+     LIBS += -lpcre \
+-        -llua5.1 \
+-        -lhunspell \
++        -llua \
++        -lhunspell-1.3 \
+         -L/usr/local/lib/ \
+         -lyajl \
+         -lGLU \
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index ff96622cb59cf..be011f2497ee9 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z";
+    sha256 = "1pb3vzmqkzxdrrrxvrji66bjiz5bx7n6c6d1pkqnjkc6p7fvpg0i";
   };
 
   buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ];
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 19aff03dacaa8..7b939af096ac6 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boostHeaders
+{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
 let version = "1.0.0"; in
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     name = "openxcom-${version}.tar.gz";
   };
 
-  buildInputs = [ cmake mesa zlib openssl libyamlcpp boostHeaders
+  buildInputs = [ cmake mesa zlib openssl libyamlcpp boost
     SDL SDL_image SDL_mixer SDL_gfx ];
 
   meta = {
diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix
index 43cdc2031bf52..af635379ac8ad 100644
--- a/pkgs/games/pingus/default.nix
+++ b/pkgs/games/pingus/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, scons, SDL, SDL_image, boost, libpng, SDL_mixer, pkgconfig
 , mesa}:
 let
-  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer pkgconfig mesa];
+  buildInputs = [scons SDL SDL_image boost boost.lib libpng SDL_mixer pkgconfig mesa];
   s = # Generated upstream information
   rec {
     baseName="pingus";
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 539be06bf7fa3..1c26dde00a940 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
                 "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON"
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
-  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL 
+  buildInputs = [ cmake lzma boost boost.lib libdevil zlib p7zip openal libvorbis freetype SDL
     xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl makeWrapper
     docbook_xsl_ns systemd ]
     ++ stdenv.lib.optional withAI jdk
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
   # reported upstream http://springrts.com/mantis/view.php?id=4305
   #enableParallelBuilding = true; # occasionally missing generated files on Hydra
 
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = ''
     wrapProgram "$out/bin/spring" \
       --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib::${systemd}/lib"
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index 35fdbc0a19e2f..5305759369b74 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11
-    libnotify gtk doxygen makeWrapper
+    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar
+    boost boost.lib libpng libX11 libnotify gtk doxygen makeWrapper
   ];
 
   prePatch = ''
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 2173d12666e5b..75bbca67ab074 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -1,12 +1,73 @@
-{ buildFHSChrootEnv, steam
-, xterm, libX11, zenity, python, mesa, xdg_utils, dbus_tools, alsaLib
-}:
+{ buildFHSChrootEnv, config }:
 
 buildFHSChrootEnv {
   name = "steam";
-  pkgs = [ steam xterm libX11 zenity python mesa xdg_utils dbus_tools alsaLib ];
+
+  targetPkgs = pkgs:
+    [ pkgs.steam
+      pkgs.corefonts
+      pkgs.curl
+      pkgs.dbus
+      pkgs.dpkg
+      pkgs.mono
+      pkgs.python
+      pkgs.gnome2.zenity
+      pkgs.xdg_utils
+    ]
+    ++ (if config.steam.java or false then [ pkgs.jdk ] else [ ])
+    ;
+
+  multiPkgs = pkgs:
+    [ pkgs.cairo
+      pkgs.glib
+      pkgs.gtk
+      pkgs.gdk_pixbuf
+      pkgs.pango
+
+      pkgs.freetype
+      pkgs.xlibs.libICE
+      pkgs.xlibs.libSM
+      pkgs.xlibs.libX11
+      pkgs.xlibs.libXau
+      pkgs.xlibs.libxcb
+      pkgs.xlibs.libXcursor
+      pkgs.xlibs.libXdamage
+      pkgs.xlibs.libXdmcp
+      pkgs.xlibs.libXext
+      pkgs.xlibs.libXfixes
+      pkgs.xlibs.libXi
+      pkgs.xlibs.libXinerama
+      pkgs.xlibs.libXrandr
+      pkgs.xlibs.libXrender
+      pkgs.xlibs.libXScrnSaver
+      pkgs.xlibs.libXtst
+      pkgs.xlibs.libXxf86vm
+
+      pkgs.ffmpeg
+      pkgs.libpng12
+      pkgs.mesa
+      pkgs.SDL
+      pkgs.SDL2
+
+      pkgs.libgcrypt
+      pkgs.zlib
+
+      pkgs.alsaLib
+      pkgs.libvorbis
+      pkgs.openal
+      pkgs.pulseaudio
+
+      pkgs.flashplayer
+    ];
+
+  extraBuildCommandsMulti = ''
+    cd usr/lib
+    ln -sf ../lib64/steam steam
+  '';
+
   profile = ''
-    export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib
+    export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64
+    export PATH=$PATH:/usr/bin:/usr/sbin
     export FONTCONFIG_FILE=/etc/fonts/fonts.conf
   '';
 }
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index c1273e9a20f28..9104bb40f777c 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -1,118 +1,19 @@
-/*{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc
-, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk
-, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib
-, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio
-, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext
-, dbus_glib, libusb1, networkmanager
-, SDL # World of Goo
-, libvorbis # Osmos
-, curl, mesa # Superbrothers: S&S EP
-, patchelf }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
-let version = "1.0.0.39"; in
-
-stdenv.mkDerivation rec {
-  name = "steam-${version}";
-
-  src = fetchurl {
-    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb";
-    sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk";
-  };
-
-  buildInputs = [ dpkg makeWrapper ];
-
-  phases = "installPhase";
-
-  installPhase = ''
-    mkdir -p $out
-    dpkg-deb -x $src $out
-    cp -r $out/usr/* $out/
-    rm -rf $out/usr
-    substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh"
-    substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/"
-    sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam
-    sed -i '/STEAMSCRIPT/d' $out/bin/steam
-
-    mv $out/bin/steam $out/bin/.steam-wrapped
-    cat > $out/bin/steam << EOF
-
-    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib
-    STEAMBOOTSTRAP=~/.steam/steam/steam.sh
-    if [ -f \$STEAMBOOTSTRAP ]; then
-      PLATFORM32=ubuntu12_32
-      STEAMCONFIG=~/.steam
-      STEAMROOT=~/.local/share/Steam
-      STEAMDATA="\$STEAMROOT"
-      PIDFILE="\$STEAMCONFIG/steam.pid"
-      STEAMBIN32LINK="\$STEAMCONFIG/bin32"
-      STEAMBIN64LINK="\$STEAMCONFIG/bin64"
-      STEAMSDK32LINK="\$STEAMCONFIG/sdk32"
-      STEAMSDK64LINK="\$STEAMCONFIG/sdk64"
-      STEAMROOTLINK="\$STEAMCONFIG/root"
-      STEAMDATALINK="\$STEAMCONFIG/steam"
-      STEAMSTARTING="\$STEAMCONFIG/starting"
-      # Create symbolic links for the Steam API
-      if [ ! -e "\$STEAMCONFIG" ]; then
-          mkdir "\$STEAMCONFIG"
-      fi
-      if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then
-          rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK"
-          rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK"
-          rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK"
-          rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK"
-          rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK"
-          if [ "\$STEAMDATALINK" ]; then
-              rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK"
-          fi
-      fi
-      # Temporary bandaid until everyone has the new libsteam_api.so
-      rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath
-      rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid
-      rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin
-      export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib"
-      export SDL_VIDEO_X11_DGAMOUSE=0
-      cd "\$STEAMROOT"
-      FLASHLINK="\$STEAMCONFIG/bin32/plugins"
-      rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK"
-      LDSO="\$STEAMBIN32LINK/ld.so"
-      cp ${glibc}/lib/ld-linux.so.2 "\$LDSO"
-      chmod u+w "\$LDSO"
-      echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam
-      export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib
-      exec "\$LDSO" "\$STEAMBIN32LINK/steam"
-    else
-      export PATH=${xz}/bin:\$PATH
-      exec $out/bin/.steam-wrapped
-    fi
-    EOF
-
-    chmod +x $out/bin/steam
-  '';
-
-  meta = {
-    description = "A digital distribution platform";
-    homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
-  };
-}
-*/
-
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
   name = "steam-1.0.0.48";
+
   src = fetchurl {
     url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz;
     sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52";
   };
+
   installPhase = ''
     make DESTDIR=$out install
     mv $out/usr/* $out #*/
     rmdir $out/usr
   '';
-  
+
   meta = {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 6a54dd7512f63..2379ac9ecd4e2 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index a2355ba9d1e8a..a9e97678e9a02 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, patchelf, glibc, libX11, mesa}:
+{ stdenv, fetchurl, patchelf, glibc, libX11, mesa }:
 
 with stdenv.lib;
 assert stdenv.isi686;
 stdenv.mkDerivation {
-  name = "tibia-10.41";
+  name = "tibia-10.55";
 
   src = fetchurl {
-    url = http://static.tibia.com/download/tibia1041.tgz;
-    sha256 = "1hmqn9c6qaa79ldcnl4ws9dm6rd3ymy48fw254pl6g601amn7b8v";
+    url = http://static.tibia.com/download/tibia1055.tgz;
+    sha256 = "14psclyzlm9y2g2a11ar1vb707ilmvh6jdjh0z3fcpdqwbrpr84j";
   };
 
   shell = stdenv.shell;
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -pv $out/res
-    cp -r ./* $out/res
+    cp -r * $out/res
 
     patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
              --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${mesa}/lib \
diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix
new file mode 100644
index 0000000000000..10975f88516df
--- /dev/null
+++ b/pkgs/games/ue4demos/default.nix
@@ -0,0 +1,192 @@
+{ stdenv, fetchurl, unzip, patchelf, xlibs, openal }:
+
+assert stdenv.isLinux;
+assert stdenv.isx86_64;
+
+let
+  buildDemo = { name, src }:
+    stdenv.mkDerivation rec {
+      inherit name src;
+
+      buildInputs = [ unzip patchelf ];
+
+      rtdeps = stdenv.lib.makeLibraryPath
+        [ xlibs.libXxf86vm xlibs.libXext openal ]
+        + ":" + stdenv.lib.makeSearchPath "lib64" [ stdenv.gcc.gcc ];
+
+      buildCommand =
+      ''
+        mkdir -p "$out"
+        cd $out
+        unzip $src
+
+        interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        binary=$(find . -executable -type f)
+        patchelf \
+          --set-interpreter $interpreter \
+          --set-rpath ${rtdeps} \
+          "$binary"
+
+        # Workaround on
+        # LogLinuxPlatformFile:Warning: open('/nix/store/hash-ue4demos-demo/demo/demo/Saved/Config/CleanSourceConfigs/Engine.ini', Flags=0x00080241) failed: errno=2 (No such file or directory)
+        # for Vehicle, Shooter and Strategy games.
+        ls | grep ' ' && $(
+          haxname=$(ls | grep ' ' | sed 's/ //g'); \
+          haxpath=$(ls | grep ' ')/$haxname/Saved; \
+          mkdir -p "$haxpath"/Config/CleanSourceConfigs; \
+          ln -s /dev/null "$haxpath"/Config/CleanSourceConfigs/Engine.ini; \
+          mkdir -p "$haxpath"/Logs; \
+          ln -s /dev/null "$haxpath"/Logs/$haxname.log)
+
+        # Executables are buried under a varied paths across demos.
+        mkdir bin
+        cd bin
+        ln -s "$out/$binary" $(basename "$out/$binary")
+      '';
+
+      meta = {
+        description = "Unreal Engine 4 Linux demos";
+        homepage = https://wiki.unrealengine.com/Linux_Demos;
+        platforms = stdenv.lib.platforms.linux;
+        license = stdenv.lib.licenses.unfree;
+      };
+    };
+
+in {
+  tappy_chicken = buildDemo rec {
+    name = "ue4demos-tappy_chicken";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/tappy_chicken.zip";
+      sha256 = "0lwhvk3lpb2r5ng2cnzk7fpjj5lwhy2sch1a8v154x1xfhfb3h4v";
+    };
+  };
+
+  swing_ninja = buildDemo rec {
+    name = "ue4demos-swing_ninja";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/swing_ninja.zip";
+      sha256 = "1bmgqqk3lda5h7nnqi59jgyrsn0clr3xs0k1jclnqf9fk0m8hjcv";
+    };
+  };
+
+  card_game = buildDemo rec {
+    name = "ue4demos-card_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/card_game.zip";
+      sha256 = "154baqias5q7kad0c89k35jbmnmlm865sll02mi7bk1yllcckz5z";
+    };
+  };
+
+  vehicle_game = buildDemo rec {
+    name = "ue4demos-vehicle_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/vehicle_game.zip";
+      sha256 = "03dlacf1iv7sgn7pl3sx9r6243wy8fsi2kd858syfm9slg0190bs";
+    };
+  };
+
+  shooter_game = buildDemo rec {
+    name = "ue4demos-shooter_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/shooter_game.zip";
+      sha256 = "1bk32k349iqbqk8x8jffnqq0pjiqmvrvv675xxmlvkkr8qrlhz98";
+    };
+  };
+
+  strategy_game = buildDemo rec {
+    name = "ue4demos-strategy_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/strategy_game.zip";
+      sha256 = "1p7i966v1ssm20y12g4wsccpgnky3szy19qyjlacynk7bgbk6lg7";
+    };
+  };
+
+  black_jack = buildDemo rec {
+    name = "ue4demos-black_jack";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/black_jack.zip";
+      sha256 = "0g52wkzn5isa3az32y25yx5b56wxks97pajqwkmm6gf4qpkfksxv";
+    };
+  };
+
+  landscape_mountains = buildDemo rec {
+    name = "ue4demos-landscape_mountains";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/landscape_mountains.zip";
+      sha256 = "14jzajhs3cpydvf3ag7lpj4hkpbjpwnn3xkdvdx92fi0pcl8cwym";
+    };
+  };
+
+  matinee_demo = buildDemo rec {
+    name = "ue4demos-matinee_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/matinee_demo.zip";
+      sha256 = "0ib8k6fl15cxzdarar2sqq5v3g3c7p2jidkdjd00nym6cvkibb4d";
+    };
+  };
+
+  elemental_demo = buildDemo rec {
+    name = "ue4demos-elemental_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/elemental_demo.zip";
+      sha256 = "1v4jdsy8jvv8wgc8dx17q17xigfrya5q0nfdzw4md7fzm3bg9z0v";
+    };
+  };
+
+  effects_cave_demo = buildDemo rec {
+    name = "ue4demos-effects_cave_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/effects_cave_demo.zip";
+      sha256 = "0lvd3aaha2x9pnpkdmrzi6nf7hymr95834z3l8shygjf9kbbzsz4";
+    };
+  };
+
+  realistic_rendering = buildDemo rec {
+    name = "ue4demos-realistic_rendering";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/realistic_rendering_demo.zip";
+      sha256 = "0r16nznkv475hkw5rnngqsc69ch8vh86dppyyyr9nn43dkr2110a";
+    };
+  };
+
+  reflections_subway = buildDemo rec {
+    name = "ue4demos-reflections_subway";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/reflections_subway_demo.zip";
+      sha256 = "0dw5sm7405gxw9iqz0vpnhdprrb4wl5i14pvzl1381k973m8bd00";
+    };
+  };
+
+  scifi_hallway_demo = buildDemo rec {
+    name = "ue4demos-scifi_hallway_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/sci-fi_hallway_demo.zip";
+      sha256 = "14qp9iwm47awn8d9j6ijh6cnds308x60xs4vi2fvz2666jlz1pq2";
+    };
+  };
+
+  mobile_temple_demo = buildDemo rec {
+    name = "ue4demos-mobile_temple_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/mobile_temple_demo.zip";
+      sha256 = "12bz4h1b9lhmqglwsa6r8q48ijqbjdha9fql31540d01kigaka75";
+    };
+  };
+
+  stylized_demo = buildDemo rec {
+    name = "ue4demos-stylized_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/stylized_demo.zip";
+      sha256 = "1676ridmj8rk4y4hbdscfnnka5l636av1xxl0qwvk236kq9j7v0l";
+    };
+  };
+
+  blueprint_examples_demo = buildDemo rec {
+    name = "ue4demos-blueprint_examples_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/blueprint_examples_demo.zip";
+      sha256 = "076q33h2hy965fvr805hsprkpcmizf638lj2ik8k923v86b15nbv";
+    };
+  };
+}
+
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 284d420fe7f24..248b58a4e1a51 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -28,9 +28,13 @@ stdenv.mkDerivation rec {
                       --replace "which %s" "${which}/bin/which %s"
   '';
   configureFlags = "--with-backend=qt --with-distributor=NixOS";
+
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = []
     ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A free RTS game, originally developed by Pumpkin Studios";
     longDescription = ''
         Warzone 2100 is an open source real-time strategy and real-time tactics
@@ -44,8 +48,8 @@ stdenv.mkDerivation rec {
       variety of possible units and tactics. 
     '';
     homepage = http://wz2100.net;
-    license = [ "GPLv2+" ];
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.astsmtl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index f279127b62b75..c1c1b5b07567c 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "0gi5fzij48hmhhqxc370jxvxig5q3d70jiz56rjn8yx514s5lfwa";
   };
 
-  buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib boost fribidi
-                  cmake freetype libpng pkgconfig lua dbus fontconfig libtool ];
+  buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib
+                  boost boost.lib fribidi cmake freetype libpng pkgconfig lua
+                  dbus fontconfig libtool ];
 
   cmakeFlags = [ "-DENABLE_STRICT_COMPILATION=FALSE" ]; # newer gcc problems http://gna.org/bugs/?21030
 
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index f618a28b4d602..ffc5e093c218c 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Foomatic printing filters";
-    maintainers = stdenv.lib.maintainers.raskin;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2Plus;
   };
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
new file mode 100644
index 0000000000000..bf03e1e52aa9d
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-4.0.2";
+  src = fetchurl {
+    url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz;
+    sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89";
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
new file mode 100644
index 0000000000000..4823d41d1ac24
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -0,0 +1,34 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, git, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-20140902";
+  src = fetchgit {
+    url = git://github.com/dolphin-emu/dolphin.git;
+    rev = "cc6db8cf26c1508ae382912bc25e64aaf12e0543";
+    sha256 = "17pc4kk1v0p1llc12ifih02j2klfjz29qh8nhz5lapb0a1wr6lb3";
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  git libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index 5767786e814a3..6ff0a21135a22 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,25 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, cmake, boost, eigen, freeimage, freetype
-, mesa, SDL, dejavu_fonts }:
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
+, freeimage, freetype, mesa, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation rec {
   name = "emulationstation-${version}";
-  version = "1.0.2";
-  src = fetchurl {
-    url = "https://github.com/Aloshi/EmulationStation/archive/v${version}.tar.gz";
-    sha256 = "809d67aaa727809c1426fb543e36bb788ca6a3404f8c46dd1917088b57ab5f50";
-  };
+  version = "2.0.0-rc1";
 
-  buildInputs = [ pkgconfig cmake boost eigen freeimage freetype mesa SDL ];
+  src = fetchFromGitHub {
+    owner = "Aloshi";
+    repo = "EmulationStation";
+    rev = "8739519e1591819cab85e1d2056804d20c197dac";
+    sha256 = "1psq5cqyq2yy1lqxrcj7pfp8szfmzhamxf3111l97w2h2zzcgvq9";
+  };
 
-  prePatch = ''
-    sed -i \
-      -e 's,/usr\(.*\)/ttf-dejavu\(.*\),${dejavu_fonts}\1\2,' src/Font.cpp
-  '';
+  buildInputs = [ pkgconfig cmake alsaLib boost curl eigen freeimage freetype libarchive mesa SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
-    mkdir -p $out/bin
-    mv ../emulationstation $out/bin/.
+    install -D ../emulationstation $out/bin/emulationstation
   '';
 
   meta = {
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 5c9138ed2e23f..1206bdefcb19c 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, SDL, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "hatari-1.6.2";
+  name = "hatari-1.8.0";
 
   src = fetchurl {
-    url = "http://download.tuxfamily.org/hatari/1.6.2/${name}.tar.bz2";
-    sha256 = "0gqvfqqd0lg3hi261rwh6gi2b5kmza480kfzx43d4l49xcq09pi0";
+    url = "http://download.tuxfamily.org/hatari/1.8.0/${name}.tar.bz2";
+    sha256 = "1szznnndmbyc71751hir3dhybmbrx3rnxs6klgbv9qvqlmmlikvy";
   };
 
   # For pthread_cancel
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh
deleted file mode 100644
index 144c23d39de50..0000000000000
--- a/pkgs/misc/emulators/higan/builder.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-
-source $stdenv/setup
-
-unpackPhase
-cd $sourceName
-make phoenix=gtk profile=accuracy -C ananke
-make phoenix=gtk profile=accuracy
-
-install -dm 755 $out/share/applications $out/share/pixmaps $out/share/higan/Video\ Shaders $out/bin $out/lib
-
-install -m 644 data/higan.desktop $out/share/applications/
-install -m 644 data/higan.png $out/share/pixmaps/
-cp -dr --no-preserve=ownership profile/* data/cheats.bml $out/share/higan/
-cp -dr --no-preserve=ownership shaders/*.shader $out/share/higan/Video\ Shaders/
-
-install -m 755 out/higan $out/bin/higan
-install -m 644 ananke/libananke.so $out/lib/libananke.so.1
-(cd $out/lib && ln -s libananke.so.1 libananke.so)
-oldRPath=$(patchelf --print-rpath $out/bin/higan)
-patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index aceb55b139676..6ce3ca2356cd4 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -2,9 +2,14 @@
 , pkgconfig
 , libX11, libXv
 , udev
-, mesa, gtk, SDL
+, mesa, SDL
 , libao, openal, pulseaudio
-}:
+, profile ? "accuracy" # Options: accuracy, balanced, performance
+, gui ? "gtk" # can be gtk or qt4
+, gtk ? null, qt4 ? null }:
+
+assert gui == "gtk" || gui == "qt4";
+assert (gui == "gtk" -> gtk != null) || (gui == "qt4" -> qt4 != null);
 
 stdenv.mkDerivation rec {
 
@@ -19,11 +24,48 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig libX11 libXv udev mesa gtk SDL libao openal pulseaudio ];
+  [ pkgconfig libX11 libXv udev mesa SDL libao openal pulseaudio ]
+  ++ optionals (gui == "gtk") [ gtk ]
+  ++ optionals (gui == "qt4") [ qt4 ];
+
+  buildPhase = ''
+    make phoenix=${gui} profile=${profile} -C ananke
+    make phoenix=${gui} profile=${profile}
+  '';
+
+  installPhase = ''
+    install -dm 755 $out/share/applications $out/share/pixmaps $out/share/higan/Video\ Shaders $out/bin $out/lib
+
+    install -m 644 data/higan.desktop $out/share/applications/
+    install -m 644 data/higan.png $out/share/pixmaps/
+    cp -dr --no-preserve=ownership profile/* data/cheats.bml $out/share/higan/
+    cp -dr --no-preserve=ownership shaders/*.shader $out/share/higan/Video\ Shaders/
+
+    install -m 755 out/higan $out/bin/higan
+    install -m 644 ananke/libananke.so $out/lib/libananke.so.1
+    (cd $out/lib && ln -s libananke.so.1 libananke.so)
+  '';
+
+  fixupPhase = ''
+    oldRPath=$(patchelf --print-rpath $out/bin/higan)
+    patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan
+
+    # A dirty workaround, suggested by @cpages:
+    # we create a first-run script to populate
+    # the local $HOME with all the auxiliary
+    # stuff needed by higan at runtime
+
+    cat <<EOF > $out/bin/higan-init.sh
+    #!${stdenv.shell}
+
+    cp --update --recursive $out/share/higan \$HOME/.config
+    chmod --recursive u+w \$HOME/.config/higan
+    EOF
 
-  builder = ./builder.sh;
+    chmod +x $out/bin/higan-init.sh
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An open-source, cycle-accurate Nintendo multi-system emulator";
     longDescription = ''
       Higan (formerly bsnes) is a Nintendo multi-system emulator.
@@ -34,15 +76,15 @@ stdenv.mkDerivation rec {
         Super Game Boy; BS-X Satellaview; Sufami Turbo
     '';
     homepage = http://byuu.org/higan/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 
 #
 # TODO:
-#   - options to choose profiles (accuracy, balanced, performance)
-#     and different GUIs (gtk2, qt4)
-#   - fix the BML and BIOS paths - maybe a custom patch to Higan project?
+#   - fix the BML and BIOS paths - maybe submitting
+#     a custom patch to Higan project would not be a bad idea...
+#   - config.higan.{gui,profile} options
 #
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index e3bb3965739b0..407d96a2bb927 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 , libX11, mesa, freeglut
 , jack2, libcdio, libsndfile, libsamplerate
-, SDL, SDL_net, zlib
-}:
+, SDL, SDL_net, zlib }:
 
 stdenv.mkDerivation rec {
 
@@ -25,11 +24,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/doc/$name *.css *.def *.html *.php *.png *.txt
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix
index d4515b7db031d..ce361ef9fbcc5 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/misc/emulators/mednafen/server.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/$name standard.conf
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Netplay server for Mednafen";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
new file mode 100644
index 0000000000000..a8b74959d90ec
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -0,0 +1,232 @@
+{ stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch
+, fluidsynth, mesa, SDL, ffmpeg, libpng, libjpeg, libvorbis, zlib }:
+
+let
+
+  d2u = stdenv.lib.replaceChars ["-"] ["_"];
+
+  mkLibRetroCore = ({ core, src, description, ... }@a:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+
+    name = "libretro-${core}-${version}";
+    version = "20140902";
+    inherit src;
+
+    buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
+
+    buildPhase = "make -f Makefile.libretro";
+    installPhase = ''
+      COREDIR="$out/lib/retroarch/cores"
+      mkdir -p $out/bin
+      mkdir -p $COREDIR
+      mv ${d2u core}_libretro.so $COREDIR/.
+      makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
+        --add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
+    '';
+
+    passthru.libretroCore = "/lib/retroarch/cores";
+
+    meta = with stdenv.lib; {
+      inherit description;
+      homepage = "http://www.libretro.com/";
+      license = licenses.gpl3Plus;
+      maintainers = [ maintainers.edwtjo ];
+      platforms = platforms.linux;
+    };
+  } // a);
+
+  fetchRetro = { repo, rev, sha256 }:
+  fetchgit {
+    inherit rev sha256;
+    url = "https://github.com/libretro/${repo}.git";
+    fetchSubmodules = true;
+  };
+
+in
+
+{
+
+  _4do = (mkLibRetroCore rec {
+    core = "4do";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "961812bc421f3fbfd83ea211783bb511a0b6d31c";
+      sha256 = "0217iq8sj8gn161c3mj632csl1da8ir2ffxxdillpcddv6ppsayl";
+    };
+    description = "Port of 4DO/libfreedo to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  bsnes-mercury = (mkLibRetroCore rec {
+    core = "bsnes-mercury";
+    src = fetchRetro {
+      repo = core;
+      rev = "cc44e91bfba6f7b3d1d3d51a9fa28b39a579f5e0";
+      sha256 = "0nzwjrbfvzywsimrvp4vbpj7zxf9iwpghd9z7f9f1q027l0vj42f";
+    };
+    description = "Fork of bsnes with HLE DSP emulation restored";
+  }).override {
+    buildPhase = "make && cd out";
+  };
+
+  desmume = mkLibRetroCore rec {
+    core = "desmume";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "1dd58e4a9fa375b6909cd8718165a429d4b8bd6d";
+      sha256 = "137bw9316qxm8s6p0bzyvk39dv5b5bn60fgllmyj9z5y8x5lrc9l";
+    };
+    description = "libretro wrapper for desmume NDS emulator";
+  };
+
+  fceumm = mkLibRetroCore rec {
+    core = "fceumm";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "17e081541c9d36d0658e7139afa5b085aa0316c9";
+      sha256 = "0cn74z976rgjh7hf0yb1sdjlm347157893s2z397rgjvks8xssb0";
+    };
+    description = "FCEUmm libretro port";
+  };
+
+  fba = (mkLibRetroCore rec {
+    core = "fba";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "da6355526a9b02a642447994414baababe904c1e";
+      sha256 = "14kba506m9dnldmkpq3vgw416pm7cgc167hgm3f0l59ylp2592ff";
+    };
+    description = "Port of Final Burn Alpha to libretro";
+  }).override {
+    buildPhase = ''
+      cd svn-current/trunk \
+      && make -f makefile.libretro \
+      && mv fb_alpha_libretro.so fba_libretro.so
+    '';
+  };
+
+  gambatte = (mkLibRetroCore rec {
+    core = "gambatte";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "267a4e09bf8f0877483abdffde6295f29d7235ee";
+      sha256 = "1swx3mjb6qmlg6grcakhl17vrmy4vdvimxkv5gbv6gnj5riya4vl";
+    };
+    description = "Gambatte libretro port";
+  }).override {
+    configurePhase = "cd libgambatte";
+  };
+
+  genesis-plus-gx = mkLibRetroCore rec {
+    core = "genesis-plus-gx";
+    src = fetchRetro {
+      repo = "Genesis-Plus-GX";
+      rev = "c0015e27e3ae607ea0490b2accfe31097ef3cbce";
+      sha256 = "1k4b5wib7nqzk53qwvhkh4a70gc4pq7vkrpvmfzp5f2c4vrbw1i7";
+    };
+    description = "Enhanced Genesis Plus libretro port";
+  };
+
+  mupen64plus = (mkLibRetroCore rec {
+    core = "mupen64plus";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "2251b3aba2a5bb233ff49dd9b6472f2c0feb9b83";
+      sha256 = "04g93kj6n5vddbzfb30d8n711kg0yxfnl5v567aa854misn6gfxd";
+    };
+    description = "Libretro port of Mupen64 Plus, GL only";
+
+    extraBuildInputs = [ mesa ];
+  }).override {
+    buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
+  };
+
+  picodrive = (mkLibRetroCore rec {
+    core = "picodrive";
+    src = fetchRetro {
+      repo = core;
+      rev = "d84817550ac064fbba7ee718fb3baeda7d5546da";
+      sha256 = "17zh9m2v7h1cifzz8dcwqm4wn94zyhz6g85gf0aw6xylxahza627";
+    };
+    description = "Fast MegaDrive/MegaCD/32X emulator";
+
+    extraBuildInputs = [ libpng SDL ];
+  }).override {
+    patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure";
+    configurePhase = "./configure";
+  };
+
+  prboom = (mkLibRetroCore rec {
+    core = "prboom";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "de2f0a0fab1a73a28cd501fdb9291ffc7dc357f5";
+      sha256 = "01gxa6hh9vijic2n44q1lndhdyw0kdpmajabs0nizn7bni51b29c";
+    };
+    description = "Prboom libretro port";
+  }).override {
+    buildPhase = "make";
+  };
+
+  ppsspp = (mkLibRetroCore rec {
+    core = "ppsspp";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "6ee828171218b26e124c5e8fa7877e6ee1d5ff79";
+      sha256 = "1559d4k3h0a2dv3684j4w924p2dg8z2j1fwhy7w9mhb5z4kddjhk";
+    };
+    description = "ppsspp libretro port";
+
+    extraBuildInputs = [ mesa ffmpeg ];
+  }).override{
+    buildPhase = "cd libretro && make";
+  };
+
+  scummvm = (mkLibRetroCore rec {
+    core = "scummvm";
+    src = fetchRetro {
+      repo = core;
+      rev = "c00247171ba8201614e85556c638b8825dc9f225";
+      sha256 = "1wir3x928b37va6gn14bmwsydkpk4afma5hppmbivw4qp8mj25pa";
+    };
+    description = "Libretro port of ScummVM";
+
+    extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
+  }).override {
+    buildPhase = "cd backends/platform/libretro/build/;make";
+  };
+
+  snes9x-next = mkLibRetroCore rec {
+    core = "snes9x-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "461d92be09e1857d215f51aeea448a8e180bbfdd";
+      sha256 = "0ci453qsyrv3brmy2szngis2xyvxilcv9yhc2qjz285mirg6fj57";
+    };
+    description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
+  };
+
+  stella = (mkLibRetroCore rec {
+    core = "stella";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "c7ee7ca7e8a29c986f49306c75832972f5749f72";
+      sha256 = "15wy9h3a2qk66lh8x40b3a9il0zkdflqil1h51zjmhq2zzsq8p95";
+    };
+    description = "Port of Stella to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  vba-next = mkLibRetroCore rec {
+    core = "vba-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "fb095107f83df5f93b8ba4833eaf43901f42c0c0";
+      sha256 = "0fvq1dfll27vjbmyh4qsp2nw166jsd91sjmf1sl84z56ab3q3iw8";
+    };
+    description = "VBA-M libretro port";
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 8bc53da8f0c8a..d110f2b789e24 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "retroarch-0.9.9.7";
+  name = "retroarch-bare-0.9.9.7";
 
   src = fetchgit {
     url = "https://github.com/libretro/RetroArch.git";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     configureFlags="--global-config-dir=$out/etc"
   '';
- 
+
   meta = {
     description = "Modular multi-system game/emulator system";
     homepage = "http://www.libretro.com/";
diff --git a/pkgs/misc/emulators/retroarch/master.nix b/pkgs/misc/emulators/retroarch/master.nix
new file mode 100644
index 0000000000000..2efb43e5d5eef
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/master.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
+, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
+, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "retroarch-bare-${version}";
+  version = "20140902";
+
+  src = fetchgit {
+    url = git://github.com/libretro/RetroArch.git;
+    rev = "0856091296c2e47409f36e13007805d71db69483";
+    sha256 = "152dfp6jd7yzvasqrqw4ydjbdcwq4khisia2dax3gydvxkq87nl4";
+  };
+
+  buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
+                  python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ];
+
+  patchPhase = ''
+    export GLOBAL_CONFIG_DIR=$out/etc
+    sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://libretro.org/;
+    description = "Multi-platform emulator frontend for libretro cores";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
new file mode 100644
index 0000000000000..f7e903ef5290d
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, makeWrapper, retroarch, cores }:
+
+let
+
+  p = builtins.parseDrvName retroarch.name;
+
+in
+
+stdenv.mkDerivation {
+  name = "retroarch-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/lib
+    $(for coreDir in $cores
+    do
+      $(ln -s $coreDir/*.so $out/lib/.)
+    done)
+    makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
+      --suffix-each LD_LIBRARY_PATH ':' "$cores" \
+      --add-flags "-L $out/lib/ --menu" \
+  '';
+
+  cores = map (x: x + x.libretroCore) cores;
+  preferLocalBuild = true;
+
+  meta = with retroarch.meta; {
+    inherit license homepage;
+    description = description
+                  + " (with cores: "
+                  + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores))
+                  + ")";
+  };
+}
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
new file mode 100644
index 0000000000000..768d018ba51bb
--- /dev/null
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig
+, SDL2 }:
+
+stdenv.mkDerivation rec {
+
+  name = "stella-${version}";
+  version = "4.0";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz";
+    sha256 = "1j96sj2qflq3agb7fvb08ih3pxy8nsvlkwj40q3n00q9k884ad5w";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig SDL2 ];
+
+  meta = with stdenv.lib; {
+    description = "An open-source Atari 2600 VCS emulator";
+    longDescription = ''
+    Stella is a multi-platform Atari 2600 VCS emulator released under
+    the GNU General Public License (GPL). Stella was originally
+    developed for Linux by Bradford W. Mott, and is currently
+    maintained by Stephen Anthony.
+    As of its 3.5 release, Stella is officialy donationware. 
+    '';
+    homepage = http://stella.sourceforge.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index a7d52f2bca4f5..e5268580254f9 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.25";
+    version = "1.7.27";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "0h7mijxv5nhn0nn5knr8arq9bl7chi3diaa668yyhjbxwn15xqzm";
+      sha256 = "1cij9nc5qvclsc60ax3qp7cb9pi1q3b2lkgqwnir2ifhbc60bllr";
     };
 
     gecko = fetchurl {
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
     freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
-    openssl gnutls cups
+    openssl gnutls cups ncurses
   ];
 
   # Don't shrink the ELF RPATHs in order to keep the extra RPATH
diff --git a/pkgs/misc/phabricator/default.nix b/pkgs/misc/phabricator/default.nix
new file mode 100644
index 0000000000000..3162dd0079d0a
--- /dev/null
+++ b/pkgs/misc/phabricator/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, pkgs, ...  }:
+
+stdenv.mkDerivation rec {
+  version = "2014-07-16";
+  name = "phabricator-${version}";
+  srcLibphutil = pkgs.fetchgit {
+      url = git://github.com/facebook/libphutil.git;
+      rev = "48a04395363d6c1dd9f66057bd11fd70d4665ba9";
+      sha256 = "d570d2c1e68471c2eda35b8722d8083bcc13163fbd5c944529464f2c7b55a2e5";
+  };
+  srcArcanist = pkgs.fetchgit {
+      url = git://github.com/facebook/arcanist.git;
+      rev = "97501da16416fbfdc6e84bd60abcbf5ad9506225";
+      sha256 = "9031c4ae228bdc986131e0c93c98fb73290bb0e297be1ec32f22ab09cdacafa3";
+  };
+  srcPhabricator = pkgs.fetchgit {
+      url = git://github.com/phacility/phabricator.git;
+      rev = "7ac5abb97934f7399b67762aa98f59f667711bf3";
+      sha256 = "6a1d449597ae4432e40a3e6cdb14e3a5a8a40e019f3930493064c35911f2adcc";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cp -R ${srcLibphutil} $out/libphutil
+    cp -R ${srcArcanist} $out/arcanist
+    cp -R ${srcPhabricator} $out/phabricator
+  '';
+}
diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
new file mode 100644
index 0000000000000..9db2fe45ed318
--- /dev/null
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchgit, pkgconfig, autoconf, automake
+, libX11, pam, libgcrypt, libXrender, imlib2 }:
+
+stdenv.mkDerivation rec {
+  date = "20140724";
+  name = "alock-${date}";
+
+  src = fetchgit {
+    url = https://github.com/Arkq/alock;
+    rev = "928ae09a85627570b7f6986fe161b71327405fc0";
+    sha256 = "0z605w2cf0pc988qq931b2zis6dqavm0wcjfdmr6q4vamvinjfv0";
+  };
+
+  preConfigure = "autoreconf -fvi";
+  configureFlags = [
+    "--enable-pam"
+    "--enable-hash"
+    "--enable-xrender"
+    "--enable-imlib2"
+  ];
+  buildInputs = [
+    pkgconfig autoconf automake libX11
+    pam libgcrypt libXrender imlib2
+  ];
+
+  meta = {
+    homepage = https://github.com/Arkq/alock;
+    description = "Simple screen lock application for X server";
+    longDescription = ''
+      alock locks the X server until the user enters a password
+      via the keyboard. If the authentification was successful
+      the X server is unlocked and the user can continue to work.
+
+      alock does not provide any fancy animations like xlock or
+      xscreensaver and never will. Its just for locking the current
+      X session.
+    '';
+    platforms = with stdenv.lib.platforms; allBut cygwin;
+    maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
+  };
+}
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 0479174981004..29acf04000ca6 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.29";
+  version = "5.30";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "157jy1mh84h6p4mpzsgcadv6c660c212rmjgdpgpidcn0rsza664";
+    sha256 = "0ljx10fsypdddcx43lwhrwqa9ksp9djv7p4i1y7760m4frl1fw9p";
   };
 
   buildInputs =
@@ -41,5 +41,8 @@ stdenv.mkDerivation rec {
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
     platforms = with stdenv.lib.platforms; allBut cygwin;
+    inherit version;
+    downloadPage = "http://www.jwz.org/xscreensaver/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
new file mode 100644
index 0000000000000..34141c91f91f3
--- /dev/null
+++ b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl
+, cmake, dbus_glib, glib, gtk3, gdk_pixbuf, pkgconfig, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.4.0";
+  name = "oxygen-gtk3-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/oxygen-gtk3/${version}/src/${name}.tar.bz2";
+    sha256 = "d119bcc94ffc04b67e7d238fc922b37f2904447085a06758451b8c0b0302ab80";
+  };
+
+  buildInputs = [ cmake dbus_glib glib gtk3 gdk_pixbuf
+   pkgconfig xorg.libXau xorg.libXdmcp xorg.libpthreadstubs
+   xorg.libxcb xorg.pixman ];
+
+  meta = with stdenv.lib; {
+    description = "Port of the default KDE widget theme (Oxygen), to gtk 3";
+    homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk;
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 648ddb1b43051..e5532e2fbacee 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -645,4 +645,14 @@ in rec
     path = "pathogen";
   };
 
+  vimoutliner = simpleDerivation {
+    name = "vimoutliner-git-dce383e7";
+    src = fetchgit {
+      url = "https://github.com/vimoutliner/vimoutliner";
+      rev = "2fc82976683c8770bece157ae3ada55251b6ddeb";
+      sha256 = "dce383e7842c42bcfa8e7c3329fa426cb0fb05786d40a733da705c03aabd196b";
+     };
+    path = "vimoutliner";
+  };
+
 }
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 0fc7992251538..b815cd778fa4a 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://sourceforge.net/projects/acpiclient/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index c9d45835cfd08..39b5565ffbdb2 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.22";
+  name = "acpid-2.0.23";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpid2/${name}.tar.xz";
-    sha256 = "0cdbcy5xjdcyp2x6hzgpv6a9vg9bbxmypmfvv1qzgj43897la49x";
+    sha256 = "1vl7c6vc724v4jwki17czgj6lnrknnj1a6llm8gkl32i2gnam5j3";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index d1ca1b354522e..c91274c50bf19 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -8,126 +8,129 @@ die(){ echo $@; exit 1; }
 
 # custom unpack:
 unzip $src
-run_file=$(echo amd-catalyst-*)
+run_file=$(echo fglrx-*/amd-driver-installer-*)
 sh $run_file --extract .
 
 eval "$patchPhase"
 
-kernelVersion=$(cd ${kernel}/lib/modules && ls)
-kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build)
-linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source)
+case "$system" in
+  x86_64-linux)
+    arch=x86_64
+    lib_arch=lib64
+    DIR_DEPENDING_ON_XORG_VERSION=xpic_64a
+  ;;
+  i686-linux)
+    arch=x86
+    lib_arch=lib
+    DIR_DEPENDING_ON_XORG_VERSION=xpic
+  ;;
+  *) exit 1;;
+esac
 
+# Handle/Build the kernel module.
+if test -z "$libsOnly"; then
 
-# note: maybe the .config file should be used to determine this ?
-# current kbuild infrastructure allows using CONFIG_* defines
-# but ati sources don't use them yet..
-# copy paste from make.sh
-setSMP(){
+  kernelVersion=$(cd ${kernel}/lib/modules && ls)
+  kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build)
+  linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source)
 
-  linuxincludes=$kernelBuild/include
+  # note: maybe the .config file should be used to determine this ?
+  # current kbuild infrastructure allows using CONFIG_* defines
+  # but ati sources don't use them yet..
+  # copy paste from make.sh
+  setSMP(){
 
-  # copied and stripped. source: make.sh:
+    linuxincludes=$kernelBuild/include
 
-  # 3
-  # linux/autoconf.h may contain this: #define CONFIG_SMP 1
+    # copied and stripped. source: make.sh:
+    # 3
+    # linux/autoconf.h may contain this: #define CONFIG_SMP 1
 
-  # Before 2.6.33 autoconf.h is under linux/.
-  # For 2.6.33 and later autoconf.h is under generated/.
-  if [ -f $linuxincludes/generated/autoconf.h ]; then
-      autoconf_h=$linuxincludes/generated/autoconf.h
-  else
-      autoconf_h=$linuxincludes/linux/autoconf.h
-  fi
-  src_file=$autoconf_h
+    # Before 2.6.33 autoconf.h is under linux/.
+    # For 2.6.33 and later autoconf.h is under generated/.
+    if [ -f $linuxincludes/generated/autoconf.h ]; then
+        autoconf_h=$linuxincludes/generated/autoconf.h
+    else
+        autoconf_h=$linuxincludes/linux/autoconf.h
+    fi
+    src_file=$autoconf_h
 
-  [ -e $src_file ] || die "$src_file not found"
+    [ -e $src_file ] || die "$src_file not found"
 
-  if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
-    SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
-    echo "file $src_file says: SMP=$SMP"
-  fi
+    if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
+      SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
+      echo "file $src_file says: SMP=$SMP"
+    fi
 
-  if [ "$SMP" = 0 ]; then
-    echo "assuming default: SMP=$SMP"
-  fi
+    if [ "$SMP" = 0 ]; then
+      echo "assuming default: SMP=$SMP"
+    fi
 
-  # act on final result
-  if [ ! "$SMP" = 0 ]; then
-    smp="-SMP"
-    def_smp=-D__SMP__
-  fi
+    # act on final result
+    if [ ! "$SMP" = 0 ]; then
+      smp="-SMP"
+      def_smp=-D__SMP__
+    fi
 
-}
+  }
 
-setModVersions(){
-  ! grep CONFIG_MODVERSIONS=y $kernel/config ||
-  def_modversions="-DMODVERSIONS"
-  # make.sh contains much more code to determine this whether its enabled
-}
+  setModVersions(){
+    ! grep CONFIG_MODVERSIONS=y $kernelBuild/.config ||
+    def_modversions="-DMODVERSIONS"
+    # make.sh contains much more code to determine this whether its enabled
+  }
 
-# ==============================================================
-# resolve if we are building for a kernel with a fix for CVE-2010-3081
-# On kernels with the fix, use arch_compat_alloc_user_space instead
-# of compat_alloc_user_space since the latter is GPL-only
+  # ==============================================================
+  # resolve if we are building for a kernel with a fix for CVE-2010-3081
+  # On kernels with the fix, use arch_compat_alloc_user_space instead
+  # of compat_alloc_user_space since the latter is GPL-only
 
-COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+  COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
 
-for src_file in \
+  for src_file in \
     $kernelBuild/arch/x86/include/asm/compat.h \
     $linuxsources/arch/x86/include/asm/compat.h \
     $kernelBuild/include/asm-x86_64/compat.h \
     $linuxsources/include/asm-x86_64/compat.h \
     $kernelBuild/include/asm/compat.h;
-do
-  if [ -e $src_file ];
-  then
-    break
-  fi
-done
-if [ ! -e $src_file ];
-then
-  echo "Warning: x86 compat.h not found in kernel headers"        
-  echo "neither arch/x86/include/asm/compat.h nor include/asm-x86_64/compat.h" 
-  echo "could be found in $kernelBuild or $linuxsources"            
-  echo ""                                                          
-else
-  if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
-  then
-    COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+  do
+    if [ -e $src_file ];
+    then
+      break
+    fi
+  done
+  if [ ! -e $src_file ];
+    then
+    echo "Warning: x86 compat.h not found in kernel headers"
+    echo "neither arch/x86/include/asm/compat.h nor include/asm-x86_64/compat.h"
+    echo "could be found in $kernelBuild or $linuxsources"
+    echo ""
+  else
+    if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
+    then
+      COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+    fi
+    echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE"
   fi
-  echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE" 
-fi
 
+  # make.sh contains some code figuring out whether to use these or not..
+  PAGE_ATTR_FIX=0
+  setSMP
+  setModVersions
+  CC=gcc
+  MODULE=fglrx
+  LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod
+  [ -d $LIBIP_PREFIX ]
+  GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 
-# make.sh contains some code figuring out whether to use these or not..
-PAGE_ATTR_FIX=0
-setSMP
-setModVersions
-CC=gcc
-MODULE=fglrx
-case "$system" in
-  x86_64-linux)
-    arch=x86_64
-    lib_arch=lib64
-  ;;
-  i686-linux)
-    arch=x86
-    lib_arch=lib
-  ;;
-  *) exit 1;;
-esac
-LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod
-[ -d $LIBIP_PREFIX ]
-GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
+  { # build .ko module
+    cd ./common/lib/modules/fglrx/build_mod/2.6.x
+    echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
+    echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
 
-{ # build .ko module
-  cd ./common/lib/modules/fglrx/build_mod/2.6.x
-  echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
-  echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
+    sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c
 
-  sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c
-
-  make CC=${CC} \
+    make CC=${CC} \
       LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \
       MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
       KVER=$kernelVersion \
@@ -135,8 +138,10 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
       PAGE_ATTR_FIX=$PAGE_ATTR_FIX \
       -j4
 
-  cd $TMP
-}
+    cd $TMP
+  }
+
+fi
 
 { # install
 
@@ -152,13 +157,15 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   # what are those files used for?
   cp -r common/etc $out
 
-  DIR_DEPENDING_ON_XORG_VERSION=xpic_64a
   cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg
 
-  t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
-  mkdir -p $t
+  # install kernel module
+  if test -z "$libsOnly"; then
+    t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
+    mkdir -p $t
 
-  cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t
+    cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t
+  fi
 
   # should this be installed at all?
   # its used by the example fglrx_gamma only
@@ -181,10 +188,46 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   # make xorg use the ati version
   ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
 
+  # Correct some paths that are hardcoded into binary libs.
+  if [ "$arch" ==  "x86_64" ]; then
+    for lib in \
+      lib/xorg/modules/extensions/fglrx/fglrx-libglx.so \
+      lib/xorg/modules/glesx.so \
+      lib/dri/fglrx_dri.so \
+      lib/fglrx_dri.so \
+      lib/fglrx-libGL.so.1.2
+    do
+      oldPaths="/usr/X11R6/lib/modules/dri"
+      newPaths="/run/opengl-driver/lib/dri"
+      sed -i -e "s|$oldPaths|$newPaths|" $out/$lib
+    done
+  else
+    oldPaths="/usr/X11R6/lib32/modules/dri\x00/usr/lib32/dri"
+    newPaths="/run/opengl-driver-32/lib/dri\x00/dev/null/dri"
+    sed -i -e "s|$oldPaths|$newPaths|" \
+      $out/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so
+
+    for lib in \
+      lib/dri/fglrx_dri.so \
+      lib/fglrx_dri.so \
+      lib/xorg/modules/glesx.so
+    do
+      oldPaths="/usr/X11R6/lib32/modules/dri/"
+      newPaths="/run/opengl-driver-32/lib/dri"
+      sed -i -e "s|$oldPaths|$newPaths|" $out/$lib
+    done
+
+    oldPaths="/usr/X11R6/lib32/modules/dri\x00"
+    newPaths="/run/opengl-driver-32/lib/dri"
+    sed -i -e "s|$oldPaths|$newPaths|" $out/lib/fglrx-libGL.so.1.2
+  fi
+
   # libstdc++ and gcc are needed by some libs
   patchelf --set-rpath $gcc/$lib_arch $out/lib/libatiadlxx.so
 }
 
+if test -z "$libsOnly"; then
+
 { # build samples
   mkdir -p $out/bin
 
@@ -229,6 +272,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 
 }
 
+fi
+
 for p in $extraDRIlibs; do
   for lib in $p/lib/*.so*; do
     ln -s $lib $out/lib/
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 0aa67dba2378b..45452c1ea6d2c 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,10 +1,16 @@
-{ stdenv, fetchurl, kernel, xlibs, which, imake
+{ stdenv, fetchurl, kernel ? null, xlibs, which, imake
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
 , unzip
+, # Whether to build the libraries only (i.e. not the kernel module or
+  # driver utils). Used to support 32-bit binaries on 64-bit
+  # Linux.
+  libsOnly ? false
 }:
 
+assert (!libsOnly) -> kernel != null;
+
 # If you want to use a different Xorg version probably
 # DIR_DEPENDING_ON_XORG_VERSION in builder.sh has to be adopted (?)
 # make sure libglx.so of ati is used. xorg.xorgserver does provide it as well
@@ -21,12 +27,10 @@
 # There is one issue left:
 # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so
 
-# You eventually have to blacklist radeon module (?)
-
-assert stdenv.system == "x86_64-linux";
+with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "ati-drivers-13.12-${kernel.version}";
+  name = "ati-drivers-14.4" + (optionalString (!libsOnly) "-${kernel.version}");
 
   builder = ./builder.sh;
 
@@ -34,8 +38,8 @@ stdenv.mkDerivation {
   gcc = stdenv.gcc.gcc;
 
   src = fetchurl {
-    url = http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip;
-    sha256 = "1c3fn328340by4qn99dgfj8c2q34fxdb2alcak0vnyc6bw7l5sms";
+    url = http://www2.ati.com/drivers/linux/amd-catalyst-14-4-rev2-linux-x86-x86-64-may6.zip;
+    sha256 = "1xbhn55yifis9b0lzb3s03hc1bcq8jmy7l96m4x8d842n7ji7qlk";
     curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64";
   };
 
@@ -51,7 +55,9 @@ stdenv.mkDerivation {
       mesa
     ];
 
-  kernel = kernel.dev;
+  inherit libsOnly;
+
+  kernel = if libsOnly then null else kernel.dev;
 
   inherit glibc /* glibc only used for setting interpreter */;
 
@@ -75,15 +81,7 @@ stdenv.mkDerivation {
     homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx;
     license = licenses.unfree;
     maintainers = with maintainers; [marcweber offline];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
     hydraPlatforms = [];
   };
-
-  # moved assertions here because the name is evaluated when the NixOS manual is generated
-  # Don't make that fail - fail lazily when a users tries to build this derivation only
-  dummy =
-    # assert xorg.xorgserver.name == "xorg-server-1.7.5";
-    assert stdenv.system == "x86_64-linux"; # i686-linux should work as well - however I didn't test it.
-    null;
-
 }
diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
index 392c2a8c29e30..fd1d12cccb62c 100644
--- a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
+++ b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
@@ -31,21 +31,3 @@ index d3ad3ce..9362b58 100755
 +# endif
  #endif
  }
- 
-
-diff -urN a/common/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
---- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:32:34.734832283 +0100
-+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:33:31.849831765 +0100
-@@ -1002,7 +1002,11 @@
- #endif
-     {
-         return KCL_ACPI_ERROR;
--    }    
-+    }
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
-+    ((acpi_tbl_table_handler)handler)(hdr);
-+#else
-     ((acpi_table_handler)handler)(hdr);
-+#endif
-     return KCL_ACPI_OK;
- }
diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix
index fd4b6df955290..961db2ce9c950 100644
--- a/pkgs/os-specific/linux/atop/default.nix
+++ b/pkgs/os-specific/linux/atop/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "2.0.2";
+  version = "2.1-1";
   name = "atop-${version}";
 
   src = fetchurl {
     url = "http://www.atoptool.nl/download/atop-${version}.tar.gz";
-    sha256 = "029lfa2capz1lg3m3rnyrgb8v6jm4znin84vjh2f0zkwvvhdn856";
+    sha256 = "17wqqyym4d02cqmn1l1asah3sld939nlkc84g4ad939kpkzd98ir";
   };
 
   buildInputs = [zlib ncurses];
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
     sed -e '/chkconfig/d' -i Makefile
   '';
 
+  preInstall = ''
+    mkdir -p "$out"/{bin,sbin}
+  '';
+
   meta = {
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
diff --git a/pkgs/os-specific/linux/atop/default.upstream b/pkgs/os-specific/linux/atop/default.upstream
new file mode 100644
index 0000000000000..46099d9c95954
--- /dev/null
+++ b/pkgs/os-specific/linux/atop/default.upstream
@@ -0,0 +1,4 @@
+url http://atoptool.nl/downloadatop.php
+version_link '[.]tar[.]'
+version '[^0-9]*[-.]([0-9]([-0-9.]*[0-9])?)[.].*' '\1'
+minimize_overwrite
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index fee955bcca216..f7b2a984e4066 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2013.4.0"; in
+let base = "batman-adv-2014.3.0"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4";
+    sha1 = "wh3if8v4wfwskvzwqsjsyr929krzfmsx";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index d7f3d293c489c..bb0cb81f6d32a 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.10";
+    version="0.9.12.1";
     name="${baseName}-${version}";
-    hash="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg";
-    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.10.tar.bz2";
-    sha256="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg";
+    hash="1v5f8ggwijqlki6qs6r62cqdn0gpvfhivcfzxb2jy7kigx0zf2qr";
+    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.12.1.tar.bz2";
+    sha256="1v5f8ggwijqlki6qs6r62cqdn0gpvfhivcfzxb2jy7kigx0zf2qr";
   };
   buildInputs = [
   ];
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index d6513f7ebb534..036ece4627bc2 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://fuse.sourceforge.net/;
     description = "Kernel module and library that allows filesystems to be implemented in user space";
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
index 87e8fa5b074e5..404d785146c30 100644
--- a/pkgs/os-specific/linux/gradm/default.nix
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name    = "gradm-${version}";
-  version = "3.0-201405281853";
+  version = "3.0-201408301734";
 
   src  = fetchurl {
     url    = "http://grsecurity.net/stable/${name}.tar.gz";
-    sha256 = "0yjmbjhm71cik5j8h2prgk40wki3sflwbf2zqmc4pwaqlvis9s2f";
+    sha256 = "171i1jyw82dnv2fi4dnh40dw1wa5hrllnpjf181cafnzxjpyb45i";
   };
 
   buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ];
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 2cfbc2a1df1f9..cf602a46f81d8 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,14 +1,17 @@
 { fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-3.12.0";
+  name = "iproute2-3.16.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4";
+    sha256 = "0ybv29m88lccpfrh2dgiqash4c3gfvwwpx9kakvnc8c71rn8l2hz";
   };
 
-  patch = [ "vpnc.patch" ];
+  patch = [
+    ./vpnc.patch
+    ./device-checking.patch # Remove after 3.16.0
+  ];
 
   preConfigure =
     ''
diff --git a/pkgs/os-specific/linux/iproute/device-checking.patch b/pkgs/os-specific/linux/iproute/device-checking.patch
new file mode 100644
index 0000000000000..a55423be38c3a
--- /dev/null
+++ b/pkgs/os-specific/linux/iproute/device-checking.patch
@@ -0,0 +1,32 @@
+From f1b66ff83a0babbe99fef81b3a960d7a4ce8dbc6 Mon Sep 17 00:00:00 2001
+From: vadimk <vadim4j@gmail.com>
+Date: Sat, 30 Aug 2014 15:06:00 +0300
+Subject: ip link: Remove unnecessary device checking
+
+The real checking is performed later in iplink_modify(..) func which
+checks device existence if NLM_F_CREATE flag is set.
+
+Also it fixes the case when impossible to add veth link which was
+caused by 9a02651a87 (ip: check for missing dev arg when doing VF rate)
+because these devices are not exist yet.
+
+Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
+Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+
+diff --git a/ip/iplink.c b/ip/iplink.c
+index 1a907d9..ea06871 100644
+--- a/ip/iplink.c
++++ b/ip/iplink.c
+@@ -593,8 +593,6 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req,
+ 				duparg2("dev", *argv);
+ 			*dev = *argv;
+ 			dev_index = ll_name_to_index(*dev);
+-			if (dev_index == 0)
+-				invarg("Unknown device", *argv);
+ 		}
+ 		argc--; argv++;
+ 	}
+-- 
+cgit v0.10.1
+
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ab01231f33493..a3b2f23c8c78c 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libnl, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "iw-3.14";
+  name = "iw-3.15";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz";
-    sha256 = "16fr13cl02702d9yjqlgvnxvpv0w0mqn0acba39iwn2lln5b4747";
+    sha256 = "12jby9nv5nypadgdksbqw0y2kfm3j47zw7a3rwmy56d7rs90lp5x";
   };
 
   buildInputs = [ libnl pkgconfig ];
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 8fa684e407cff..eaced37ebc806 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.53";
+  version = "3.10.55";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
+    sha256 = "11vmqykhgjr6wcxpd3zmc251iwg59ih3p7hvkj3dh3n7r2k5rhg8";
   };
 
   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 c67c531667a59..2c448cfb20d79 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.27";
+  version = "3.12.28";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0c8psz9k6k413b48dphclqs6wkh9wiwf5nslykg27afdqd6v4ycc";
+    sha256 = "1b9lnnmsamlgr1712q9qj258p0d4lxn39hjd09baaqki69jmfzdy";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 74d83345ec149..386aeaff2a7aa 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.17";
+  version = "3.14.19";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
+    sha256 = "0qf5pq0w63fhd5aql4b50g1wvr38jrrr428s7ns2df2dp5nws5y3";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
index be2e68ab81e34..4725e6a6ad90d 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.16.1";
+  version = "3.16.3";
   extraMeta.branch = "3.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
+    sha256 = "1namhqsfr26pjwhrxh8agybdjk14337yyn6h12294dazjd7s74ak";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index c91b8ddfb44d2..401136b0fb2da 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -60,17 +60,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.17";
-      revision  = "201408260041";
+    { kversion  = "3.14.19";
+      revision  = "201409180900";
       branch    = "stable";
-      sha256    = "1brcfxbdd5f29vci3bj2dk3878z24ncrjw268j4i1n8ms65jqda0";
+      sha256    = "1kpv43imm9yhfg4pric40snqpgh91w7pqhikzfkzrybg5zza9x5j";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.15.10";
-      revision  = "201408212335";
+    { kversion  = "3.16.3";
+      revision  = "201409180901";
       branch    = "test";
-      sha256    = "0ynnci7jms5a1acn8cpdw4w2j4jz5xai1da5w1l5r65909kwmx0k";
+      sha256    = "1gcm16hlfcabwmrhm4fcgmv7136d6mh3fcpnqjsav1mgpvh84zzz";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index df44cb68d8bd3..b948dbff2c1d2 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, kernelHeaders, kernel, perl }:
 
 let
-  version = "2.0.3";
+  version = "2.0.4";
 
   commonMakeFlags = [
     "prefix=$(out)"
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
-    sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa";
+    sha256 = "7f9a0850586def7cf4faeeb75e5d0f66e613674c524f6e77b0f4d93a26c801cb";
   };
 
   patches = [ ./no-reinstall-kernel-headers.patch ];
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 380b4a35f1c2b..9ee13135d631c 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-17";
+  name = "kmod-18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv";
+    sha256 = "e16e57272b54acb219c465b334715cfdddb5d97ff5d8948d4830ca1a372a868e";
   };
 
   # Disable xz/zlib support to prevent needing them in the initrd.
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index ee6165bfc9a50..dbce760230183 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, enable_dmeventd ? false }:
 
 let
-  version = "2.02.110";
+  version = "2.02.111";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
-    sha256 = "04fdzvv5431d1i4p701zkm9kc50087q56k7l2l5l5f3i9ah1mb9x";
+    sha256 = "096xjcay4l2ph2dlyknic11pmz65jfgjs34fblqi9xh7zrr3x3vd";
   };
 
   configureFlags =
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
new file mode 100644
index 0000000000000..2e25c0383b7b1
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, openssl, python27, iproute, perl, kernel ? null}:
+let
+
+  version = "2.1.2";
+
+  skipKernelMod = kernel == null;
+
+in
+stdenv.mkDerivation {
+  version = "2.1.2";
+  name = "openvswitch-${version}";
+  src = fetchurl {
+    url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz";
+    sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47";
+  };
+  kernel = if skipKernelMod then null else kernel.dev;
+  buildInputs = [
+    openssl
+    python27
+    perl
+  ];
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sharedstatedir=/var"
+    "--sbindir=$(out)/bin"
+  ] ++ (if skipKernelMod then [] else ["--with-linux"]);
+  # Leave /var out of this!
+  installFlags = [
+    "LOGDIR=$(TMPDIR)/dummy"
+    "RUNDIR=$(TMPDIR)/dummy"
+    "PKIDIR=$(TMPDIR)/dummy"
+  ];
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+    description = "A multilayer virtual switch";
+    longDescription = 
+      ''
+      Open vSwitch is a production quality, multilayer virtual switch 
+      licensed under the open source Apache 2.0 license. It is 
+      designed to enable massive network automation through 
+      programmatic extension, while still supporting standard 
+      management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, 
+      RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to 
+      support distribution across multiple physical servers similar 
+      to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+      '';
+    homepage = "http://openvswitch.org/";
+    licence = "Apache 2.0";
+  };
+}
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index ad60e63c263bf..0c182b5baa69f 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
       pam_krb5 can optionally convert Kerberos 5 credentials to Kerberos IV
       credentials and/or use them to set up AFS tokens for a user's session.
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/pam_mount/default.nix b/pkgs/os-specific/linux/pam_mount/default.nix
new file mode 100644
index 0000000000000..05438c6945ce8
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_mount/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, pam, libHX, utillinux, libxml2, pcre, perl, openssl, cryptsetup }:
+
+stdenv.mkDerivation rec {
+  name = "pam_mount-2.14";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pam-mount/pam_mount/2.14/${name}.tar.xz";
+    sha256 = "1yfwg8i4n7af8yi3w3pkqzqz75wgjjlg5lslv1r5g1v88nrwnrkg";
+  };
+
+  buildInputs = [ autoconf automake pkgconfig libtool pam libHX utillinux libxml2 pcre perl openssl cryptsetup ];
+
+  preConfigure = "sh autogen.sh --prefix=$out";
+
+  makeFlags = "DESTDIR=$(out)";
+
+  # Probably a hack, but using DESTDIR and PREFIX makes everything work!
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
+  meta = {
+    homepage = http://pam-mount.sourceforge.net/;
+    description = "PAM module to mount volumes for a user session";
+    maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix
index 8e70ddd84349d..148048f6505b5 100644
--- a/pkgs/os-specific/linux/paxctl/default.nix
+++ b/pkgs/os-specific/linux/paxctl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "paxctl-${version}";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchurl {
     url = "http://pax.grsecurity.net/${name}.tar.gz";
-    sha256 = "107gmriq5icsk9yni5q949rnjapjkcs0823pw6zra6h1xml2f0mm";
+    sha256 = "0biw882fp1lmgs6kpxznp1v6758r7dg9x8iv5a06k0b82bcdsc53";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
new file mode 100644
index 0000000000000..0f0967079dfbe
--- /dev/null
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "1.0.3.1";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-linux-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz";
+    sha256 = "1s17g03z5hfpiz32g001g5wyamyvn9l36fr2csk3k7r0jkqfnl0d";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "admin/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-linux-utils/;
+    description = "A set of minimalistic Linux-specific system utilities.";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/os-specific/linux/smem/default.nix b/pkgs/os-specific/linux/smem/default.nix
new file mode 100644
index 0000000000000..a61a54afc38ea
--- /dev/null
+++ b/pkgs/os-specific/linux/smem/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "smem-1.4";
+
+  src = fetchurl {
+    url = "http://www.selenic.com/smem/download/${name}.tar.gz";
+    sha256 = "1v31vy23s7szl6vdrllq9zbg58bp36jf5xy3fikjfg6gyiwgia9f";
+  };
+
+  buildInputs = [ python ];
+
+  buildPhase =
+    ''
+      gcc -O2 smemcap.c -o smemcap
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp smem smemcap $out/bin/
+
+      mkdir -p $out/share/man/man8
+      cp smem.8 $out/share/man/man8/
+    '';
+
+  meta = {
+    homepage = http://www.selenic.com/smem/;
+    description = "A memory usage reporting tool that takes shared memory into account";
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 4abbb4c45b43f..80677a52a32b0 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -10,7 +10,7 @@ let
   };
   buildInputs = [
     cmake zlib luajit
-  ] ++ optional (kernel != null) kernel;
+  ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
@@ -30,6 +30,10 @@ stdenv.mkDerivation {
   '';
   postInstall = optionalString (kernel != null) ''
     make install_driver
+    kernel_dev=${kernel.dev}
+    kernel_dev=''${kernel_dev#/nix/store/}
+    kernel_dev=''${kernel_dev%%-linux*dev*}
+    sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index ec504bd923578..7944f612fb05d 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, gettext }:
-   
+{ stdenv, fetchurl, gettext, bzip2 }:
+
 stdenv.mkDerivation rec {
-  name = "sysstat-10.1.1";
-   
+  name = "sysstat-11.0.1";
+
   src = fetchurl {
-    url = "http://perso.orange.fr/sebastien.godard/${name}.tar.bz2";
-    sha256 = "1ig6k4yjkkazddjr90hykiapl30s9r9c1gy1h8hqzn2c3xgkm7p3";
+    url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz";
+    sha256 = "1cwgsxvs7jkr3il6r344mw46502yjnhrsbcp4217vh4b7xv6czaq";
   };
 
   buildInputs = [ gettext ];
@@ -13,10 +13,17 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export PATH_CP=$(type -tp cp)
     export PATH_CHKCONFIG=/no-such-program
-    makeFlagsArray=(SA_DIR=/var/log/sa SYSCONFIG_DIR=$out/etc CHOWN=true IGNORE_MAN_GROUP=y)
+    export BZIP=${bzip2}/bin/bzip2
+    export SYSTEMCTL=systemctl
+    makeFlagsArray=(SYSCONFIG_DIR=$out/etc CHOWN=true IGNORE_MAN_GROUP=y CHOWN=true)
+    installFlagsArray=(SA_DIR=$TMPDIR/dummy)
+    # Note: --enable-install-cron actually installs systemd units.
+    configureFlagsArray+=(--with-systemdsystemunitdir=$out/lib/systemd/system --enable-install-cron)
   '';
 
-  patches = [ ./no-install-statedir.patch ];
+  preInstall = ''
+    mkdir -p $out/lib/systemd/system
+  '';
 
   meta = {
     homepage = http://sebastien.godard.pagesperso-orange.fr/;
diff --git a/pkgs/os-specific/linux/sysstat/no-install-statedir.patch b/pkgs/os-specific/linux/sysstat/no-install-statedir.patch
deleted file mode 100644
index ef81f97217fac..0000000000000
--- a/pkgs/os-specific/linux/sysstat/no-install-statedir.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -rc sysstat-10.1.1/Makefile.in sysstat-10.1.1-new/Makefile.in
-*** sysstat-10.1.1/Makefile.in	2012-01-02 14:36:00.000000000 +0100
---- sysstat-10.1.1-new/Makefile.in	2012-08-14 14:11:17.676124739 +0200
-***************
-*** 309,315 ****
-  install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
-  	contrib/isag/isag
-  	mkdir -p $(DESTDIR)$(SA_LIB_DIR)
-! 	mkdir -p $(DESTDIR)$(SA_DIR)
-  ifeq ($(CLEAN_SA_DIR),y)
-  	find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
-  		-exec rm -f {} \;
---- 309,315 ----
-  install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
-  	contrib/isag/isag
-  	mkdir -p $(DESTDIR)$(SA_LIB_DIR)
-! 	#mkdir -p $(DESTDIR)$(SA_DIR)
-  ifeq ($(CLEAN_SA_DIR),y)
-  	find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
-  		-exec rm -f {} \;
-***************
-*** 344,350 ****
-  
-  install_all: install_base cron/crontab sysstat \
-  	cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
-! 	$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-  	if [ -d $(DESTDIR)/etc/cron.d ]; then \
-  	   $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
-  	elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
---- 344,350 ----
-  
-  install_all: install_base cron/crontab sysstat \
-  	cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
-! 	#$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-  	if [ -d $(DESTDIR)/etc/cron.d ]; then \
-  	   $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
-  	elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 7410c87e277e0..72cf0e92bb84e 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -1,7 +1,25 @@
 diff --git a/Makefile.am b/Makefile.am
-index 3d9e5c1..4d43cb4 100644
+index 3d9e5c1..46487f6 100644
 --- a/Makefile.am
 +++ b/Makefile.am
+@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \
+ 
+ src/shared/errno-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }'  > $@
++	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }'  > $@
+ 
+ src/shared/errno-from-name.gperf: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf
+ 
+ src/shared/errno-to-name.h: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
++	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+ 
+ src/shared/af-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
 @@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \
  endif
  
@@ -13,8 +31,42 @@ index 3d9e5c1..4d43cb4 100644
  	systemd-tmpfiles-setup.service
  
  dist_zshcompletion_DATA += \
+@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \
+ 	src/cgls/cgls.c
+ 
+ systemd_cgls_LDADD = \
++	libsystemd-internal.la \
+ 	libsystemd-shared.la
+ 
+ # ------------------------------------------------------------------------------
+diff --git a/TODO b/TODO
+index e2ca1e6..d7efdd5 100644
+--- a/TODO
++++ b/TODO
+@@ -1,4 +1,6 @@
+ Bugfixes:
++* Should systemctl status \* work on all unit types, not just .service?
++
+ * enabling an instance unit creates a pointless link, and
+   the unit will be started with getty@getty.service:
+     $ systemctl enable getty@.service
+diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
+index c675b5b..4c300da 100644
+--- a/rules/42-usb-hid-pm.rules
++++ b/rules/42-usb-hid-pm.rules
+@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!=
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ 
+-# Catch-all for Avocent HID devices. Keyed off interface in order to only
+-# trigger on HID class devices.
+-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
+-
+ # Dell DRAC 4
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
+ 
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index db72373..2fc12ca 100644
+index db72373..2875958 100644
 --- a/rules/99-systemd.rules.in
 +++ b/rules/99-systemd.rules.in
 @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
@@ -28,11 +80,329 @@ index db72373..2fc12ca 100644
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
+@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k"
+ 
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target"
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
+ SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target"
+ 
+ SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target"
+diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
+index b8e275d..1840594 100644
+--- a/src/cgls/cgls.c
++++ b/src/cgls/cgls.c
+@@ -35,6 +35,10 @@
+ #include "build.h"
+ #include "output-mode.h"
+ #include "fileio.h"
++#include "sd-bus.h"
++#include "bus-util.h"
++#include "bus-error.h"
++#include "unit-name.h"
+ 
+ static bool arg_no_pager = false;
+ static bool arg_kernel_threads = false;
+@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) {
+         int r = 0, retval = EXIT_FAILURE;
+         int output_flags;
+         char _cleanup_free_ *root = NULL;
++        _cleanup_bus_unref_ sd_bus *bus = NULL;
+ 
+         log_parse_environment();
+         log_open();
+@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) {
+                 arg_all * OUTPUT_SHOW_ALL |
+                 (arg_full > 0) * OUTPUT_FULL_WIDTH;
+ 
++        r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
++        if (r < 0) {
++                log_error("Failed to create bus connection: %s", strerror(-r));
++                goto finish;
++        }
++
+         if (optind < argc) {
+                 int i;
+ 
+@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) {
+                 } else {
+                         if (arg_machine) {
+                                 char *m;
++                                const char *cgroup;
++                                _cleanup_free_ char *scope = NULL;
++                                _cleanup_free_ char *path = NULL;
++                                _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
++                                _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
++
+                                 m = strappenda("/run/systemd/machines/", arg_machine);
+-                                r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL);
++                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
++                                if (r < 0) {
++                                        log_error("Failed to get machine path: %s", strerror(-r));
++                                        goto finish;
++                                }
++
++                                path = unit_dbus_path_from_name(scope);
++                                if (!path) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
++                                r = sd_bus_get_property(
++                                                bus,
++                                                "org.freedesktop.systemd1",
++                                                path,
++                                                "org.freedesktop.systemd1.Scope",
++                                                "ControlGroup",
++                                                &error,
++                                                &reply,
++                                                "s");
++
++                                if (r < 0) {
++                                        log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r));
++                                        goto finish;
++                                }
++
++                                r = sd_bus_message_read(reply, "s", &cgroup);
++                                if (r < 0) {
++                                        bus_log_parse_error(r);
++                                        goto finish;
++                                }
++
++                                root = strdup(cgroup);
++                                if (!root) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
+                         } else
+                                 r = cg_get_root_path(&root);
+                         if (r < 0) {
+diff --git a/src/core/cgroup.c b/src/core/cgroup.c
+index 3dd4c91..4201e1e 100644
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) {
+         safe_close(m->pin_cgroupfs_fd);
+ 
+         m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
+-        if (r < 0) {
++        if (m->pin_cgroupfs_fd < 0) {
+                 log_error("Failed to open pin file: %m");
+                 return -errno;
+         }
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 775825b..5b1c4e3 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -173,6 +173,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_CPUACCT;
+                         unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no");
+                 }
+ 
+@@ -192,6 +193,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_shares = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_CPU;
+                         unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul);
+                 }
+ 
+@@ -206,6 +208,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no");
+                 }
+ 
+@@ -225,6 +228,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_weight = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul);
+                 }
+ 
+@@ -294,6 +298,8 @@ int bus_cgroup_set_property(
+                                                 cgroup_context_free_blockio_device_bandwidth(c, a);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -375,6 +381,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -398,6 +406,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no");
+                 }
+ 
+@@ -412,6 +421,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_limit = limit;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit);
+                 }
+ 
+@@ -433,6 +443,7 @@ int bus_cgroup_set_property(
+                         char *buf;
+ 
+                         c->device_policy = p;
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
+ 
+                         buf = strappenda("DevicePolicy=", policy);
+                         unit_write_drop_in_private(u, mode, name, buf);
+@@ -511,6 +522,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_device_allow(c, c->device_allow);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 13b3d0d..37d4154 100644
+--- a/src/core/dbus-execute.c
++++ b/src/core/dbus-execute.c
+@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property(
+                         strv_free(c->environment);
+                         c->environment = e;
+ 
+-                        joined = strv_join(c->environment, " ");
++                        joined = strv_join_quoted(c->environment);
+                         if (!joined)
+                                 return -ENOMEM;
+ 
+diff --git a/src/core/job.c b/src/core/job.c
+index 35a9de6..dc4f441 100644
+--- a/src/core/job.c
++++ b/src/core/job.c
+@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) {
+         if (r < 0)
+                 return r;
+ 
++        if (j->state == JOB_WAITING)
++                job_add_to_run_queue(j);
++
+         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
+                 return 0;
+ 
+diff --git a/src/core/killall.c b/src/core/killall.c
+index 57ed41c..eab48f7 100644
+--- a/src/core/killall.c
++++ b/src/core/killall.c
+@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
+                         continue;
+ 
+                 if (sig == SIGKILL) {
+-                        _cleanup_free_ char *s;
++                        _cleanup_free_ char *s = NULL;
+ 
+                         get_process_comm(pid, &s);
+                         log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
+diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
+index d459afe..2a58e48 100644
+--- a/src/core/machine-id-setup.c
++++ b/src/core/machine-id-setup.c
+@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) {
+                 }
+         }
+ 
+-        /* If that didn't work, see if we are running in qemu/kvm and a
+-         * machine ID was passed in via -uuid on the qemu/kvm command
+-         * line */
+-
+-        r = detect_vm(&vm_id);
+-        if (r > 0 && streq(vm_id, "kvm")) {
+-                char uuid[37];
+-
+-                fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
+-                if (fd >= 0) {
+-                        k = loop_read(fd, uuid, 36, false);
+-                        safe_close(fd);
+-
+-                        if (k >= 36) {
+-                                r = shorten_uuid(id, uuid);
+-                                if (r >= 0) {
+-                                        log_info("Initializing machine ID from KVM UUID.");
+-                                        return 0;
+-                                }
+-                        }
+-                }
+-        }
+-
+-        /* If that didn't work either, see if we are running in a
+-         * container, and a machine ID was passed in via
+-         * $container_uuid the way libvirt/LXC does it */
++        /* If that didn't work, see if we are running in a container,
++         * and a machine ID was passed in via $container_uuid the way
++         * libvirt/LXC does it */
+         r = detect_container(NULL);
+         if (r > 0) {
+                 _cleanup_free_ char *e = NULL;
+@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) {
+                                 }
+                         }
+                 }
++
++        } else {
++                /* If we are not running in a container, see if we are
++                 * running in qemu/kvm and a machine ID was passed in
++                 * via -uuid on the qemu/kvm command line */
++
++                r = detect_vm(&vm_id);
++                if (r > 0 && streq(vm_id, "kvm")) {
++                        char uuid[37];
++
++                        fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
++                        if (fd >= 0) {
++                                k = loop_read(fd, uuid, 36, false);
++                                safe_close(fd);
++
++                                if (k >= 36) {
++                                        r = shorten_uuid(id, uuid);
++                                        if (r >= 0) {
++                                                log_info("Initializing machine ID from KVM UUID.");
++                                                return 0;
++                                        }
++                                }
++                        }
++                }
+         }
+ 
+         /* If that didn't work, generate a random machine id */
 diff --git a/src/core/main.c b/src/core/main.c
-index 41605ee..8517369 100644
+index 41605ee..c65701d 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1883,7 +1883,7 @@ finish:
+@@ -1840,6 +1840,7 @@ finish:
+         if (reexecute) {
+                 const char **args;
+                 unsigned i, args_size;
++                sigset_t ss;
+ 
+                 /* Close and disarm the watchdog, so that the new
+                  * instance can reinitialize it, but doesn't get
+@@ -1883,7 +1884,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
@@ -41,6 +411,83 @@ index 41605ee..8517369 100644
                          if (switch_root_dir)
                                  args[i++] = "--switched-root";
                          args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
+@@ -1923,6 +1924,13 @@ finish:
+                 args[i++] = NULL;
+                 assert(i <= args_size);
+ 
++                /* reenable any blocked signals, especially important
++                 * if we switch from initial ramdisk to init=... */
++                reset_all_signal_handlers();
++
++                assert_se(sigemptyset(&ss) == 0);
++                assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
++
+                 if (switch_root_init) {
+                         args[0] = switch_root_init;
+                         execv(args[0], (char* const*) args);
+diff --git a/src/core/manager.c b/src/core/manager.c
+index 224106c..7342095 100644
+--- a/src/core/manager.c
++++ b/src/core/manager.c
+@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
+                 return -ENOMEM;
+ 
+ #ifdef ENABLE_EFI
+-        if (detect_container(NULL) <= 0)
++        if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0)
+                 boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
+ #endif
+ 
+@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
+                 if (u->id != t)
+                         continue;
+ 
+-                if (!unit_can_serialize(u))
+-                        continue;
+-
+                 /* Start marker */
+                 fputs(u->id, f);
+                 fputc('\n', f);
+diff --git a/src/core/namespace.c b/src/core/namespace.c
+index 9f15211..e41cf5b 100644
+--- a/src/core/namespace.c
++++ b/src/core/namespace.c
+@@ -42,6 +42,7 @@
+ #include "mkdir.h"
+ #include "dev-setup.h"
+ #include "def.h"
++#include "label.h"
+ 
+ typedef enum MountMode {
+         /* This is ordered by priority! */
+@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) {
+         STRV_FOREACH(i, strv) {
+ 
+                 (*p)->ignore = false;
++                (*p)->done = false;
+ 
+                 if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') {
+                         (*p)->ignore = true;
+@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) {
+                         goto fail;
+                 }
+ 
++                label_context_set(d, st.st_mode);
+                 r = mknod(dn, st.st_mode, st.st_rdev);
++                label_context_clear();
++
+                 if (r < 0) {
+                         r = -errno;
+                         goto fail;
+@@ -350,7 +355,7 @@ int setup_namespace(
+                 private_dev;
+ 
+         if (n > 0) {
+-                m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
++                m = mounts = (BindMount *) alloca0(n * sizeof(BindMount));
+                 r = append_mounts(&m, read_write_dirs, READWRITE);
+                 if (r < 0)
+                         return r;
 diff --git a/src/core/service.c b/src/core/service.c
 index ae3695a..6b3aa45 100644
 --- a/src/core/service.c
@@ -58,7 +505,7 @@ index ae3695a..6b3aa45 100644
                  log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id);
                  return -EINVAL;
 diff --git a/src/core/socket.c b/src/core/socket.c
-index 7c18a2b..eba67d5 100644
+index 7c18a2b..1a560a6 100644
 --- a/src/core/socket.c
 +++ b/src/core/socket.c
 @@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
@@ -96,6 +543,115 @@ index 7c18a2b..eba67d5 100644
                  break;
          }
  
+@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
+                        NULL,
+                        s->exec_runtime,
+                        &pid);
++        if (r < 0)
++                goto fail;
+ 
+         strv_free(argv);
+         if (r < 0)
+@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) {
+                         }
+ 
+                 if (!pending) {
++                        if (!UNIT_ISSET(s->service)) {
++                                log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
++                                r = -ENOENT;
++                                goto fail;
++                        }
++
+                         r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
+                         if (r < 0)
+                                 goto fail;
+diff --git a/src/core/timer.c b/src/core/timer.c
+index 6c85304..720b8af 100644
+--- a/src/core/timer.c
++++ b/src/core/timer.c
+@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) {
+         return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ }
+ 
++static void update_stampfile(Timer *t, usec_t timestamp) {
++        _cleanup_close_ int fd = -1;
++
++        mkdir_parents_label(t->stamp_path, 0755);
++
++        /* Update the file atime + mtime, if we can */
++        fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
++        if (fd >= 0) {
++                struct timespec ts[2];
++
++                timespec_store(&ts[0], timestamp);
++                ts[1] = ts[0];
++
++                futimens(fd, ts);
++        }
++}
++
+ static int timer_setup_persistent(Timer *t) {
+         int r;
+ 
+@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) {
+ 
+                 e = getenv("XDG_DATA_HOME");
+                 if (e)
+-                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
++                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
+                 else {
+ 
+                         _cleanup_free_ char *h = NULL;
+@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) {
+ 
+         dual_timestamp_get(&t->last_trigger);
+ 
+-        if (t->stamp_path) {
+-                _cleanup_close_ int fd = -1;
+-
+-                mkdir_parents_label(t->stamp_path, 0755);
+-
+-                /* Update the file atime + mtime, if we can */
+-                fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
+-                if (fd >= 0) {
+-                        struct timespec ts[2];
+-
+-                        timespec_store(&ts[0], t->last_trigger.realtime);
+-                        ts[1] = ts[0];
+-
+-                        futimens(fd, ts);
+-                }
+-        }
++        if (t->stamp_path)
++                update_stampfile(t, t->last_trigger.realtime);
+ 
+         timer_set_state(t, TIMER_RUNNING);
+         return;
+@@ -539,6 +542,11 @@ static int timer_start(Unit *u) {
+ 
+                 if (stat(t->stamp_path, &st) >= 0)
+                         t->last_trigger.realtime = timespec_load(&st.st_atim);
++                else if (errno == ENOENT)
++                        /* The timer has never run before,
++                         * make sure a stamp file exists.
++                         */
++                        update_stampfile(t, now(CLOCK_REALTIME));
+         }
+ 
+         t->result = TIMER_SUCCESS;
+diff --git a/src/core/transaction.c b/src/core/transaction.c
+index d00f427..2befc32 100644
+--- a/src/core/transaction.c
++++ b/src/core/transaction.c
+@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
+                                       "Found dependency on %s/%s",
+                                       k->unit->id, job_type_to_string(k->type));
+ 
+-                        if (!delete &&
++                        if (!delete && hashmap_get(tr->jobs, k->unit) &&
+                             !unit_matters_to_anchor(k->unit, k)) {
+                                 /* Ok, we can drop this one, so let's
+                                  * do so. */
 diff --git a/src/core/umount.c b/src/core/umount.c
 index d1258f0..0311812 100644
 --- a/src/core/umount.c
@@ -109,6 +665,195 @@ index d1258f0..0311812 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
+diff --git a/src/core/unit.c b/src/core/unit.c
+index 153b79b..ed52694 100644
+--- a/src/core/unit.c
++++ b/src/core/unit.c
+@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) {
+ }
+ 
+ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) {
+-        ExecRuntime *rt;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+-        r = UNIT_VTABLE(u)->serialize(u, f, fds);
+-        if (r < 0)
+-                return r;
++        if (unit_can_serialize(u)) {
++                ExecRuntime *rt;
+ 
+-        rt = unit_get_exec_runtime(u);
+-        if (rt) {
+-                r = exec_runtime_serialize(rt, u, f, fds);
++                r = UNIT_VTABLE(u)->serialize(u, f, fds);
+                 if (r < 0)
+                         return r;
++
++                rt = unit_get_exec_runtime(u);
++                if (rt) {
++                        r = exec_runtime_serialize(rt, u, f, fds);
++                        if (r < 0)
++                                return r;
++                }
+         }
+ 
+         dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp);
+@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) {
+ }
+ 
+ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+-        size_t offset;
+         ExecRuntime **rt = NULL;
++        size_t offset;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+         offset = UNIT_VTABLE(u)->exec_runtime_offset;
+         if (offset > 0)
+                 rt = (ExecRuntime**) ((uint8_t*) u + offset);
+@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+                         if (!s)
+                                 return -ENOMEM;
+ 
+-                        free(u->cgroup_path);
+-                        u->cgroup_path = s;
++                        if (u->cgroup_path) {
++                                void *p;
+ 
++                                p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
++                                log_info("Removing cgroup_path %s from hashmap (%p)",
++                                         u->cgroup_path, p);
++                                free(u->cgroup_path);
++                        }
++
++                        u->cgroup_path = s;
+                         assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
++
+                         continue;
+                 }
+ 
+-                if (rt) {
+-                        r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                if (unit_can_serialize(u)) {
++                        if (rt) {
++                                r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                                if (r < 0)
++                                        return r;
++                                if (r > 0)
++                                        continue;
++                        }
++
++                        r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+                         if (r < 0)
+                                 return r;
+-                        if (r > 0)
+-                                continue;
+                 }
+-
+-                r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+-                if (r < 0)
+-                        return r;
+         }
+ }
+ 
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index 75d56dd..be8fb2f 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -29,6 +29,7 @@
+ #include "mkdir.h"
+ #include "strv.h"
+ #include "fileio.h"
++#include "path-util.h"
+ 
+ static const char *arg_dest = "/tmp";
+ static bool arg_enabled = true;
+@@ -144,16 +145,19 @@ static int create_disk(
+                         if (!uu)
+                                 return log_oom();
+ 
+-                        if (is_device_path(uu)) {
+-                                _cleanup_free_ char *dd;
++                        if (!path_equal(uu, "/dev/null")) {
+ 
+-                                dd = unit_name_from_path(uu, ".device");
+-                                if (!dd)
+-                                        return log_oom();
++                                if (is_device_path(uu)) {
++                                        _cleanup_free_ char *dd;
+ 
+-                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
+-                        } else
+-                                fprintf(f, "RequiresMountsFor=%s\n", password);
++                                        dd = unit_name_from_path(uu, ".device");
++                                        if (!dd)
++                                                return log_oom();
++
++                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
++                                } else
++                                        fprintf(f, "RequiresMountsFor=%s\n", password);
++                        }
+                 }
+         }
+ 
+@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
+         } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) {
+ 
+                 free(arg_keyfile);
+-                arg_keyfile = strdup(key);
++                arg_keyfile = strdup(value);
+                 if (!arg_keyfile)
+                         return log_oom();
+ 
+diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
+index 9b9074c..ad6c76c 100644
+--- a/src/cryptsetup/cryptsetup.c
++++ b/src/cryptsetup/cryptsetup.c
+@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) {
+                         return 0;
+                 }
+ 
++                if (arg_key_size % 8) {
++                        log_error("size= not a multiple of 8, ignoring.");
++                        return 0;
++                }
++
++                arg_key_size /= 8;
++
+         } else if (startswith(option, "key-slot=")) {
+ 
+                 arg_type = CRYPT_LUKS1;
+@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
+                 /* for CRYPT_PLAIN limit reads
+                  * from keyfile to key length, and
+                  * ignore keyfile-size */
+-                arg_keyfile_size = arg_key_size / 8;
++                arg_keyfile_size = arg_key_size;
+ 
+                 /* In contrast to what the name
+                  * crypt_setup() might suggest this
+@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) {
+                 else
+                         until = 0;
+ 
+-                arg_key_size = (arg_key_size > 0 ? arg_key_size : 256);
++                arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
+ 
+                 if (key_file) {
+                         struct stat st;
 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
 index 18f2aca..2a2b1ea 100644
 --- a/src/fsck/fsck.c
@@ -131,11 +876,715 @@ index 18f2aca..2a2b1ea 100644
          cmdline[i++] = "-a";
          cmdline[i++] = "-T";
          cmdline[i++] = "-l";
+diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
+index 6a4aa2c..700e90a 100644
+--- a/src/getty-generator/getty-generator.c
++++ b/src/getty-generator/getty-generator.c
+@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) {
+ 
+         log_debug("Automatically adding serial getty for /dev/%s.", tty);
+ 
+-        n = unit_name_replace_instance("serial-getty@.service", tty);
++        n = unit_name_from_path_instance("serial-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) {
+ 
+         log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
+ 
+-        n = unit_name_replace_instance("container-getty@.service", tty);
++        n = unit_name_from_path_instance("container-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 3ed0b7e..02dedc4 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -103,7 +103,7 @@ static int finish_item(
+                 const char *payload) {
+ 
+         ssize_t offset;
+-        CatalogItem *i;
++        _cleanup_free_ CatalogItem *i = NULL;
+         int r;
+ 
+         assert(h);
+@@ -126,13 +126,14 @@ static int finish_item(
+         i->offset = htole64((uint64_t) offset);
+ 
+         r = hashmap_put(h, i, i);
+-        if (r == EEXIST) {
++        if (r == -EEXIST) {
+                 log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
+                             SD_ID128_FORMAT_VAL(id), language ? language : "C");
+-                free(i);
+                 return 0;
+-        }
++        } else if (r < 0)
++                return r;
+ 
++        i = NULL;
+         return 0;
+ }
+ 
+@@ -383,8 +384,8 @@ error:
+ int catalog_update(const char* database, const char* root, const char* const* dirs) {
+         _cleanup_strv_free_ char **files = NULL;
+         char **f;
+-        Hashmap *h;
+         struct strbuf *sb = NULL;
++        _cleanup_hashmap_free_free_ Hashmap *h = NULL;
+         _cleanup_free_ CatalogItem *items = NULL;
+         CatalogItem *i;
+         Iterator j;
+@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
+         }
+ 
+         STRV_FOREACH(f, files) {
+-                log_debug("reading file '%s'", *f);
+-                catalog_import_file(h, sb, *f);
++                log_debug("Reading file '%s'", *f);
++                r = catalog_import_file(h, sb, *f);
++                if (r < 0) {
++                        log_error("Failed to import file '%s': %s.",
++                                  *f, strerror(-r));
++                        goto finish;
++                }
+         }
+ 
+         if (hashmap_size(h) <= 0) {
+                 log_info("No items in catalog.");
+-                r = 0;
+                 goto finish;
+         } else
+                 log_debug("Found %u items in catalog.", hashmap_size(h));
+@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
+                 log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
+                           database, n, sb->len, r);
+ 
+-        r = 0;
+-
+ finish:
+-        if (h)
+-                hashmap_free_free(h);
+         if (sb)
+                 strbuf_cleanup(sb);
+ 
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index f2f1f35..fd9d2a8 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) {
+             !VALID64(le64toh(f->header->entry_array_offset)))
+                 return -ENODATA;
+ 
+-        if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size))
+-                return -ENODATA;
+-
+         if (f->writable) {
+                 uint8_t state;
+                 sd_id128_t machine_id;
+diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c
+index 142de0e..239ff38 100644
+--- a/src/journal/journal-remote-parse.c
++++ b/src/journal/journal-remote-parse.c
+@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) {
+ 
+ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         ssize_t n, remain;
+-        char *c;
++        char *c = NULL;
+         char *newbuf = NULL;
+         size_t newsize = 0;
+ 
+@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         assert(source->filled <= source->size);
+         assert(source->buf == NULL || source->size > 0);
+ 
+-        c = memchr(source->buf, '\n', source->filled);
++        if (source->buf)
++                c = memchr(source->buf, '\n', source->filled);
++
+         if (c != NULL)
+                 goto docopy;
+ 
+diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
+index 35948ea..48725e4 100644
+--- a/src/journal/journald-kmsg.c
++++ b/src/journal/journald-kmsg.c
+@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
+                 /* Did we lose any? */
+                 if (serial > *s->kernel_seqnum)
+                         server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages",
+-                                              serial - *s->kernel_seqnum - 1);
++                                              serial - *s->kernel_seqnum);
+ 
+                 /* Make sure we never read this one again. Note that
+                  * we always store the next message serial we expect
+diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
+index 6da81e7..b6f8e7e 100644
+--- a/src/journal/journald-server.c
++++ b/src/journal/journald-server.c
+@@ -67,6 +67,7 @@
+ #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
+ #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC)
+ #define DEFAULT_RATE_LIMIT_BURST 1000
++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH
+ 
+ #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC)
+ 
+@@ -1473,6 +1474,8 @@ int server_init(Server *s) {
+         s->forward_to_syslog = true;
+         s->forward_to_wall = true;
+ 
++        s->max_file_usec = DEFAULT_MAX_FILE_USEC;
++
+         s->max_level_store = LOG_DEBUG;
+         s->max_level_syslog = LOG_DEBUG;
+         s->max_level_kmsg = LOG_NOTICE;
+diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
+index f693e0f..9a8d5c6 100644
+--- a/src/journal/microhttpd-util.c
++++ b/src/journal/microhttpd-util.c
+@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) {
+         if (0 <= level && level < (int) ELEMENTSOF(log_level_map))
+                 ourlevel = log_level_map[level];
+         else
+-                level = LOG_DEBUG;
++                ourlevel = LOG_DEBUG;
+ 
+         log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message);
+ }
+diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
+index b087a8b..967ab67 100644
+--- a/src/journal/test-catalog.c
++++ b/src/journal/test-catalog.c
+@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
+ 
+         setlocale(LC_ALL, "de_DE.UTF-8");
+ 
+-        log_set_max_level(LOG_DEBUG);
++        log_parse_environment();
++        log_open();
+ 
+         test_catalog_file_lang();
+ 
+diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
+index 84a8ffa..e79b318 100644
+--- a/src/libsystemd/sd-rtnl/rtnl-message.c
++++ b/src/libsystemd/sd-rtnl/rtnl-message.c
+@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) {
+ /* If successful the updated message will be correctly aligned, if
+    unsuccessful the old message is untouched. */
+ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) {
+-        uint32_t rta_length, message_length;
++        uint32_t rta_length;
++        size_t message_length, padding_length;
+         struct nlmsghdr *new_hdr;
+         struct rtattr *rta;
+         char *padding;
+         unsigned i;
++        int offset;
+ 
+         assert(m);
+         assert(m->hdr);
+         assert(!m->sealed);
+         assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len);
+-        assert(!data || data_length > 0);
+-        assert(data || m->n_containers < RTNL_CONTAINER_DEPTH);
++        assert(!data || data_length);
++
++        /* get offset of the new attribute */
++        offset = m->hdr->nlmsg_len;
+ 
+         /* get the size of the new rta attribute (with padding at the end) */
+         rta_length = RTA_LENGTH(data_length);
+ 
+         /* get the new message size (with padding at the end) */
+-        message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length);
++        message_length = offset + RTA_ALIGN(rta_length);
+ 
+         /* realloc to fit the new attribute */
+         new_hdr = realloc(m->hdr, message_length);
+@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data,
+         m->hdr = new_hdr;
+ 
+         /* get pointer to the attribute we are about to add */
+-        rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len);
++        rta = (struct rtattr *) ((uint8_t *) m->hdr + offset);
+ 
+         /* if we are inside containers, extend them */
+         for (i = 0; i < m->n_containers; i++)
+-                GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len;
++                GET_CONTAINER(m, i)->rta_len += message_length - offset;
+ 
+         /* fill in the attribute */
+         rta->rta_type = type;
+         rta->rta_len = rta_length;
+-        if (!data) {
+-                /* this is the start of a new container */
+-                m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len;
+-        } else {
++        if (data)
+                 /* we don't deal with the case where the user lies about the type
+                  * and gives us too little data (so don't do that)
+-                */
++                 */
+                 padding = mempcpy(RTA_DATA(rta), data, data_length);
+-                /* make sure also the padding at the end of the message is initialized */
+-                memzero(padding,
+-                        (uint8_t *) m->hdr + message_length - (uint8_t *) padding);
++        else {
++                /* if no data was passed, make sure we still initialize the padding
++                   note that we can have data_length > 0 (used by some containers) */
++                padding = RTA_DATA(rta);
++                data_length = 0;
+         }
+ 
++        /* make sure also the padding at the end of the message is initialized */
++        padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding;
++        memzero(padding, padding_length);
++
+         /* update message size */
+         m->hdr->nlmsg_len = message_length;
+ 
+-        return 0;
++        return offset;
+ }
+ 
+ int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) {
+@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) {
+ 
+         assert_return(m, -EINVAL);
+         assert_return(!m->sealed, -EPERM);
++        assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE);
+ 
+         sd_rtnl_message_get_type(m, &rtm_type);
+ 
++        int r = -ENOTSUP;
++
+         if (rtnl_message_type_is_link(rtm_type)) {
+ 
+                 if ((type == IFLA_LINKINFO && m->n_containers == 0) ||
+                     (type == IFLA_INFO_DATA && m->n_containers == 1 &&
+                      GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO))
+-                        return add_rtattr(m, type, NULL, 0);
++                        r = add_rtattr(m, type, NULL, 0);
+                 else if (type == VETH_INFO_PEER && m->n_containers == 2 &&
+                          GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA &&
+                          GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)
+-                        return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
++                        r=  add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
+         }
+ 
+-        return -ENOTSUP;
++        if (r < 0) return r;
++
++        m->container_offsets[m->n_containers ++] = r;
++
++        return 0;
+ }
+ 
+ int sd_rtnl_message_close_container(sd_rtnl_message *m) {
+diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
+index ba1b04d..85b1e40 100644
+--- a/src/libudev/libudev-monitor.c
++++ b/src/libudev/libudev-monitor.c
+@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
+ 
+ /* we consider udev running when /dev is on devtmpfs */
+ static bool udev_has_devtmpfs(struct udev *udev) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+         int mount_id;
+         _cleanup_fclose_ FILE *f = NULL;
+         char line[LINE_MAX], *e;
+         int r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0);
++        r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0);
+         if (r < 0)
+                 return false;
+ 
+diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
+index e1cf897..57f619d 100644
+--- a/src/login/70-uaccess.rules
++++ b/src/login/70-uaccess.rules
+@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end"
+ SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
+ 
+ # Digicams with proprietary protocol
+-ENV{ID_GPHOTO2}=="*?", TAG+="uaccess"
++ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
+ 
+ # SCSI and USB scanners
+ ENV{libsane_matched}=="yes", TAG+="uaccess"
+@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess"
+ SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
+ 
+ # smart-card readers
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
+ 
+ # (USB) authentication devices
+-ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess"
++ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
+ 
+ # PDA devices
+-ENV{ID_PDA}=="*?", TAG+="uaccess"
++ENV{ID_PDA}=="?*", TAG+="uaccess"
+ 
+ # Programmable remote control
+ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+ SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
+ 
+ # color measurement devices
+-ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess"
++ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # DDC/CI device, usually high-end monitors such as the DreamColor
+-ENV{DDC_DEVICE}=="*?", TAG+="uaccess"
++ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # media player raw devices (for user-mode drivers, Android SDK, etc.)
+ SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
+diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
+index dc86f0f..4bbeb64 100644
+--- a/src/login/logind-acl.c
++++ b/src/login/logind-acl.c
+@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev,
+ 
+                 log_debug("Fixing up ACLs at %s for seat %s", n, seat);
+                 k = devnode_acl(n, flush, del, old_uid, add, new_uid);
+-                if (k < 0)
++                if (k == -ENOENT)
++                        log_debug("Device %s disappeared while setting ACLs", n);
++                else if (k < 0)
+                         r = k;
+         }
+ 
+diff --git a/src/login/logind-action.c b/src/login/logind-action.c
+index 1928f43..d69c7ad 100644
+--- a/src/login/logind-action.c
++++ b/src/login/logind-action.c
+@@ -79,14 +79,12 @@ int manager_handle_action(
+                         return 0;
+                 }
+ 
+-                /* If we have more than one or no displays connected,
+-                 * don't react to lid closing. The no display case we
+-                 * treat like this under the assumption that there is
+-                 * no modern drm driver available. */
++                /* If we have more than one display connected,
++                 * don't react to lid closing. */
+                 n = manager_count_displays(m);
+                 if (n < 0)
+                         log_warning("Display counting failed: %s", strerror(-n));
+-                else if (n != 1) {
++                else if (n > 1) {
+                         log_debug("Ignoring lid switch request, %i displays connected.", n);
+                         return 0;
+                 }
+diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
+index 3f5efdc..1ee6ced 100644
+--- a/src/login/logind-seat.c
++++ b/src/login/logind-seat.c
+@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
+         if (!num)
+                 return -EINVAL;
+ 
+-        if (num >= s->position_count || !s->positions[num])
++        if (num >= s->position_count || !s->positions[num]) {
++                /* allow switching to unused VTs to trigger auto-activate */
++                if (seat_has_vts(s) && num < 64)
++                        return chvt(num);
++
+                 return -EINVAL;
++        }
+ 
+         return session_activate(s->positions[num]);
+ }
+diff --git a/src/login/logind-session.c b/src/login/logind-session.c
+index 4ca6b5d..02a780d 100644
+--- a/src/login/logind-session.c
++++ b/src/login/logind-session.c
+@@ -213,7 +213,6 @@ int session_save(Session *s) {
+ 
+         if (s->scope)
+                 fprintf(f, "SCOPE=%s\n", s->scope);
+-
+         if (s->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", s->scope_job);
+ 
+@@ -229,17 +228,54 @@ int session_save(Session *s) {
+         if (s->display)
+                 fprintf(f, "DISPLAY=%s\n", s->display);
+ 
+-        if (s->remote_host)
+-                fprintf(f, "REMOTE_HOST=%s\n", s->remote_host);
++        if (s->remote_host) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_host);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_HOST=%s\n", escaped);
++        }
++
++        if (s->remote_user) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_user);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_USER=%s\n", escaped);
++        }
++
++        if (s->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->remote_user)
+-                fprintf(f, "REMOTE_USER=%s\n", s->remote_user);
++                escaped = cescape(s->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
+ 
+-        if (s->service)
+-                fprintf(f, "SERVICE=%s\n", s->service);
++        if (s->desktop) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->desktop)
+-                fprintf(f, "DESKTOP=%s\n", s->desktop);
++
++                escaped = cescape(s->desktop);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "DESKTOP=%s\n", escaped);
++        }
+ 
+         if (s->seat && seat_has_vts(s->seat))
+                 fprintf(f, "VTNR=%u\n", s->vtnr);
+@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) {
+         if (vt < 0)
+                 return;
+ 
++        r = fchown(vt, s->user->uid, -1);
++        if (r < 0)
++                goto error;
++
+         r = ioctl(vt, KDSKBMODE, K_OFF);
+         if (r < 0)
+                 goto error;
+@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) {
+         mode.mode = VT_AUTO;
+         ioctl(vt, VT_SETMODE, &mode);
+ 
++        fchown(vt, 0, -1);
++
+         s->vtfd = safe_close(s->vtfd);
+ }
+ 
+diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
+index b96d32d..b8e90f1 100644
+--- a/src/login/org.freedesktop.login1.policy.in
++++ b/src/login/org.freedesktop.login1.policy.in
+@@ -254,7 +254,7 @@
+                 <defaults>
+                         <allow_any>auth_admin_keep</allow_any>
+                         <allow_inactive>auth_admin_keep</allow_inactive>
+-                        <allow_active>auth_admin_keep</allow_active>
++                        <allow_active>yes</allow_active>
+                 </defaults>
+                 <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.hibernate</annotate>
+         </action>
+diff --git a/src/login/pam-module.c b/src/login/pam-module.c
+index 9873dd5..1259457 100644
+--- a/src/login/pam-module.c
++++ b/src/login/pam-module.c
+@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+         }
+ 
+         if (session_fd >= 0) {
+-                session_fd = dup(session_fd);
++                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
+                 if (session_fd < 0) {
+                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
+                         return PAM_SESSION_ERR;
+diff --git a/src/machine/machine.c b/src/machine/machine.c
+index 9a5cc9a..de701ad 100644
+--- a/src/machine/machine.c
++++ b/src/machine/machine.c
+@@ -123,17 +123,42 @@ int machine_save(Machine *m) {
+                 "NAME=%s\n",
+                 m->name);
+ 
+-        if (m->unit)
+-                fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        if (m->unit) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->unit);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        }
+ 
+         if (m->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", m->scope_job);
+ 
+-        if (m->service)
+-                fprintf(f, "SERVICE=%s\n", m->service);
++        if (m->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (m->root_directory)
+-                fprintf(f, "ROOT=%s\n", m->root_directory);
++                escaped = cescape(m->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
++
++        if (m->root_directory) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->root_directory);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "ROOT=%s\n", escaped);
++        }
+ 
+         if (!sd_id128_equal(m->id, SD_ID128_NULL))
+                 fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id));
+@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) {
+         if (!m->unit)
+                 return 0;
+ 
+-        r = manager_stop_unit(m->manager, m->unit, &error, &job);
+-        if (r < 0) {
+-                log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
+-                return r;
++        if (!m->registered) {
++                r = manager_stop_unit(m->manager, m->unit, &error, &job);
++                if (r < 0) {
++                        log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
++                        return r;
++                }
+         }
+ 
+         free(m->scope_job);
+         m->scope_job = job;
+ 
+-        return r;
++        return 0;
+ }
+ 
+ int machine_stop(Machine *m) {
+@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) {
+ 
+                 if (kill(m->leader, signo) < 0)
+                         return -errno;
++
++                return 0;
+         }
+ 
+         /* Otherwise make PID 1 do it for us, for the entire cgroup */
+diff --git a/src/machine/machine.h b/src/machine/machine.h
+index f4aefc5..de3536d 100644
+--- a/src/machine/machine.h
++++ b/src/machine/machine.h
+@@ -72,6 +72,7 @@ struct Machine {
+ 
+         bool in_gc_queue:1;
+         bool started:1;
++        bool registered:1;
+ 
+         sd_bus_message *create_message;
+ 
+diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
+index 9473105..154a335 100644
+--- a/src/machine/machined-dbus.c
++++ b/src/machine/machined-dbus.c
+@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m
+         m->leader = leader;
+         m->class = c;
+         m->id = id;
++        m->registered = true;
+ 
+         if (!isempty(service)) {
+                 m->service = strdup(service);
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 9a9ed9d..9e46e18 100644
+index 9a9ed9d..c3e6d23 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) {
+@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
+         return 0;
+ }
+ 
++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
++
++        snprintf(s, 37,
++                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
++                 SD_ID128_FORMAT_VAL(id));
++
++        return s;
++}
++
+ static int setup_boot_id(const char *dest) {
+         _cleanup_free_ char *from = NULL, *to = NULL;
+         sd_id128_t rnd = {};
+@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
+                 return r;
+         }
+ 
+-        snprintf(as_uuid, sizeof(as_uuid),
+-                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+-                 SD_ID128_FORMAT_VAL(rnd));
+-        char_array_0(as_uuid);
++        id128_format_as_uuid(rnd, as_uuid);
+ 
+         r = write_string_file(from, as_uuid);
+         if (r < 0) {
+@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) {
+         _cleanup_fclose_ FILE *f = NULL;
+         _cleanup_close_ int fd = -1;
+         unsigned n_uids = 0;
+-        size_t sz, l;
++        size_t sz = 0, l;
+         uid_t uid;
+         gid_t gid;
+         pid_t pid;
+@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
                          }
                  } else {
@@ -143,7 +1592,7 @@ index 9a9ed9d..9e46e18 100644
                          const char *p;
  
                          p = strappenda(arg_directory,
-@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) {
+@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
  
                          }
@@ -151,6 +1600,46 @@ index 9a9ed9d..9e46e18 100644
                  }
          } else {
                  char template[] = "/tmp/nspawn-root-XXXXXX";
+@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) {
+                 goto finish;
+         }
+ 
+-        sd_notify(0, "READY=1");
+-
+         assert_se(sigemptyset(&mask) == 0);
+         sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
+         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) {
+                         }
+ 
+                         if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
+-                                if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
++                                char as_uuid[37];
++
++                                if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
+                                         log_oom();
+                                         goto child_fail;
+                                 }
+@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) {
+                 if (r < 0)
+                         goto finish;
+ 
++                sd_notify(0, "READY=1");
++
+                 /* Notify the child that the parent is ready with all
+                  * its setup, and thtat the child can now hand over
+                  * control to the code to run inside the container. */
+@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) {
+ 
+                         if (!arg_quiet)
+                                 log_info("Container %s is being rebooted.", arg_machine);
++                        if (getenv("EXIT_ON_REBOOT") != 0) {
++                                r = 10;
++                                break;
++                        }
+                         continue;
+                 } else if (status.si_code == CLD_KILLED ||
+                            status.si_code == CLD_DUMPED) {
 diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
 index d61ecdf..228a3a4 100644
 --- a/src/nss-myhostname/netlink.c
@@ -166,6 +1655,88 @@ index d61ecdf..228a3a4 100644
                  if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
                          continue;
  
+diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
+index 059b904..9a19a10 100644
+--- a/src/python-systemd/_reader.c
++++ b/src/python-systemd/_reader.c
+@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
+         sd_id128_t id;
+         _cleanup_free_ char *msg = NULL;
+ 
+-        assert(!self);
+         assert(args);
+ 
+         if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
+diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
+index 9c7e004..dd1f229 100644
+--- a/src/python-systemd/journal.py
++++ b/src/python-systemd/journal.py
+@@ -293,7 +293,7 @@ class Reader(_Reader):
+             monotonic = monotonic.totalseconds()
+         monotonic = int(monotonic * 1000000)
+         if isinstance(bootid, _uuid.UUID):
+-            bootid = bootid.get_hex()
++            bootid = bootid.hex
+         return super(Reader, self).seek_monotonic(monotonic, bootid)
+ 
+     def log_level(self, level):
+@@ -314,7 +314,7 @@ class Reader(_Reader):
+         Equivalent to add_match(MESSAGE_ID=`messageid`).
+         """
+         if isinstance(messageid, _uuid.UUID):
+-            messageid = messageid.get_hex()
++            messageid = messageid.hex
+         self.add_match(MESSAGE_ID=messageid)
+ 
+     def this_boot(self, bootid=None):
+@@ -346,7 +346,7 @@ class Reader(_Reader):
+ 
+ def get_catalog(mid):
+     if isinstance(mid, _uuid.UUID):
+-        mid = mid.get_hex()
++        mid = mid.hex
+     return _get_catalog(mid)
+ 
+ def _make_line(field, value):
+diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
+index 5ffa88b..49679fc 100644
+--- a/src/readahead/readahead-common.c
++++ b/src/readahead/readahead-common.c
+@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) {
+         if (major(st.st_dev) == 0) {
+                 _cleanup_fclose_ FILE *f = NULL;
+                 int mount_id;
+-                struct file_handle *h;
++                union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+ 
+                 /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd.
+                  *
+@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) {
+                  * and then lookup the mount ID in mountinfo to find
+                  * the mount options. */
+ 
+-                h = alloca(MAX_HANDLE_SZ);
+-                h->handle_bytes = MAX_HANDLE_SZ;
+-                r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW);
++                r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW);
+                 if (r < 0)
+                         return false;
+ 
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index d27b1b7..905a2e1 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -336,8 +336,8 @@ int config_parse(const char *unit,
+         if (!f) {
+                 f = ours = fopen(filename, "re");
+                 if (!f) {
+-                        log_error("Failed to open configuration file '%s': %m", filename);
+-                        return -errno;
++                        log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
++                        return errno == ENOENT ? 0 : -errno;
+                 }
+         }
+ 
 diff --git a/src/shared/generator.c b/src/shared/generator.c
 index 6110303..e679cb1 100644
 --- a/src/shared/generator.c
@@ -179,10 +1750,359 @@ index 6110303..e679cb1 100644
                  r = access(checker, X_OK);
                  if (r < 0) {
                          log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
+diff --git a/src/shared/install.c b/src/shared/install.c
+index 7409046..4517c9c 100644
+--- a/src/shared/install.c
++++ b/src/shared/install.c
+@@ -560,7 +560,7 @@ int unit_file_mask(
+                 unsigned *n_changes) {
+ 
+         char **i;
+-        _cleanup_free_ char *prefix;
++        _cleanup_free_ char *prefix = NULL;
+         int r;
+ 
+         assert(scope >= 0);
+diff --git a/src/shared/log.c b/src/shared/log.c
+index a4b3b68..890a9fa 100644
+--- a/src/shared/log.c
++++ b/src/shared/log.c
+@@ -878,6 +878,9 @@ void log_parse_environment(void) {
+                         if (l == 5 && startswith(w, "debug")) {
+                                 log_set_max_level(LOG_DEBUG);
+                                 break;
++                        } else if (l == 5 && startswith(w, "quiet")) {
++                                log_set_max_level(LOG_WARNING);
++                                break;
+                         }
+                 }
+         }
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index 9d14933..b0b66f6 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -547,7 +547,9 @@ static int output_export(
+                     startswith(data, "_BOOT_ID="))
+                         continue;
+ 
+-                if (!utf8_is_printable(data, length)) {
++                if (utf8_is_printable_newline(data, length, false))
++                        fwrite(data, length, 1, f);
++                else {
+                         const char *c;
+                         uint64_t le64;
+ 
+@@ -562,8 +564,7 @@ static int output_export(
+                         le64 = htole64(length - (c - (const char*) data) - 1);
+                         fwrite(&le64, sizeof(le64), 1, f);
+                         fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
+-                } else
+-                        fwrite(data, length, 1, f);
++                }
+ 
+                 fputc('\n', f);
+         }
+diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
+index 6c167b4..d0e71f2 100644
+--- a/src/shared/unit-name.c
++++ b/src/shared/unit-name.c
+@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
+ }
+ 
+ bool unit_name_is_template(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] == '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e == p + 1;
+ }
+ 
+ bool unit_name_is_instance(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] != '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e > p + 1;
+ }
+ 
+ char *unit_name_replace_instance(const char *f, const char *i) {
+diff --git a/src/shared/utf8.c b/src/shared/utf8.c
+index 0b524d8..c559c13 100644
+--- a/src/shared/utf8.c
++++ b/src/shared/utf8.c
+@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
+         return unichar;
+ }
+ 
+-bool utf8_is_printable(const char* str, size_t length) {
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
+         const uint8_t *p;
+ 
+         assert(str);
+@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
+                 int encoded_len = utf8_encoded_valid_unichar((const char *)p);
+                 int val = utf8_encoded_to_unichar((const char*)p);
+ 
+-                if (encoded_len < 0 || val < 0 || is_unicode_control(val))
++                if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
++                    (!newline && val == '\n'))
+                         return false;
+ 
+                 length -= encoded_len;
+diff --git a/src/shared/utf8.h b/src/shared/utf8.h
+index c0eb73a..c087995 100644
+--- a/src/shared/utf8.h
++++ b/src/shared/utf8.h
+@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
+ char *ascii_is_valid(const char *s) _pure_;
+ char *utf8_escape_invalid(const char *s);
+ 
+-bool utf8_is_printable(const char* str, size_t length) _pure_;
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
++        return utf8_is_printable_newline(str, length, true);
++}
+ 
+ char *utf16_to_utf8(const void *s, size_t length);
+ 
+diff --git a/src/shared/util.c b/src/shared/util.c
+index ffe6624..2a2b2b2 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -166,19 +166,19 @@ int close_nointr(int fd) {
+ 
+         assert(fd >= 0);
+         r = close(fd);
+-
+-        /* Just ignore EINTR; a retry loop is the wrong
+-         * thing to do on Linux.
+-         *
+-         * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
+-         * https://bugzilla.gnome.org/show_bug.cgi?id=682819
+-         * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
+-         * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
+-         */
+-        if (_unlikely_(r < 0 && errno == EINTR))
+-                return 0;
+-        else if (r >= 0)
++        if (r >= 0)
+                 return r;
++        else if (errno == EINTR)
++                /*
++                 * Just ignore EINTR; a retry loop is the wrong
++                 * thing to do on Linux.
++                 *
++                 * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
++                 * https://bugzilla.gnome.org/show_bug.cgi?id=682819
++                 * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
++                 * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
++                 */
++                return 0;
+         else
+                 return -errno;
+ }
+@@ -195,7 +195,13 @@ int safe_close(int fd) {
+ 
+         if (fd >= 0) {
+                 PROTECT_ERRNO;
+-                assert_se(close_nointr(fd) == 0);
++
++                /* The kernel might return pretty much any error code
++                 * via close(), but the fd will be closed anyway. The
++                 * only condition we want to check for here is whether
++                 * the fd was invalid at all... */
++
++                assert_se(close_nointr(fd) != -EBADF);
+         }
+ 
+         return -1;
+@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) {
+         assert(filename);
+ 
+         if (endswith(filename, "~"))
+-                return false;
++                return true;
+ 
+         return ignore_file_allow_backup(filename);
+ }
+@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) {
+         static const char table[] =
+                 "cifs\0"
+                 "smbfs\0"
++                "sshfs\0"
+                 "ncpfs\0"
+                 "ncp\0"
+                 "nfs\0"
+@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
+                 if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0)
+                         return -ETIMEDOUT;
+ 
++        errno = 0;
+         if (!fgets(line, sizeof(line), f))
+-                return -EIO;
++                return errno ? -errno : -EIO;
+ 
+         truncate_nl(line);
+ 
+@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) {
+                 if (*t > 0 && *t < ' ')
+                         return false;
+ 
++                if (*t == 127)
++                        return false;
++
+                 if (strchr("\\\"\'", *t))
+                         return false;
+         }
+@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) {
+ 
+         assert(p);
+ 
+-        for (t = p; *t; t++)
++        for (t = p; *t; t++) {
+                 if (*t > 0 && *t < ' ' && *t != '\t')
+                         return true;
+ 
++                if (*t == 127)
++                        return true;
++        }
++
+         return false;
+ }
+ 
+@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) {
+                 s -= 16;
+         }
+ }
++
++int update_reboot_param_file(const char *param)
++{
++        int r = 0;
++
++        if (param) {
++
++                r = write_string_file(REBOOT_PARAM_FILE, param);
++                if (r < 0)
++                        log_error("Failed to write reboot param to "
++                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        } else
++                unlink(REBOOT_PARAM_FILE);
++
++        return r;
++}
+diff --git a/src/shared/util.h b/src/shared/util.h
+index 90464c9..122ac91 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -22,6 +22,7 @@
+ ***/
+ 
+ #include <alloca.h>
++#include <fcntl.h>
+ #include <inttypes.h>
+ #include <time.h>
+ #include <sys/time.h>
+@@ -922,3 +923,10 @@ uint64_t physical_memory(void);
+ char* mount_test_option(const char *haystack, const char *needle);
+ 
+ void hexdump(FILE *f, const void *p, size_t s);
++
++union file_handle_union {
++        struct file_handle handle;
++        char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
++};
++
++int update_reboot_param_file(const char *param);
+diff --git a/src/shared/virt.c b/src/shared/virt.c
+index ec2ddcf..f03e790 100644
+--- a/src/shared/virt.c
++++ b/src/shared/virt.c
+@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) {
+ 
+ /* Returns a short identifier for the various VM implementations */
+ int detect_vm(const char **id) {
+-        _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
++        _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
+         static thread_local int cached_found = -1;
+         static thread_local const char *cached_id = NULL;
+         const char *_id = NULL;
+@@ -163,17 +163,37 @@ int detect_vm(const char **id) {
+                 return cached_found;
+         }
+ 
+-        /* Try high-level hypervisor sysfs file first:
++        /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
+          *
+-         * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
+-        r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++         * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
++        r = read_one_line_file("/proc/xen/capabilities", &domcap);
+         if (r >= 0) {
+-                if (streq(hvtype, "xen")) {
++                char *cap, *i = domcap;
++
++                while ((cap = strsep(&i, ",")))
++                        if (streq(cap, "control_d"))
++                                break;
++
++                if (!i)  {
+                         _id = "xen";
+                         r = 1;
+-                        goto finish;
+                 }
+-        } else if (r != -ENOENT)
++
++                goto finish;
++
++        } else if (r == -ENOENT) {
++                _cleanup_free_ char *hvtype = NULL;
++
++                r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++                if (r >= 0) {
++                        if (streq(hvtype, "xen")) {
++                                _id = "xen";
++                                r = 1;
++                                goto finish;
++                        }
++                } else if (r != -ENOENT)
++                        return r;
++        } else
+                 return r;
+ 
+         /* this will set _id to "other" and return 0 for unknown hypervisors */
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 0887bc3..6b502ce 100644
+index 0887bc3..d02ee2b 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
+@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
+                 }
+ 
+                 if (circle_len > 0)
+-                        printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : "  ", off_circle);
++                        printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle);
+ 
+                 printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s",
+                        on_active, id_len, id, off_active,
 @@ -2561,7 +2561,7 @@ static int start_unit_one(
  
                  log_debug("Adding %s to the set", p);
@@ -192,6 +2112,523 @@ index 0887bc3..6b502ce 100644
                          return log_oom();
          }
  
+@@ -4240,7 +4240,7 @@ static int show_all(
+         _cleanup_free_ UnitInfo *unit_infos = NULL;
+         const UnitInfo *u;
+         unsigned c;
+-        int r;
++        int r, ret = 0;
+ 
+         r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply);
+         if (r < 0)
+@@ -4262,9 +4262,11 @@ static int show_all(
+                 r = show_one(verb, bus, p, show_properties, new_line, ellipsized);
+                 if (r < 0)
+                         return r;
++                else if (r > 0 && ret == 0)
++                        ret = r;
+         }
+ 
+-        return 0;
++        return ret;
+ }
+ 
+ static int show_system_status(sd_bus *bus) {
+@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) {
+                                 }
+                         }
+ 
+-                        show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                        r = show_one(args[0], bus, unit, show_properties,
++                                     &new_line, &ellipsized);
++                        if (r < 0)
++                                return r;
++                        else if (r > 0 && ret == 0)
++                                ret = r;
+                 }
+ 
+                 if (!strv_isempty(patterns)) {
+@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) {
+                                 if (!unit)
+                                         return log_oom();
+ 
+-                                show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                                r = show_one(args[0], bus, unit, show_properties,
++                                             &new_line, &ellipsized);
++                                if (r < 0)
++                                        return r;
++                                else if (r > 0 && ret == 0)
++                                        ret = r;
+                         }
+                 }
+         }
+@@ -5403,15 +5415,15 @@ static int systemctl_help(void) {
+                "                                  otherwise restart if active\n"
+                "  isolate NAME                    Start one unit and stop all others\n"
+                "  kill NAME...                    Send signal to processes of a unit\n"
+-               "  is-active NAME...               Check whether units are active\n"
+-               "  is-failed NAME...               Check whether units are failed\n"
+-               "  status [NAME...|PID...]         Show runtime status of one or more units\n"
+-               "  show [NAME...|JOB...]           Show properties of one or more\n"
++               "  is-active PATTERN...            Check whether units are active\n"
++               "  is-failed PATTERN...            Check whether units are failed\n"
++               "  status [PATTERN...|PID...]      Show runtime status of one or more units\n"
++               "  show [PATTERN...|JOB...]        Show properties of one or more\n"
+                "                                  units/jobs or the manager\n"
+-               "  cat NAME...                     Show files and drop-ins of one or more units\n"
++               "  cat PATTERN...                  Show files and drop-ins of one or more units\n"
+                "  set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
+-               "  help NAME...|PID...             Show manual for one or more units\n"
+-               "  reset-failed [NAME...]          Reset failed state for all, one, or more\n"
++               "  help PATTERN...|PID...          Show manual for one or more units\n"
++               "  reset-failed [PATTERN...]       Reset failed state for all, one, or more\n"
+                "                                  units\n"
+                "  list-dependencies [NAME]        Recursively show units which are required\n"
+                "                                  or wanted by this unit or by which this\n"
+@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        if (arg_action == ACTION_REBOOT && argc == optind + 1) {
+-                r = write_string_file(REBOOT_PARAM_FILE, argv[optind]);
+-                if (r < 0) {
+-                        log_error("Failed to write reboot param to "
+-                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) {
++                r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL);
++                if (r < 0)
+                         return r;
+-                }
+         } else if (optind < argc) {
+                 log_error("Too many arguments.");
+                 return -EINVAL;
+diff --git a/src/test/test-udev.c b/src/test/test-udev.c
+index b064744..b057cc8 100644
+--- a/src/test/test-udev.c
++++ b/src/test/test-udev.c
+@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
+-        if (err == 0)
+-                udev_event_execute_run(event, NULL);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_run(event, NULL);
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+                 close(event->fd_signal);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 33e7cbc..04b472d 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) {
+ }
+ 
+ static int dir_is_mount_point(DIR *d, const char *subdir) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ };
+         int mount_id_parent, mount_id;
+         int r_p, r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
++        r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0);
+         if (r_p < 0)
+                 r_p = -errno;
+ 
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
++        h.handle.handle_bytes = MAX_HANDLE_SZ;
++        r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0);
+         if (r < 0)
+                 r = -errno;
+ 
+diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
+index 1d067af..3203474 100644
+--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
+@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
+ 
+         r = get_ctty_devnr(0, &devnr);
+         if (r < 0)
+-                return -r;
++                return r;
+ 
+         if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
+                 return -ENOMEM;
+diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
+index 925d38d..32adf27 100644
+--- a/src/udev/accelerometer/accelerometer.c
++++ b/src/udev/accelerometer/accelerometer.c
+@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev)
+         return string_to_orientation(value);
+ }
+ 
+-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
++#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; }
+ 
+ /* accelerometers */
+ static void test_orientation(struct udev *udev,
+@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev,
+ {
+         OrientationUp old, new;
+         _cleanup_close_ int fd = -1;
+-        struct input_event ev[64];
+-        bool got_syn = false;
+-        bool got_x = false, got_y = false, got_z = false;
++        struct input_absinfo abs_info;
+         int x = 0, y = 0, z = 0;
++        int r;
+         char text[64];
+ 
+         old = get_prev_orientation(dev);
+@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev,
+         if (fd < 0)
+                 return;
+ 
+-        while (1) {
+-                int i, r;
+-
+-                r = read(fd, ev, sizeof(struct input_event) * 64);
+-
+-                if (r < (int) sizeof(struct input_event))
+-                        return;
+-
+-                for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
+-                        if (got_syn) {
+-                                if (ev[i].type == EV_ABS) {
+-                                        SET_AXIS(x, ABS_X);
+-                                        SET_AXIS(y, ABS_Y);
+-                                        SET_AXIS(z, ABS_Z);
+-                                }
+-                        }
+-                        if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
+-                                got_syn = true;
+-                        if (got_x && got_y && got_z)
+-                                goto read_dev;
+-                }
+-        }
++        READ_AXIS(ABS_X, x);
++        READ_AXIS(ABS_Y, y);
++        READ_AXIS(ABS_Z, z);
+ 
+-read_dev:
+         new = orientation_calc(old, x, y, z);
+         snprintf(text, sizeof(text),
+                  "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index 5bb6b02..b31ad80 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -184,7 +184,7 @@ failure:
+ }
+ 
+ static bool enable_name_policy(void) {
+-        _cleanup_free_ char *line;
++        _cleanup_free_ char *line = NULL;
+         char *w, *state;
+         int r;
+         size_t l;
+@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_PERSISTENT:
+                         if (!mac_is_permanent(device)) {
+                                 r = get_mac(device, false, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_RANDOM:
+                         if (!mac_is_random(device)) {
+                                 r = get_mac(device, true, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 5998be2..5213a4a 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event)
+                 log_error("error changing net interface name %s to %s: %s",
+                           oldname, name, strerror(-r));
+         else
+-                print_kmsg("renamed network interface %s to %s", oldname, name);
++                print_kmsg("renamed network interface %s to %s\n", oldname, name);
+ 
+         return r;
+ }
+ 
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+ {
+         struct udev_device *dev = event->dev;
+-        int err = 0;
+ 
+         if (udev_device_get_subsystem(dev) == NULL)
+-                return -1;
++                return;
+ 
+         if (streq(udev_device_get_action(dev), "remove")) {
+                 udev_device_read_db(dev, NULL);
+@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                     event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
+                         char syspath[UTIL_PATH_SIZE];
+                         char *pos;
++                        int r;
+ 
+-                        err = rename_netif(event);
+-                        if (err == 0) {
++                        r = rename_netif(event);
++                        if (r >= 0) {
+                                 log_debug("renamed netif to '%s'", event->name);
+ 
+                                 /* remember old name */
+@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                 udev_device_unref(event->dev_db);
+                 event->dev_db = NULL;
+         }
+-        return err;
+ }
+ 
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 2630264..17f47f2 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         struct stat stats;
+ 
+                         /* we assure, that the permissions tokens are sorted before the static token */
++
+                         if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
+                                 goto next;
+ 
+                         strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
++                        if (stat(device_node, &stats) != 0)
++                                break;
++                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
++                                break;
+ 
+                         /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
+                         if (tags) {
+@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         if (mode == 0 && uid == 0 && gid == 0)
+                                 break;
+ 
+-                        if (stat(device_node, &stats) != 0)
+-                                break;
+-                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
+-                                break;
+-
+                         if (mode == 0) {
+                                 if (gid > 0)
+                                         mode = 0660;
+diff --git a/src/udev/udev.h b/src/udev/udev.h
+index 936adfb..62538bc 100644
+--- a/src/udev/udev.h
++++ b/src/udev/udev.h
+@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
+ int udev_event_spawn(struct udev_event *event,
+                      const char *cmd, char **envp, const sigset_t *sigmask,
+                      char *result, size_t ressize);
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+ int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
+ 
+diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
+index 6cd311b..6a2f548 100644
+--- a/src/udev/udevadm-test.c
++++ b/src/udev/udevadm-test.c
+@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+         _cleanup_udev_device_unref_ struct udev_device *dev = NULL;
+         _cleanup_udev_event_unref_ struct udev_event *event = NULL;
+         sigset_t mask, sigmask_orig;
+-        int err;
+         int rc = 0, c;
+ 
+         static const struct option options[] = {
+@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+                 goto out;
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
+ 
+         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
+                 printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
+ 
+-        if (err == 0) {
+-                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
+-                        char program[UTIL_PATH_SIZE];
++        udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
++                char program[UTIL_PATH_SIZE];
+ 
+-                        udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
+-                        printf("run: '%s'\n", program);
+-                }
++                udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
++                printf("run: '%s'\n", program);
+         }
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index f21c227..93afca1 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -288,10 +288,9 @@ static void worker_new(struct event *event)
+                                 udev_event->exec_delay = exec_delay;
+ 
+                         /* apply rules, create node, symlinks */
+-                        err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
++                        udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ 
+-                        if (err == 0)
+-                                udev_event_execute_run(udev_event, &sigmask_orig);
++                        udev_event_execute_run(udev_event, &sigmask_orig);
+ 
+                         /* apply/restore inotify watch */
+                         if (err == 0 && udev_event->inotify_watch) {
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 0f2b706..645b1e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
+  */
+ static void font_copy_to_all_vcs(int fd) {
+         struct vt_stat vcs = {};
++        unsigned char map8[E_TABSZ];
++        unsigned short map16[E_TABSZ];
++        struct unimapdesc unimapd;
++        struct unipair unipairs[USHRT_MAX];
+         int i, r;
+ 
+         /* get active, and 16 bit mask of used VT numbers */
+@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) {
+                 cfo.op = KD_FONT_OP_COPY;
+                 cfo.height = vcs.v_active-1; /* tty1 == index 0 */
+                 ioctl(vcfd, KDFONTOP, &cfo);
++
++                /* copy map of 8bit chars */
++                if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
++                    ioctl(vcfd, PIO_SCRNMAP, map8);
++
++                /* copy map of 8bit chars -> 16bit Unicode values */
++                if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
++                    ioctl(vcfd, PIO_UNISCRNMAP, map16);
++
++                /* copy unicode translation table */
++                /* unimapd is a ushort count and a pointer to an
++                   array of struct unipair { ushort, ushort } */
++                unimapd.entries  = unipairs;
++                unimapd.entry_ct = USHRT_MAX;
++                if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
++                        struct unimapinit adv = { 0, 0, 0 };
++
++                        ioctl(vcfd, PIO_UNIMAPCLR, &adv);
++                        ioctl(vcfd, PIO_UNIMAP, &unimapd);
++                }
+         }
+ }
+ 
+ int main(int argc, char **argv) {
+         const char *vc;
+-        char *vc_keymap = NULL;
+-        char *vc_keymap_toggle = NULL;
+-        char *vc_font = NULL;
+-        char *vc_font_map = NULL;
+-        char *vc_font_unimap = NULL;
+-        int fd = -1;
++        _cleanup_free_ char
++                *vc_keymap = NULL, *vc_keymap_toggle = NULL,
++                *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
++        _cleanup_close_ int fd = -1;
+         bool utf8;
+         pid_t font_pid = 0, keymap_pid = 0;
+         bool font_copy = false;
+@@ -241,12 +263,12 @@ int main(int argc, char **argv) {
+         fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
+         if (fd < 0) {
+                 log_error("Failed to open %s: %m", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         if (!is_vconsole(fd)) {
+                 log_error("Device %s is not a virtual console.", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         utf8 = is_locale_utf8();
+@@ -281,27 +303,27 @@ int main(int argc, char **argv) {
+         else
+                 disable_utf8(fd);
+ 
+-        r = EXIT_FAILURE;
+-        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+-            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
+-                r = EXIT_SUCCESS;
+-
+-finish:
+-        if (keymap_pid > 0)
+-                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
++        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r));
++                return EXIT_FAILURE;
++        }
+ 
+-        if (font_pid > 0) {
++        if (font_pid > 0)
+                 wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+-                if (font_copy)
+-                        font_copy_to_all_vcs(fd);
++
++        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r));
++                return EXIT_FAILURE;
+         }
+ 
+-        free(vc_keymap);
+-        free(vc_font);
+-        free(vc_font_map);
+-        free(vc_font_unimap);
++        if (keymap_pid > 0)
++                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+ 
+-        safe_close(fd);
++        /* Only copy the font when we started setfont successfully */
++        if (font_copy && font_pid > 0)
++                font_copy_to_all_vcs(fd);
+ 
+-        return r;
++        return EXIT_SUCCESS;
+ }
+diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
+index 7c6d6b9..c470045 100644
+--- a/tmpfiles.d/systemd.conf
++++ b/tmpfiles.d/systemd.conf
+@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
+ d /run/systemd/shutdown 0755 root root -
+ 
+ m /var/log/journal 2755 root systemd-journal - -
+-m /var/log/journal/%m 2755 root systemd-journal - -
++Z /var/log/journal/%m 2755 root systemd-journal - -
+ m /run/log/journal 2755 root systemd-journal - -
+-m /run/log/journal/%m 2755 root systemd-journal - -
++Z /run/log/journal/%m 2755 root systemd-journal - -
 diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
 index 8ac51a4..cae9fb5 100644
 --- a/units/console-getty.service.m4.in
@@ -294,17 +2731,20 @@ index 552ef89..af3915f 100644
  ExecStart=-/sbin/sulogin
  ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
-index 4ac51e7..86a3b59 100644
+index 4ac51e7..96daa5c 100644
 --- a/units/serial-getty@.service.m4
 +++ b/units/serial-getty@.service.m4
-@@ -22,7 +22,6 @@ Before=getty.target
+@@ -22,10 +22,8 @@ Before=getty.target
  IgnoreOnIsolate=yes
  
  [Service]
 -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
  Type=idle
  Restart=always
- RestartSec=0
+-RestartSec=0
+ UtmpIdentifier=%I
+ TTYPath=/dev/%I
+ TTYReset=yes
 diff --git a/units/sysinit.target b/units/sysinit.target
 index 8f4fb8f..e0f0147 100644
 --- a/units/sysinit.target
@@ -354,6 +2794,18 @@ index de93879..c9a49f3 100644
 +# journald to stop logging (see
 +# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
 +X-RestartIfChanged=no
+diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
+index ff36e90..e373628 100644
+--- a/units/systemd-nspawn@.service.in
++++ b/units/systemd-nspawn@.service.in
+@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
+ 
+ [Service]
+ ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
++KillMode=mixed
+ Type=notify
+ 
+ [Install]
 diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
 index 1879b2f..9b895b9 100644
 --- a/units/systemd-random-seed.service.in
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 1dd7c0c089faa..123f8e4354bfd 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }:
 
 stdenv.mkDerivation rec {
-  name = "util-linux-2.24.2";
+  name = "util-linux-2.25.1";
 
   src = fetchurl {
-    url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.24/${name}.tar.xz";
-    sha256 = "1w0g8q5aj5pjdf8l52g0mxyvlk62f4dch51q9jm3hnqwgz0dchqj";
+    url = "mirror://kernel/linux/utils/util-linux/v2.25/${name}.tar.xz";
+    sha256 = "4701305ae22790c3a92ce48e50794fa05b7ee01f4227f419a171c100d08986e8";
   };
 
   crossAttrs = {
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 962aca7775322..a1d7edcd44865 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.25.99.1";
+  name = "xf86-input-wacom-0.26.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "0vjl4m1w6j5j9yr2kw6f66n723ghq5jwxivbdjmacjw6r3ml4l9r";
+    sha256 = "0rjpxr5nl0wxa17npm5zr0x0vkzz9hy3i1l4zfv1x011rbkkbpqm";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 69c0a3dff41c0..6a71994091d0a 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1c03yi19d5h5h78h37add9csmy0mzvvmvn7zkcalwszabdhsb5yk";
   };
 
-  buildInputs = [ cmake python boost libuuid ruby ];
+  buildInputs = [ cmake python boost boost.lib libuuid ruby ];
 
   # the subdir managementgen wants to install python stuff in ${python} and
   # the installation tries to create some folders in /var
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
new file mode 100644
index 0000000000000..d95e929ff824e
--- /dev/null
+++ b/pkgs/servers/computing/torque/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "torque-4.2.8";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2730";
+    sha256 = "1sjpvndzm9ccdmfwdf9887ppmapawfsh5qdkzr92kadg5jxp796j";
+  };
+
+  buildInputs = [ openssl flex bison pkgconfig groff libxml2 utillinux ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+   for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
+     substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
+       --replace "schedprivdir = " "schedprivdir = $out/"
+   done
+
+   for f in $(find ./ -name Makefile.in); do
+     echo patching $f...
+     sed -i $f -e '/PBS_MKDIRS/d'
+   done
+  '';
+
+  postInstall = ''
+    mv $out/sbin/* $out/bin/
+    rmdir $out/sbin
+    cp -v buildutils/pbs_mkdirs $out/bin/
+    cp -v torque.setup $out/bin/
+    chmod +x $out/bin/pbs_mkdirs $out/bin/torque.setup
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.adaptivecomputing.com/products/open-source/torque;
+    description = "Resource management system for submitting and controlling jobs on supercomputers, clusters, and grids";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 5282541e2f9e3..9244ee2f2cf59 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub
+, ruby, rubyLibs, nodejs }:
 
 let
-  version = "0.3.0";
+  version = "0.4.0";
 in
 
+with lib;
 stdenv.mkDerivation {
   name = "consul-${version}";
 
@@ -11,22 +13,44 @@ stdenv.mkDerivation {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ go ruby rubyLibs.sass nodejs ];
+
+  configurePhase = flip concatMapStrings
+    (with rubyLibs; [ execjs json minitest rake rdoc sass uglifier ])
+    (gem: ''
+      export GEM_PATH="$GEM_PATH:${gem}/${ruby.gemPath}"
+    '');
 
   buildPhase = ''
+    # Build consul binary
     export GOPATH=$src
     go build -v -o consul github.com/hashicorp/consul
+
+    # Build ui static files
+    ({
+      cp -r src/github.com/hashicorp/consul/ui .
+      cd ui
+      chmod -R u+w .
+      make dist
+    })
   '';
 
+  outputs = [ "out" "ui" ];
+
   installPhase = ''
-    ensureDir $out/bin
+    # Install consul binary
+    mkdir -p $out/bin
     cp consul $out/bin
+
+    # Install ui static files
+    mkdir -p $ui
+    mv ui/dist/* $ui
   '';
 
   meta = with lib; {
     homepage    = http://www.consul.io/;
     description = "A tool for service discovery, monitoring and configuration";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan wkennington ];
     license     = licenses.mpl20 ;
     platforms   = platforms.unix;
   };
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
index c1ebcf8092881..c6e7cb735fe52 100644
--- a/pkgs/servers/consul/deps.nix
+++ b/pkgs/servers/consul/deps.nix
@@ -3,22 +3,6 @@
 let
   goDeps = [
     {
-      root = "code.google.com/p/go.net";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.net";
-        rev = "134";
-        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
-      };
-    }
-    {
-      root = "code.google.com/p/go.text";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.text";
-        rev = "85";
-        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
-      };
-    }
-    {
       root = "github.com/armon/circbuf";
       src = fetchFromGitHub {
         owner = "armon";
@@ -28,12 +12,30 @@ let
       };
     }
     {
+      root = "github.com/armon/consul-api";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "consul-api";
+        rev = "045662de1042be0662fe4a1e21b57c8f7669261a";
+        sha256 = "1cdf9mpfa97qwzc0nz0788d97xmwh08dsvqmkmijrdm2a6c07q1r";
+      };
+    }
+    {
       root = "github.com/armon/go-metrics";
       src = fetchFromGitHub {
         owner = "armon";
         repo = "go-metrics";
-        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
-        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+        rev = "2b75159ce5d3641fb35b5a159cff309ac3cf4177";
+        sha256 = "1fjsa7r97zlpdzi5l7qvgyabznn5pm6bpwi1rgrwaxh7gc3a28vi";
+      };
+    }
+    {
+      root = "github.com/armon/go-radix";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-radix";
+        rev = "b045fc0ad3587e8620fb42a0dea882cf8c08aef9";
+        sha256 = "1p09dwhngaszbr9si68xl1la74i359l0wibhhirpxrc8q4pgjplx";
       };
     }
     {
@@ -46,21 +48,21 @@ let
       };
     }
     {
-      root = "github.com/armon/mdns";
+      root = "github.com/hashicorp/consul";
       src = fetchFromGitHub {
-        owner = "armon";
-        repo = "mdns";
-        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
-        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+        owner = "hashicorp";
+        repo = "consul";
+        rev = "e1d87dee26c05cea64342fadd2a728894b764aec";
+        sha256 = "0y05pjvvxlamf74s15pcgv48xyd6116m5lyyd7jkh28lb3l2fykf";
       };
     }
     {
-      root = "github.com/hashicorp/consul";
+      root = "github.com/hashicorp/go-checkpoint";
       src = fetchFromGitHub {
         owner = "hashicorp";
-        repo = "consul";
-        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
-        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+        repo = "go-checkpoint";
+        rev = "89ef2a697dd8cdb4623097d5bb9acdb19a470767";
+        sha256 = "0mfykh9jkh1m2zxlm2df4j5i6hd6iq1kc8afjladdhcqyrkwcch0";
       };
     }
     {
@@ -73,6 +75,24 @@ let
       };
     }
     {
+      root = "github.com/hashicorp/golang-lru";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "golang-lru";
+        rev = "4dfff096c4973178c8f35cf6dd1a732a0a139370";
+        sha256 = "16x78183xzk9bjn7il71l3mff3rqjwc88q9fpbj5i65kvl5ws9di";
+      };
+    }
+    {
+      root = "github.com/hashicorp/hcl";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "hcl";
+        rev = "9b5d9eb9b09475889ae49a4a613c60280875b3d1";
+        sha256 = "02x5by78a3bblzqnhl9dm98wz61h0vkk1wcw7mx6480a7qj5jx3m";
+      };
+    }
+    {
       root = "github.com/hashicorp/logutils";
       src = fetchFromGitHub {
         owner = "hashicorp";
@@ -86,8 +106,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "memberlist";
-        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
-        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+        rev = "def5afe3702fce72d72922fb44ef2b8e5608b205";
+        sha256 = "1ch8c160nkqb79ql59vgpnf9kfq2v38xjrprvfv4hmnpmf6yx6i2";
       };
     }
     {
@@ -95,8 +115,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft";
-        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
-        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+        rev = "35f5fa082f5a064595d84715b0cf8821f002e9ac";
+        sha256 = "0s5qhs19n0rxdhsxw77q5sjw4hrkfggxz3w0p3szcd8rsnpfswkg";
       };
     }
     {
@@ -104,8 +124,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft-mdb";
-        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
-        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+        rev = "95d26447c3c54581de2bb102ecc3344079b234bd";
+        sha256 = "1fqf7s2snzbjzxy1k04wdfkqsrxddp6iz72b9hxz9jmgx3l7nl2z";
       };
     }
     {
@@ -113,8 +133,17 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "serf";
-        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
-        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+        rev = "v0.6.3";
+        sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
+      };
+    }
+    {
+      root = "github.com/hashicorp/terraform";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "terraform";
+        rev = "v0.2.2";
+        sha256 = "05hy9vq8b05nxbmm277ll6p7ncjhxifnqii8y1dralz5x3cw27r3";
       };
     }
     {
@@ -140,8 +169,8 @@ let
       src = fetchFromGitHub {
         owner = "miekg";
         repo = "dns";
-        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
-        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+        rev = "5cdb7e11a3f60c88cf2dbce42866e7b42c74b394";
+        sha256 = "0glzs9r2i5vrncb3skdl987mdzqj2w86fqr5aj64lqgp7ghwj6hw";
       };
     }
     {
@@ -149,8 +178,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "cli";
-        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
-        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+        rev = "bfacda5ba006a32b10ddfe2abad56c11661573eb";
+        sha256 = "0lzvsya04nh7m804azanhs28vsk4g8knw3yay2yx4wffikbkjbgk";
       };
     }
     {
@@ -158,8 +187,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "mapstructure";
-        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
-        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+        rev = "740c764bc6149d3f1806231418adb9f52c11bcbf";
+        sha256 = "0rlz93rmz465nr0wmzvq1n58yc0qdw7v1chr6zmj9jj9pix0a7cb";
       };
     }
     {
@@ -167,7 +196,7 @@ let
       src = fetchFromGitHub {
         owner = "ryanuber";
         repo = "columnize";
-        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        rev = "v2.0.1";
         sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
       };
     }
@@ -176,51 +205,8 @@ let
       src = fetchFromGitHub {
         owner = "ugorji";
         repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
-      };
-    }
-    {
-      root = "github.com/ugorji/go-msgpack";
-      src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/bufio";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/msgpack";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
-      };
-    }
-    {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
-      };
-    }
-    {
-      root = "launchpad.net/mgo";
-      src = fetchbzr {
-        url = "https://launchpad.net/mgo";
-        rev = "2";
-        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+        rev = "e906e395b9d45d3230e800c8ad1f92f99764e753";
+        sha256 = "0dqzbxa4ziw10sa5ksl8sfzm0rhrddp6gs732zs9bjkq4rl50j89";
       };
     }
   ];
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
deleted file mode 100644
index d1c04f959cb86..0000000000000
--- a/pkgs/servers/consul/ui.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchzip }:
-
-let
-  version = "0.3.0";
-  meta = with stdenv.lib; {
-    homepage = http://www.consul.io/intro/getting-started/ui.html;
-    description = "The static files for Consul's UI (used via -ui-dir)";
-    maintainers = with maintainers; [ cstrahan ];
-    license = licenses.mpl20 ;
-    platforms = platforms.all;
-  };
-in (fetchzip {
-  name = "consul-ui-${version}";
-  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
-  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
-}) // { inherit meta; }
-
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index 1fb7c24418f0b..ee0477734c2f8 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index c63306e1ff4f8..833aaa95b0ca8 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index 0753df43be54c..dcda4e8c0bb44 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, munge, lua5, libcap, perl, ncurses }:
+{ stdenv, fetchurl, munge, lua, libcap, perl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "diod-${version}";
-  version = "1.0.22";
+  version = "1.0.23";
 
   src = fetchurl {
     url = "https://github.com/chaos/diod/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0h92zadbkq4fjhqjzq17cl3x7bdkz2yakpcl0nccv4ml0gwfbx27";
+    sha256 = "002vxc9fwdwshda4jydxagr63xd6nnhbc6fh73974gi2pvp6gid3";
   };
 
-  buildInputs = [ munge lua5 libcap perl ncurses ];
+  buildInputs = [ munge lua libcap perl ncurses ];
 
   meta = {
     description = "An I/O forwarding server that implements a variant of the 9P protocol";
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 7279aa6d4ef89..f5cf9544b9b42 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -1,4 +1,13 @@
 { config, stdenv, fetchurl, libevent, openssl
+, bind8Stats       ? false
+, checking         ? false
+, ipv6             ? true
+, mmap             ? false
+, minimalResponses ? true
+, nsec3            ? true
+, ratelimit        ? false
+, recvmmsg         ? false
+, rootServer       ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -12,17 +21,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ libevent openssl ];
 
   configureFlags =
-    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
-                                      else map (x: "--disable-${x}") flags;
-     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
-     ++ flag (config.nsd.checking         or false) [ "checking" ]
-     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
-     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
-     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
-     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
-     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
-     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
-     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+    let edf = c: o: if c then ["--enable-${o}"] else ["--disable-${o}"];
+     in edf bind8Stats       "bind8-stats"
+     ++ edf checking         "checking"
+     ++ edf ipv6             "ipv6"
+     ++ edf mmap             "mmap"
+     ++ edf minimalResponses "minimal-responses"
+     ++ edf nsec3            "nsec3"
+     ++ edf ratelimit        "ratelimit"
+     ++ edf recvmmsg         "recvmmsg"
+     ++ edf rootServer       "root-server"
      ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
 
   meta = {
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index e5e2e2215b494..eb9c6846089c2 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
-  version = "2.2.27";
+  version = "2.2.29";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90";
+    sha1 = "1d6a8fbc1391d358cc6fe430edc16222b97258d5";
   };
 
   buildInputs = [perl apr aprutil pcre] ++
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 07dff1cf5855c..7aded47dad181 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, apacheHttpd, python }:
 
-stdenv.mkDerivation {
-  name = "mod_wsgi-3.4";
+stdenv.mkDerivation rec {
+  name = "mod_wsgi-${version}";
+  version = "3.5";
 
   src = fetchurl {
-    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz";
-    sha256 = "1s5nnjssvcl6lzy7kxmrk47yz6sgfzk90i1y7jml0s0lks7ck1df";
+    url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
+    sha256 = "14xz422jlakdhxzsl8xs9if86yf1fnkwdg0havjyqs7my0w4qrzh";
   };
 
   buildInputs = [ apacheHttpd python ];
@@ -17,7 +18,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "http://code.google.com/p/modwsgi/";
+    homepage = http://code.google.com/p/modwsgi/;
     description = "Host Python applications in Apache through the WSGI interface";
     license = stdenv.lib.licenses.asl20;
 
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index b8848f1e5d804..3a1cf6870692c 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boostHeaders }:
+{ stdenv, fetchurl, boost }:
 
 stdenv.mkDerivation rec {
   name = "mini-httpd-1.4";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1i46klkx2ca1cgmlilajkx8gf7b7d7c2sj58llxfllh184pb6cpd";
   };
 
-  buildInputs = [ boostHeaders ];
+  buildInputs = [ boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 903cf038d6e72..e5c9b9b9456fe 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,49 +1,70 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
-, gd, geoip
+{ stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
+, gd, geoip, luajit
 , rtmp ? false
 , fullWebDAV ? false
 , syslog ? false
 , moreheaders ? false
-, echo ? false }:
+, echo ? false
+, ngx_lua ? false }:
 
 with stdenv.lib;
 
 let
-  version = "1.6.1";
+  version = "1.6.2";
   mainSrc = fetchurl {
     url = "http://nginx.org/download/nginx-${version}.tar.gz";
-    sha256 = "0rv0hds8dhanh8fz8qv5jj7p96q4sl158w6aq814dvxfl61fdkzm";
+    sha256 = "060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m";
   };
 
-  rtmp-ext = fetchgit {
-    url = https://github.com/arut/nginx-rtmp-module.git;
-    rev = "8c2229cce5d4d4574e8fb7b130281497f746f0fa";
-    sha256 = "6caea2a13161345c3fc963679730be54cebebddf1406ac7d4ef4ce72ac0b90b0";
+  rtmp-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-rtmp-module";
+    rev = "v1.1.5";
+    sha256 = "1d9ws4prxz22yq3nhh5h18jrs331zivrdh784l6wznc1chg3gphn";
   };
 
-  dav-ext = fetchgit {
-    url = "https://github.com/arut/nginx-dav-ext-module";
-    rev = "89d582d31ab624ff1c6a4cec0c1a52839507b323";
-    sha256 = "2175f83a291347504770d2a4bb5069999e9f7408697bd49464b6b54e994493e1";
+  dav-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-dav-ext-module";
+    rev = "v0.0.3";
+    sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
   };
 
-  syslog-ext = fetchgit {
-    url = https://github.com/yaoweibin/nginx_syslog_patch.git;
-    rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
-    sha256 = "15z9r17lx42fdcw8lalddc86wpabgmc1rqi7f90v4mcirjzrpgyi";
+  syslog-ext = fetchFromGitHub {
+    owner = "yaoweibin";
+    repo = "nginx_syslog_patch";
+    rev = "v0.25";
+    sha256 = "0734f884838wcjyrrddn8wzj834wid1zffrk093jrx18447cryxl";
   };
 
-  moreheaders-ext = fetchgit {
-    url = https://github.com/openresty/headers-more-nginx-module.git;
-    rev = "0c6e05d3125a97892a250e9ba8b7674163ba500b";
-    sha256 = "e121d97fd3c81c64e6cbf6902bbcbdb01be9ac985c6832d40434379d5e998eaf";
+  moreheaders-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "headers-more-nginx-module";
+    rev = "v0.25";
+    sha256 = "1d71y1i0smi4gkzz731fhn58gr03b3s6jz6ipnfzxxaizmgxm3rb";
   };
 
-  echo-ext = fetchgit {
-    url = https://github.com/openresty/echo-nginx-module.git;
-    rev = "refs/tags/v0.53";
-    sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868";
+  echo-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "echo-nginx-module";
+    rev = "v0.56";
+    sha256 = "03vaf1ffhkj2s089f90h45n079h3zw47h6y5zpk752f4ydiagpgd";
   };
+
+  develkit-ext = fetchFromGitHub {
+    owner = "simpl";
+    repo = "ngx_devel_kit";
+    rev = "v0.2.19";
+    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
+  };
+
+  lua-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "lua-nginx-module";
+    rev = "v0.9.12";
+    sha256 = "0r07q1n3nvi7m3l8zk7nfk0z9kjhqknav61ys9lshh2ylsmz1lf4";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -52,7 +73,11 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ openssl zlib pcre libxml2 libxslt gd geoip
-    ] ++ optional fullWebDAV expat;
+    ] ++ optional fullWebDAV expat
+      ++ optional ngx_lua luajit;
+
+  LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
+  LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
 
   patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
 
@@ -83,6 +108,7 @@ stdenv.mkDerivation rec {
     ++ optional syslog "--add-module=${syslog-ext}"
     ++ optional moreheaders "--add-module=${moreheaders-ext}"
     ++ optional echo "--add-module=${echo-ext}"
+    ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
     ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
 
 
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 571cd215356c1..8c878e856b809 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openresty-${version}";
-  version = "1.7.4.1rc1";
+  version = "1.7.4.1rc2";
 
   src = fetchurl {
     url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
-    sha256 = "1j976kmbdv07j3n7bwkpdrjs8hlm13mzzdmfbsfwyxpnk034v0j1";
+    sha256 = "1208snm0g1x2p9ybl8br7mmcl5c4g4xzhm80n5jfjprr85gb7ajx";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
@@ -41,8 +41,12 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mv $out/nginx/sbin $out/bin
-    ln -s $out/bin/nginx $out/bin/openresty
+    mv $out/bin/sbin $out/sbin
+
     mv $out/luajit/bin/luajit-2.1.0-alpha $out/bin/luajit-openresty
+    ln -s $out/sbin/nginx $out/sbin/openresty
+    ln -s $out/sbin/nginx $out/bin/openresty
+    ln -s $out/sbin/nginx $out/bin/nginx
   '';
 
   preConfigure = ''
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index ee0049ce08f69..19f20cc8823ca 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,23 +1,6 @@
-{ stdenv, fetchurl }:
-
-let version = "6.0.39"; in
-
-stdenv.mkDerivation rec {
-  name = "apache-tomcat-${version}";
-
-  src = fetchurl {
-    url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
+import ./recent.nix 
+  {
+    versionMajor = "6";
+    versionMinor = "0.39";
     sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
-  };
-
-  installPhase =
-    ''
-      mkdir $out
-      mv * $out
-    '';
-
-  meta = {
-    homepage = http://tomcat.apache.org/;
-    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
-  };
-}
+  }
diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix
new file mode 100644
index 0000000000000..87bc57eb2b656
--- /dev/null
+++ b/pkgs/servers/http/tomcat/7.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "7";
+    versionMinor = "0.55";
+    sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15";
+  }
diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix
new file mode 100644
index 0000000000000..63b8d2bbc94ee
--- /dev/null
+++ b/pkgs/servers/http/tomcat/8.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "8";
+    versionMinor = "0.9";
+    sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9";
+  }
diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix
new file mode 100644
index 0000000000000..0d11ba7a1046f
--- /dev/null
+++ b/pkgs/servers/http/tomcat/recent.nix
@@ -0,0 +1,24 @@
+{ versionMajor, versionMinor, sha256 }:
+{ stdenv, fetchurl }:
+
+let version = "${versionMajor}.${versionMinor}"; in
+
+stdenv.mkDerivation rec {
+  name = "apache-tomcat-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz";
+    inherit sha256;
+  };
+
+  installPhase =
+    ''
+      mkdir $out
+      mv * $out
+    '';
+
+  meta = {
+    homepage = http://tomcat.apache.org/;
+    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
+  };
+}
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index b37aaca1eaa3d..f27bb009a434e 100644
--- a/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation {
-  name = "ircd-hybrid-7.2.2";
+  name = "ircd-hybrid-7.2.3";
 
   src = fetchurl {
-    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.2.tgz;
-    sha256 = "1xn4dfbgx019mhismfnr2idhslvarlajyahj7c6bqzmarcwwrvck";
+    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.3.tgz;
+    sha256 = "0w28w10vx3j2s6h2p0qx2p08gafyad7ddxa4f8i94vmx193l7w37";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix
index e6e1512956872..e428067ab62be 100644
--- a/pkgs/servers/monitoring/seyren/default.nix
+++ b/pkgs/servers/monitoring/seyren/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "seyren-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://github.com/scobal/seyren/releases/download/${version}/seyren-${version}.jar";
-    sha256 = "14p97yzfyacvavfms8qs3q5515vpfkjlfvislbwrf7qa89xzz8x0";
+    sha256 = "10m64zdci4swlvivii1jnmrwfi461af3xvn0xvwvy7i8kyb56vrr";
   };
 
   phases = ["installPhase"];
diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix
index 23f236a9a34e1..a3579aa83099d 100644
--- a/pkgs/servers/news/leafnode/default.nix
+++ b/pkgs/servers/news/leafnode/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--enable-runas-user=nobody";
 
+  preConfigure = ''
+    # configure uses id to check environment; we don't want this check
+    sed -re 's/^ID[=].*/ID="echo whatever"/' -i configure
+  '';
+
   postConfigure = ''
       # The is_validfqdn is far too restrictive, and only allows
       # Internet-facing servers to run.  In order to run leafnode via
@@ -24,6 +29,5 @@ stdenv.mkDerivation rec {
     description = "Leafnode implements a store & forward NNTP proxy";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    broken = true; # The user check in the configure does not work in a chroot
   };
 }
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 6c6fb213cb8ca..3eba1b9f89564 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, makeWrapper }:
+{ stdenv, fetchurl, makeWrapper, zlib, bzip2 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "influxdb-${version}";
-  version = "0.7.0";
+  version = "0.8.2";
   arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz";
     sha256 = if arch == "amd64" then
-        "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else
-        "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b";
+        "0m27agjf9v76w5xms8w3z91k4hxw832nxqr030qzqxynwbxj0vg6" else
+        "0bdjpdq4yhfsmvl756xhkd1d8565d19g66l5rlymksc71ps8kbj6";
   };
 
   buildInputs = [ makeWrapper ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     install -D influxdb $out/bin/influxdb
     patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb
     wrapProgram "$out/bin/influxdb" \
-        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64"
+        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64:${zlib}/lib:${bzip2}/lib"
 
     mkdir -p $out/share/influxdb
     cp -R admin scripts config.toml $out/share/influxdb
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 40c255d592147..651b84b7afea6 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }:
+{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy
+, libyamlcpp, sasl, openssl, libpcap }:
 
 with stdenv.lib;
 
@@ -7,12 +8,20 @@ let version = "2.6.4";
       "pcre"
       "boost"
       "snappy"
-      # "v8"      -- mongo still bundles 3.12 and does not work with 3.15+
       # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs)
-      # "yaml"    -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo
+      "yaml"
+      # "v8"
     ] ++ optionals (!stdenv.isDarwin) [ "tcmalloc" ];
-    system-lib-args = concatStringsSep " "
-                        (map (lib: "--use-system-${lib}") system-libraries);
+    buildInputs = [
+      sasl boost boost.lib gperftools pcre snappy
+      libyamlcpp sasl openssl libpcap
+    ];
+
+    other-args = concatStringsSep " " ([
+      "--ssl"
+      "--use-sasl-client"
+      "--extrapath=${concatStringsSep "," buildInputs}"
+    ] ++ map (lib: "--use-system-${lib}") system-libraries);
 
 in stdenv.mkDerivation rec {
   name = "mongodb-${version}";
@@ -22,20 +31,28 @@ in stdenv.mkDerivation rec {
     sha256 = "1h4rrgcb95234ryjma3fjg50qsm1bnxjx5ib0c3p9nzmc2ji2m07";
   };
 
-  nativeBuildInputs = [ scons boost gperftools pcre snappy ];
+  nativeBuildInputs = [ scons ];
+  inherit buildInputs;
 
   postPatch = ''
+    # fix yaml-cpp detection
+    sed -i -e "s/\[\"yaml\"\]/\[\"yaml-cpp\"\]/" SConstruct
+
+    # bug #482576
+    sed -i -e "/-Werror/d" src/third_party/v8/SConscript
+
+    # fix environment variable reading
     substituteInPlace SConstruct \
         --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR"
   '';
 
   buildPhase = ''
-    scons all --release ${system-lib-args}
+    scons all --release ${other-args}
   '';
 
   installPhase = ''
     mkdir -p $out/lib
-    scons install --release --prefix=$out ${system-lib-args}
+    scons install --release --prefix=$out ${other-args}
   '';
 
   meta = {
@@ -43,7 +60,7 @@ in stdenv.mkDerivation rec {
     homepage = http://www.mongodb.org;
     license = licenses.agpl3;
 
-    maintainers = with maintainers; [ bluescreen303 offline ];
+    maintainers = with maintainers; [ bluescreen303 offline wkennington ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 3694547c2d99b..79fd61390e46a 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, python, m4 }:
+{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, curl, python, m4 }:
 
 stdenv.mkDerivation rec {
-  name = "rethinkdb-1.12.4";
+  name = "rethinkdb-1.14.1";
 
   src = fetchurl {
     url = "http://download.rethinkdb.com/dist/${name}.tgz";
-    sha256 = "1dq2vbgms016ic2hifclm1m58i4804khkn0lnvz47rkm7i0564if";
+    sha256 = "0brsbb289hcsmipma4rsgrkqpqagwff2y6w46dvb25n95id65hx8";
   };
 
   preConfigure = ''
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--lib-path ${gperftools}/lib";
 
-  buildInputs = [ protobuf zlib boost ];
+  buildInputs = [ protobuf boost boost.lib zlib curl ];
 
   nativeBuildInputs = [ which m4 python ];
 
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index 96315c52f6bf4..e773f6ddcc361 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "Dynamo inspired NoSQL DB by Basho";
     longDescription = ''
       This patches the riak and riak-admin scripts to work better in Nix.
diff --git a/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch b/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
new file mode 100644
index 0000000000000..b95cfb4c620bd
--- /dev/null
+++ b/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
@@ -0,0 +1,51 @@
+From e284db57f94c8f97ed1c95dcd0bd9518d86c050c Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Wed, 18 Jun 2014 08:53:48 -0400
+Subject: [PATCH] Linux 3.16: Switch to iter_file_splice_write
+
+Users of generic_file_splice_write need to switch to
+using iter_file_splice_write.
+
+Change-Id: If4801d27e030e1cb986f483cf437a2cfa7398eb3
+Reviewed-on: http://gerrit.openafs.org/11302
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
+Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
+---
+ acinclude.m4                 |    3 +++
+ src/afs/LINUX/osi_vnodeops.c |    4 ++++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index ae8f1ed..9e39d90 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -958,6 +958,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ 		 AC_CHECK_LINUX_FUNC([inode_setattr],
+ 				     [#include <linux/fs.h>],
+ 				     [inode_setattr(NULL, NULL);])
++		 AC_CHECK_LINUX_FUNC([iter_file_splice_write],
++				     [#include <linux/fs.h>],
++				     [iter_file_splice_write(NULL,NULL,NULL,0,0);])
+ 		 AC_CHECK_LINUX_FUNC([kernel_setsockopt],
+ 				     [#include <linux/net.h>],
+ 				     [kernel_setsockopt(NULL, 0, 0, NULL, 0);])
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index 6f4000b..2685915 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -827,7 +827,11 @@ struct file_operations afs_file_fops = {
+   .sendfile =   generic_file_sendfile,
+ #endif
+ #if defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
++# if defined(HAVE_LINUX_ITER_FILE_SPLICE_WRITE)
++  .splice_write = iter_file_splice_write,
++# else
+   .splice_write = generic_file_splice_write,
++# endif
+   .splice_read = generic_file_splice_read,
+ #endif
+   .release =	afs_linux_release,
+-- 
+1.7.1
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 47c8c12edef67..4b5eb80b97417 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -4,12 +4,17 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation {
-  name = "openafs-1.6.6-${kernel.version}";
+  name = "openafs-1.6.9-${kernel.version}";
 
   src = fetchurl {
-    url = http://www.openafs.org/dl/openafs/1.6.6/openafs-1.6.6-src.tar.bz2;
-    sha256 = "0xfa64hvz0avp89zgz8ksmp24s6ns0z3103m4mspshhhdlikypk3";
+    url = http://www.openafs.org/dl/openafs/1.6.9/openafs-1.6.9-src.tar.bz2;
+    sha256 = "1isgw7znp10w0mr3sicnjzbc12bd1gdwfqqr667w6p3syyhs6bkv";
   };
+ 
+  patches = [ 
+   ./f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
+   ./ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
+  ];
 
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
@@ -40,6 +45,6 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.z77z;
+    maintainers = [ stdenv.lib.maintainers.z77z ];
   };
 }
diff --git a/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch b/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
new file mode 100644
index 0000000000000..e197ee4a34c8e
--- /dev/null
+++ b/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
@@ -0,0 +1,130 @@
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Wed, 18 Jun 2014 13:06:39 +0000 (-0400)
+Subject: Linux 3.16: Convert to new write_iter/read_iter ops
+X-Git-Tag: openafs-stable-1_6_10pre1~76
+X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=f3c0f74186f4a323ffc5f125d961fe384d396cac
+
+Linux 3.16: Convert to new write_iter/read_iter ops
+
+Change read/write operations to the new write_iter/read_iter
+operations.
+
+Reviewed-on: http://gerrit.openafs.org/11303
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
+Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
+(cherry picked from commit a303bb257ed9e790d8c14644779e9508167887b6)
+
+Change-Id: I3f66104be067698a4724ed78537765cf26d4aa10
+Reviewed-on: http://gerrit.openafs.org/11309
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
+---
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 83a1a8c..13d70db 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -836,6 +836,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ 		 AC_CHECK_LINUX_STRUCT([inode], [i_security], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [flock], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [iterate], [fs.h])
++		 AC_CHECK_LINUX_STRUCT([file_operations], [read_iter], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h])
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index 441cce7..818debe 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -99,8 +99,11 @@ afs_linux_VerifyVCache(struct vcache *avc, cred_t **retcred) {
+     return afs_convert_code(code);
+ }
+ 
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
+-# ifdef LINUX_HAS_NONVECTOR_AIO
++#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++static ssize_t
++afs_linux_read_iter(struct kiocb *iocb, struct iov_iter *iter)
++# elif defined(LINUX_HAS_NONVECTOR_AIO)
+ static ssize_t
+ afs_linux_aio_read(struct kiocb *iocb, char __user *buf, size_t bufsize,
+                    loff_t pos)
+@@ -113,6 +116,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
+     struct file *fp = iocb->ki_filp;
+     ssize_t code = 0;
+     struct vcache *vcp = VTOAFS(fp->f_dentry->d_inode);
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++    loff_t pos = iocb->ki_pos;
++    unsigned long bufsize = iter->nr_segs;
++# endif
++
+ 
+     AFS_GLOCK();
+     afs_Trace4(afs_iclSetp, CM_TRACE_AIOREADOP, ICL_TYPE_POINTER, vcp,
+@@ -125,7 +133,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
+ 	 * so we optimise by not using it */
+ 	osi_FlushPages(vcp, NULL);	/* ensure stale pages are gone */
+ 	AFS_GUNLOCK();
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++	code = generic_file_read_iter(iocb, iter);
++# else
+ 	code = generic_file_aio_read(iocb, buf, bufsize, pos);
++# endif
+ 	AFS_GLOCK();
+     }
+ 
+@@ -170,8 +182,11 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp)
+  * also take care of re-positioning the pointer if file is open in append
+  * mode. Call fake open/close to ensure we do writes of core dumps.
+  */
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
+-# ifdef LINUX_HAS_NONVECTOR_AIO
++#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++static ssize_t
++afs_linux_write_iter(struct kiocb *iocb, struct iov_iter *iter)
++# elif defined(LINUX_HAS_NONVECTOR_AIO)
+ static ssize_t
+ afs_linux_aio_write(struct kiocb *iocb, const char __user *buf, size_t bufsize,
+                     loff_t pos)
+@@ -184,6 +199,10 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
+     ssize_t code = 0;
+     struct vcache *vcp = VTOAFS(iocb->ki_filp->f_dentry->d_inode);
+     cred_t *credp;
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++    loff_t pos = iocb->ki_pos;
++    unsigned long bufsize = iter->nr_segs;
++# endif
+ 
+     AFS_GLOCK();
+ 
+@@ -199,7 +218,11 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
+     ReleaseWriteLock(&vcp->lock);
+     if (code == 0) {
+ 	    AFS_GUNLOCK();
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++	    code = generic_file_write_iter(iocb, iter);
++# else
+ 	    code = generic_file_aio_write(iocb, buf, bufsize, pos);
++# endif
+ 	    AFS_GLOCK();
+     }
+ 
+@@ -788,7 +811,12 @@ struct file_operations afs_dir_fops = {
+ };
+ 
+ struct file_operations afs_file_fops = {
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
++#ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER
++  .read_iter =	afs_linux_read_iter,
++  .write_iter =	afs_linux_write_iter,
++  .read =	new_sync_read,
++  .write =	new_sync_write,
++#elif defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
+   .aio_read =	afs_linux_aio_read,
+   .aio_write =	afs_linux_aio_write,
+   .read =	do_sync_read,
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index a918007b47c66..de262af095cbe 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -45,10 +45,15 @@ stdenv.mkDerivation rec {
        -e "s|chmod r+s |true |"
   '';
 
-  configureFlags =
-    [ "--disable-solaris" "--disable-jack" "--disable-oss-output"
-      "--disable-oss-wrapper" "--localstatedir=/var" "--sysconfdir=/etc" ]
-    ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
+  configureFlags = [
+    "--disable-solaris"
+    "--disable-jack"
+    "--disable-oss-output"
+    "--disable-oss-wrapper"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+    "--with-access-group=audio"
+  ] ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
     ++ stdenv.lib.optional stdenv.isDarwin "--with-mac-sysroot=/";
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 66a0743b367f8..d930c5b6a976a 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost155, zlib}:
+{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost, zlib}:
 
 stdenv.mkDerivation rec {
   name = "rippled-${version}";
@@ -11,9 +11,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./scons-env.patch ];
 
-  buildInputs = [ scons pkgconfig openssl protobuf boost155 zlib ];
+  buildInputs = [ scons pkgconfig openssl protobuf boost zlib ];
 
-  RIPPLED_BOOST_HOME = boost155.out;
+  RIPPLED_BOOST_HOME = boost.out;
   RIPPLED_ZLIB_HOME = zlib.out;
   buildPhase = "scons build/rippled";
 
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Ripple P2P payment network reference server";
-    homepage = "https://ripple.com";
-    maintainers = stdenv.lib.maintainers.emery;
+    homepage = https://ripple.com;
+    maintainers = [ stdenv.lib.maintainers.emery ];
     license = stdenv.lib.licenses.isc;
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index c03a2feae5f2c..568737b11385b 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -50,4 +50,24 @@ in {
       license = licenses.asl20;
     };
   };
+
+  elasticsearch_http_basic = stdenv.mkDerivation rec {
+    name = "elasticsearch-http-basic-${version}";
+    version = "1.2.0";
+
+    src = fetchurl {
+      url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/${version}/${name}.jar";
+      sha256 = "0makhlsgxlawfscz70mc2ikh68vp6mdmmzz4ggcgwrravzvyw5vq";
+    };
+
+    phases = ["installPhase"];
+    installPhase = "install -D $src $out/plugins/http-basic/${name}.jar";
+
+    meta = {
+      homepage = https://github.com/Asquera/elasticsearch-http-basic;
+      description = "HTTP Basic Authentication for Elasticsearch";
+      license = licenses.mit;
+      platforms = elasticsearch.meta.platforms;
+    };
+  };
 }
diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix
new file mode 100644
index 0000000000000..a72240064f2f2
--- /dev/null
+++ b/pkgs/servers/search/sphinxsearch/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig,
+  version ? "2.1.9",
+  mainSrc ? fetchurl {
+    url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz";
+    sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2";
+  }
+}:
+
+stdenv.mkDerivation rec {
+  name = "sphinxsearch-${version}";
+  src = mainSrc;
+
+  configureFlags = [
+    "--program-prefix=sphinxsearch-"
+    "--without-mysql"
+    "--enable-id64"
+  ];
+
+  buildInputs = [
+    pkgconfig
+  ];
+
+  meta = {
+    description = "An open source full text search server";
+    homepage    = http://sphinxsearch.com;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ederoyd46 ];
+  };
+}
diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix
index c309158a6705e..b422b9938320c 100644
--- a/pkgs/servers/sql/mysql/5.1.x.nix
+++ b/pkgs/servers/sql/mysql/5.1.x.nix
@@ -3,11 +3,11 @@
 # Note: zlib is not required; MySQL can use an internal zlib.
 
 stdenv.mkDerivation rec {
-  name = "mysql-5.1.72";
+  name = "mysql-5.1.73";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.1/${name}.tar.gz";
-    md5 = "ed79cd48e3e7402143548917813cdb80";
+    sha256 = "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5";
   };
 
   buildInputs = [ncurses zlib perl openssl] ++ stdenv.lib.optional stdenv.isLinux ps;
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index 7c31bd7c58282..7266727fdad80 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.37";
+  version = "5.5.39";
 
   src = fetchurl {
     url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    md5 = "bf1d80c66d4822ec6036300399a33c03";
+    sha256 = "0qj8bc83v6vf8jyn4ag179nclpn6ilw4h4xqb50zz9jd0c5s14qq";
   };
 
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 5151299e3b938..4807052478c00 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 97e98217f8aa9..85c14931eedce 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 92417dc730c7e..ef335a77ab6f0 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index e5dbdd034d3f3..fdfb5a17b54f3 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix
index 6c6ef132e8136..40f07d8ffe153 100644
--- a/pkgs/servers/sql/postgresql/9.3.x.nix
+++ b/pkgs/servers/sql/postgresql/9.3.x.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix
new file mode 100644
index 0000000000000..2608dcae50428
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.4.x.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, zlib, readline, libossp_uuid }:
+
+with stdenv.lib;
+
+let version = "9.4beta2"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "131q3b9hv4pw02xhjsfi5is9i7pp5f4srxwfdn8ifs9qb37hcx2n";
+  };
+
+  buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "world" ];
+
+  configureFlags = optional (!stdenv.isDarwin)
+    ''
+      --with-ossp-uuid
+    '';
+
+  patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
+
+  installTargets = [ "install-world" ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.4";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/ ;
+    description = "A powerful, open source object-relational database system";
+    license = stdenv.lib.licenses.postgresql;
+    maintainers = with stdenv.lib.maintainers; [ aristid ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
new file mode 100644
index 0000000000000..fadeea90ac4b6
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
@@ -0,0 +1,12 @@
+--- a/src/common/exec.c	2014-09-04 20:19:12.236057588 +0200
++++ b/src/common/exec.c	2014-09-04 20:19:50.550251633 +0200
+@@ -218,6 +218,9 @@
+ static int
+ resolve_symlinks(char *path)
+ {
++	// On NixOS we *want* stuff relative to symlinks.
++	return 0;
++
+ #ifdef HAVE_READLINK
+ 	struct stat buf;
+ 	char		orig_wd[MAXPGPATH],
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index c4dfa983f55fc..5dd7c0fa75dd3 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -915,11 +915,11 @@ let
   }) // {inherit ;};
 
   libxcb = (mkDerivation "libxcb" {
-    name = "libxcb-1.10";
+    name = "libxcb-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2;
-      sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq";
+      url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2;
+      sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
   }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
@@ -1175,11 +1175,11 @@ let
   }) // {inherit ;};
 
   xcbproto = (mkDerivation "xcbproto" {
-    name = "xcb-proto-1.10";
+    name = "xcb-proto-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2;
-      sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y";
+      url = http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2;
+      sha256 = "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l";
     };
     buildInputs = [pkgconfig python ];
   }) // {inherit python ;};
@@ -1405,11 +1405,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputmouse = (mkDerivation "xf86inputmouse" {
-    name = "xf86-input-mouse-1.9.0";
+    name = "xf86-input-mouse-1.9.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2;
-      sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x";
+      url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2;
+      sha256 = "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
@@ -1515,11 +1515,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
 
   xf86videogeode = (mkDerivation "xf86videogeode" {
-    name = "xf86-video-geode-2.11.15";
+    name = "xf86-video-geode-2.11.16";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2;
-      sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0";
+      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2;
+      sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -2035,11 +2035,11 @@ let
   }) // {inherit ;};
 
   xrandr = (mkDerivation "xrandr" {
-    name = "xrandr-1.4.2";
+    name = "xrandr-1.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2;
-      sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj";
+      url = mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2;
+      sha256 = "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ];
   }) // {inherit libX11 xproto libXrandr libXrender ;};
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 2d105241c2d18..84795ed980b34 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,6 +1,6 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2
+http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 93acd927f3bf0..1cc028e60d76f 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -118,7 +118,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
@@ -130,7 +130,7 @@ mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2
 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
-mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2
+mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
@@ -176,7 +176,7 @@ mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
 mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2
-mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2
+mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2
 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2
 mirror://xorg/individual/app/xset-1.2.3.tar.bz2
diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix
index 567ec3c551cf3..5239a9ec0a094 100644
--- a/pkgs/shells/bash/bash-4.2-patches.nix
+++ b/pkgs/shells/bash/bash-4.2-patches.nix
@@ -48,4 +48,5 @@ patch: [
 (patch "045" "0vcqn9rb26bahhrarbwhpa0ny0nrf4vyrzh97d44lfcxypqfzdyx")
 (patch "046" "0vc1ngkxkamwr022ww3vjp9ww9c647az4pjn175c1v60d0xk5hcm")
 (patch "047" "0ymgimqz65sx2izg1dvm1h5cc01arl3j9j5137212l1ls00r55y1")
+(patch "048" "091xk1ms7ycnczsl3fx461gjhj69j6ycnfijlymwj6mj60ims6km")
 ]
diff --git a/pkgs/shells/bash/cve-2014-7169.patch b/pkgs/shells/bash/cve-2014-7169.patch
new file mode 100644
index 0000000000000..f58e73f7806b1
--- /dev/null
+++ b/pkgs/shells/bash/cve-2014-7169.patch
@@ -0,0 +1,13 @@
+http://www.openwall.com/lists/oss-security/2014/09/25/10
+
+*** ../bash-20140912/parse.y	2014-08-26 15:09:42.000000000 -0400
+--- parse.y	2014-09-24 22:47:28.000000000 -0400
+***************
+*** 2959,2962 ****
+--- 2959,2964 ----
+    word_desc_to_read = (WORD_DESC *)NULL;
+  
++   eol_ungetc_lookahead = 0;
++ 
+    current_token = '\n';		/* XXX */
+    last_read_token = '\n';
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 6a6b8563a5550..5181da77f3a04 100644
--- a/pkgs/shells/bash/default.nix
+++ b/pkgs/shells/bash/default.nix
@@ -27,14 +27,14 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   patches =
-    let
+    (let
       patch = nr: sha256:
         fetchurl {
           url = "mirror://gnu/bash/bash-4.2-patches/bash42-${nr}";
           inherit sha256;
         };
     in
-      import ./bash-4.2-patches.nix patch;
+      import ./bash-4.2-patches.nix patch) ++ [ ./cve-2014-7169.patch ];
 
   crossAttrs = {
     configureFlags = baseConfigureFlags +
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index adfe44b3bac1d..03ecc290d14ca 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Smart and user-friendly command line shell";
     homepage = "http://fishshell.com/";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ ocharles ];
   };
 }
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 11731c1c1c105..29e4455f7cb33 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -154,7 +154,8 @@ let
              || system == "x86_64-kfreebsd-gnu";
       isSunOS = system == "i686-solaris"
              || system == "x86_64-solaris";
-      isCygwin = system == "i686-cygwin";
+      isCygwin = system == "i686-cygwin"
+              || system == "x86_64-cygwin";
       isFreeBSD = system == "i686-freebsd"
               || system == "x86_64-freebsd";
       isOpenBSD = system == "i686-openbsd"
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 23cccf223f4f5..6f8b42c2266a0 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -35,8 +35,8 @@ rec {
   # The bootstrap process proceeds in several steps.
 
 
-  # 1) Create a standard environment by downloading pre-built binaries
-  # of coreutils, GCC, etc.
+  # Create a standard environment by downloading pre-built binaries of
+  # coreutils, GCC, etc.
 
 
   # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
@@ -46,7 +46,7 @@ rec {
     builder = bootstrapFiles.sh;
 
     args =
-      if system == "armv5tel-linux" || system == "armv6l-linux" 
+      if system == "armv5tel-linux" || system == "armv6l-linux"
         || system == "armv7l-linux"
       then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
       else [ ./scripts/unpack-bootstrap-tools.sh ];
@@ -66,137 +66,136 @@ rec {
   };
 
 
-  # This function builds the various standard environments used during
-  # the bootstrap.
-  stdenvBootFun =
-    {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}:
-
-    import ../generic {
-      inherit system config;
-      name = "stdenv-linux-boot";
-      preHook =
-        ''
-          # Don't patch #!/interpreter because it leads to retained
-          # dependencies on the bootstrapTools in the final stdenv.
-          dontPatchShebangs=1
-          ${commonPreHook}
-        '';
-      shell = "${bootstrapTools}/bin/sh";
-      initialPath = [bootstrapTools] ++ extraPath;
-      fetchurlBoot = fetchurl;
-      inherit gcc;
-      # Having the proper 'platform' in all the stdenvs allows getting proper
-      # linuxHeaders for example.
-      extraAttrs = extraAttrs // { inherit platform; };
-      overrides = pkgs: (overrides pkgs) // {
-        inherit fetchurl;
-      };
-    };
+  # A helper function to call gcc-wrapper.
+  wrapGCC =
+    { gcc, libc, binutils, coreutils, name }:
 
-  # Build a dummy stdenv with no GCC or working fetchurl.  This is
-  # because we need a stdenv to build the GCC wrapper and fetchurl.
-  stdenvLinuxBoot0 = stdenvBootFun {
-    gcc = "/no-such-path";
-    fetchurl = null;
-  };
+    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
+      nativeTools = false;
+      nativeLibc = false;
+      inherit gcc binutils coreutils libc name;
+      stdenv = stage0.stdenv;
+    };
 
 
-  fetchurl = import ../../build-support/fetchurl {
-    stdenv = stdenvLinuxBoot0;
-    curl = bootstrapTools;
-  };
+  # This function builds the various standard environments used during
+  # the bootstrap.  In all stages, we build an stdenv and the package
+  # set that can be built with that stdenv.
+  stageFun =
+    {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}:
+
+    let
+
+      thisStdenv = import ../generic {
+        inherit system config;
+        name = "stdenv-linux-boot";
+        preHook =
+          ''
+            # Don't patch #!/interpreter because it leads to retained
+            # dependencies on the bootstrapTools in the final stdenv.
+            dontPatchShebangs=1
+            ${commonPreHook}
+          '';
+        shell = "${bootstrapTools}/bin/sh";
+        initialPath = [bootstrapTools] ++ extraPath;
+        fetchurlBoot = import ../../build-support/fetchurl {
+          stdenv = stage0.stdenv;
+          curl = bootstrapTools;
+        };
+        inherit gcc;
+        # Having the proper 'platform' in all the stdenvs allows getting proper
+        # linuxHeaders for example.
+        extraAttrs = extraAttrs // { inherit platform; };
+        overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
+      };
 
+      thisPkgs = allPackages {
+        inherit system platform;
+        bootStdenv = thisStdenv;
+      };
 
-  # The Glibc include directory cannot have the same prefix as the GCC
-  # include directory, since GCC gets confused otherwise (it will
-  # search the Glibc headers before the GCC headers).  So create a
-  # dummy Glibc.
-  bootstrapGlibc = stdenvLinuxBoot0.mkDerivation {
-    name = "bootstrap-glibc";
-    buildCommand = ''
-      mkdir -p $out
-      ln -s ${bootstrapTools}/lib $out/lib
-      ln -s ${bootstrapTools}/include-glibc $out/include
-    '';
-  };
+    in { stdenv = thisStdenv; pkgs = thisPkgs; };
 
 
-  # A helper function to call gcc-wrapper.
-  wrapGCC =
-    { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }:
+  # Build a dummy stdenv with no GCC or working fetchurl.  This is
+  # because we need a stdenv to build the GCC wrapper and fetchurl.
+  stage0 = stageFun {
+    gcc = "/no-such-path";
 
-    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
-      nativeTools = false;
-      nativeLibc = false;
-      inherit gcc binutils coreutils libc shell name;
-      stdenv = stdenvLinuxBoot0;
+    overrides = pkgs: {
+      # The Glibc include directory cannot have the same prefix as the
+      # GCC include directory, since GCC gets confused otherwise (it
+      # will search the Glibc headers before the GCC headers).  So
+      # create a dummy Glibc here, which will be used in the stdenv of
+      # stage1.
+      glibc = stage0.stdenv.mkDerivation {
+        name = "bootstrap-glibc";
+        buildCommand = ''
+          mkdir -p $out
+          ln -s ${bootstrapTools}/lib $out/lib
+          ln -s ${bootstrapTools}/include-glibc $out/include
+        '';
+      };
     };
+  };
 
 
   # Create the first "real" standard environment.  This one consists
   # of bootstrap tools only, and a minimal Glibc to keep the GCC
   # configure script happy.
-  stdenvLinuxBoot1 = stdenvBootFun {
+  #
+  # For clarity, we only use the previous stage when specifying these
+  # stages.  So stageN should only ever have references for stage{N-1}.
+  #
+  # If we ever need to use a package from more than one stage back, we
+  # simply re-export those packages in the middle stage(s) using the
+  # overrides attribute and the inherit syntax.
+  stage1 = stageFun {
     gcc = wrapGCC {
-      libc = bootstrapGlibc;
+      gcc = bootstrapTools;
+      libc = stage0.pkgs.glibc;
       binutils = bootstrapTools;
       coreutils = bootstrapTools;
+      name = "bootstrap-gcc-wrapper";
+    };
+    # Rebuild binutils to use from stage2 onwards.
+    overrides = pkgs: {
+      binutils = pkgs.binutils.override { gold = false; };
+      inherit (stage0.pkgs) glibc;
     };
-    inherit fetchurl;
-  };
-
-
-  # 2) These are the packages that we can build with the first
-  #    stdenv.  We only need binutils, because recent Glibcs
-  #    require recent Binutils, and those in bootstrap-tools may
-  #    be too old.
-  stdenvLinuxBoot1Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot1;
   };
 
-  binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; };
 
-
-  # 3) 2nd stdenv that we will use to build only Glibc.
-  stdenvLinuxBoot2 = stdenvBootFun {
+  # 2nd stdenv that contains our own rebuilt binutils and is used for
+  # compiling our own Glibc.
+  stage2 = stageFun {
     gcc = wrapGCC {
-      libc = bootstrapGlibc;
-      binutils = binutils1;
+      gcc = bootstrapTools;
+      libc = stage1.pkgs.glibc;
+      binutils = stage1.pkgs.binutils;
       coreutils = bootstrapTools;
+      name = "bootstrap-gcc-wrapper";
     };
     overrides = pkgs: {
-      inherit (stdenvLinuxBoot1Pkgs) perl;
+      inherit (stage1.pkgs) perl binutils paxctl;
+      # This also contains the full, dynamically linked, final Glibc.
     };
-    inherit fetchurl;
-  };
-
-
-  # 4) These are the packages that we can build with the 2nd
-  #    stdenv.
-  stdenvLinuxBoot2Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot2;
   };
 
 
-  # 5) Build Glibc with the bootstrap tools.  The result is the full,
-  #    dynamically linked, final Glibc.
-  stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc;
-
-
-  # 6) Construct a third stdenv identical to the 2nd, except that this
-  #    one uses the Glibc built in step 5.  It still uses the recent
-  #    binutils and rest of the bootstrap tools, including GCC.
-  stdenvLinuxBoot3 = stdenvBootFun {
+  # Construct a third stdenv identical to the 2nd, except that this
+  # one uses the rebuilt Glibc from stage2.  It still uses the recent
+  # binutils and rest of the bootstrap tools, including GCC.
+  stage3 = stageFun {
     gcc = wrapGCC {
-      binutils = binutils1;
+      gcc = bootstrapTools;
+      libc = stage2.pkgs.glibc;
+      binutils = stage2.pkgs.binutils;
       coreutils = bootstrapTools;
-      libc = stdenvLinuxGlibc;
+      name = "bootstrap-gcc-wrapper";
     };
     overrides = pkgs: {
-      glibc = stdenvLinuxGlibc;
-      inherit (stdenvLinuxBoot1Pkgs) perl;
+      inherit (stage2.pkgs) binutils glibc perl;
       # Link GCC statically against GMP etc.  This makes sense because
       # these builds of the libraries are only used by GCC, so it
       # reduces the size of the stdenv closure.
@@ -208,54 +207,40 @@ rec {
       ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
     };
     extraAttrs = {
-      glibc = stdenvLinuxGlibc;   # Required by gcc47 build
+      glibc = stage2.pkgs.glibc;  # Required by gcc47 build
     };
-    extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ];
-    inherit fetchurl;
+    extraPath = [ stage2.pkgs.paxctl ];
   };
 
 
-  # 7) The packages that can be built using the third stdenv.
-  stdenvLinuxBoot3Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot3;
-  };
-
-
-  # 8) Construct a fourth stdenv identical to the second, except that
-  #    this one uses the new GCC from step 7.  The other tools
-  #    (e.g. coreutils) are still from the bootstrap tools.
-  stdenvLinuxBoot4 = stdenvBootFun {
-    gcc = wrapGCC rec {
-      binutils = binutils1;
+  # Construct a fourth stdenv that uses the new GCC.  But coreutils is
+  # still from the bootstrap tools.
+  stage4 = stageFun {
+    gcc = wrapGCC {
+      gcc = stage3.pkgs.gcc.gcc;
+      libc = stage3.pkgs.glibc;
+      binutils = stage3.pkgs.binutils;
       coreutils = bootstrapTools;
-      libc = stdenvLinuxGlibc;
-      gcc = stdenvLinuxBoot3Pkgs.gcc.gcc;
       name = "";
     };
-    extraPath = [ stdenvLinuxBoot3Pkgs.xz ];
+    extraPath = [ stage3.pkgs.xz ];
     overrides = pkgs: {
-      inherit (stdenvLinuxBoot1Pkgs) perl;
-      inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp;
+      # Zlib has to be inherited and not rebuilt in this stage,
+      # because gcc (since JAR support) already depends on zlib, and
+      # then if we already have a zlib we want to use that for the
+      # other purposes (binutils and top-level pkgs) too.
+      inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib;
     };
-    inherit fetchurl;
   };
 
 
-  # 9) The packages that can be built using the fourth stdenv.
-  stdenvLinuxBoot4Pkgs = allPackages {
-    inherit system platform;
-    bootStdenv = stdenvLinuxBoot4;
-  };
-
-
-  # 10) Construct the final stdenv.  It uses the Glibc and GCC, and
-  #     adds in a new binutils that doesn't depend on bootstrap-tools,
-  #     as well as dynamically linked versions of all other tools.
+  # Construct the final stdenv.  It uses the Glibc and GCC, and adds
+  # in a new binutils that doesn't depend on bootstrap-tools, as well
+  # as dynamically linked versions of all other tools.
   #
-  #     When updating stdenvLinux, make sure that the result has no
-  #     dependency (`nix-store -qR') on bootstrapTools or the
-  #     first binutils built.
+  # When updating stdenvLinux, make sure that the result has no
+  # dependency (`nix-store -qR') on bootstrapTools or the first
+  # binutils built.
   stdenvLinux = import ../generic rec {
     inherit system config;
 
@@ -268,35 +253,32 @@ rec {
       '';
 
     initialPath =
-      ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;})
-      ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ];
-
-    gcc = wrapGCC rec {
-      inherit (stdenvLinuxBoot4Pkgs) binutils coreutils;
-      libc = stdenvLinuxGlibc;
-      gcc = stdenvLinuxBoot4.gcc.gcc;
-      shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
-      name = "";
-    };
+      ((import ../common-path.nix) {pkgs = stage4.pkgs;})
+      ++ [stage4.pkgs.patchelf stage4.pkgs.paxctl ];
+
+    shell = stage4.pkgs.bash + "/bin/bash";
 
-    shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
+    gcc = (wrapGCC rec {
+      gcc = stage4.stdenv.gcc.gcc;
+      libc = stage4.pkgs.glibc;
+      inherit (stage4.pkgs) binutils coreutils;
+      name = "";
+    }).override { inherit shell; };
 
-    fetchurlBoot = fetchurl;
+    inherit (stage4.stdenv) fetchurlBoot;
 
     extraAttrs = {
-      inherit (stdenvLinuxBoot3Pkgs) glibc;
+      inherit (stage4.pkgs) glibc;
       inherit platform bootstrapTools;
-      shellPackage = stdenvLinuxBoot4Pkgs.bash;
+      shellPackage = stage4.pkgs.bash;
     };
 
     overrides = pkgs: {
       inherit gcc;
-      inherit (stdenvLinuxBoot3Pkgs) glibc;
-      inherit (stdenvLinuxBoot4Pkgs) binutils;
-      inherit (stdenvLinuxBoot4Pkgs)
-        gzip bzip2 xz bash coreutils diffutils findutils gawk
-        gnumake gnused gnutar gnugrep gnupatch patchelf
-        attr acl paxctl;
+      inherit (stage4.pkgs)
+        gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
+        glibc gnumake gnused gnutar gnugrep gnupatch patchelf
+        attr acl paxctl zlib;
     };
   };
 
diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix
index 34cff9ac93f4a..91042fe059115 100644
--- a/pkgs/test/openftd/default.nix
+++ b/pkgs/test/openftd/default.nix
@@ -6,7 +6,7 @@ Systeemvereisten
 * glib >= 2.2.0
 * gtk >= 2.2.0
 
-Glib 2 is een 'dependancy' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
+Glib 2 is een 'dependency' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
 Alhoewel FTD4Linux gtk 2.2 als minimumvereiste heeft raden we toch aan om gtk 2.4 te gebruiken. Dit vanwege een bug in gtk versies 2.2.2 t/m 2.2.4.
 
 * libxml2 >= 2.2.5
diff --git a/pkgs/tools/X11/keynav/default.nix b/pkgs/tools/X11/keynav/default.nix
index 02b6321d18c82..0b41e05e3f21b 100644
--- a/pkgs/tools/X11/keynav/default.nix
+++ b/pkgs/tools/X11/keynav/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, libX11, xextproto, libXtst, imake, libXi, libXext }:
+{ stdenv, fetchurl, pkgconfig, libX11, xextproto, libXtst, libXi, libXext
+, libXinerama, glib, cairo, xdotool }:
 
 stdenv.mkDerivation rec {
-  name = "keynav-20070903";
+  name = "keynav-0.20110708.0";
 
   src = fetchurl {
-    url = "http://www.semicomplete.com/files/keynav/${name}.tar.gz";
-    sha256 = "037mbgm78jwy0qd0z691pgx4zcpkk5544fx8ajm2mx4y80k2d9kk";
+    url = "https://semicomplete.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z";
   };
 
-  buildInputs = [libX11 xextproto libXtst imake libXi libXext];
-
-  NIX_LDFLAGS = "-lXext";
+  buildInputs = [ pkgconfig libX11 xextproto libXtst libXi libXext libXinerama
+                  glib cairo xdotool ];
 
   installPhase =
     ''
@@ -19,7 +19,11 @@ stdenv.mkDerivation rec {
       cp keynavrc $out/share/keynav/doc
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Generate X11 mouse clicks from keyboard";
+    homepage = http://www.semicomplete.com/projects/keynav/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index a88c0b345d724..9ef93a30b6813 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -1,32 +1,29 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.1.5";
+  version = "5.1.7";
 in
 stdenv.mkDerivation {
   name = "unrar-${version}";
 
   src = fetchurl {
     url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912";
+    sha256 = "13ida8vcamiagl40d9yfjma9k6givxczhx278f1p7bv9wgb8gfmc";
   };
 
-  patchPhase = ''
-    sed -i \
-      -e "/CXX=/d" \
-      -e "/CXXFLAGS=/d" \
-      makefile
-  '';
-
   installPhase = ''
-    mkdir -p $out/bin
-    cp unrar $out/bin
+    installBin unrar
+
+    mkdir -p $out/share/doc/unrar
+    cp acknow.txt license.txt \
+        $out/share/doc/unrar
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Utility for RAR archives";
-    license = "freeware";
-    maintainers = [ stdenv.lib.maintainers.emery ];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary
+    homepage = http://www.rarlab.com/;
+    license = licenses.unfreeRedistributable;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix
index 69c62985154cd..9bf9ee0d22457 100644
--- a/pkgs/tools/audio/gvolicon/default.nix
+++ b/pkgs/tools/audio/gvolicon/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A simple and lightweight volume icon that sits in your system tray.";
-    homepage = "https://github.com/Unia/gvolicon";
+    homepage = https://github.com/Unia/gvolicon;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bennofs;
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/audio/volumeicon/default.nix b/pkgs/tools/audio/volumeicon/default.nix
new file mode 100644
index 0000000000000..0de3af28c19ee
--- /dev/null
+++ b/pkgs/tools/audio/volumeicon/default.nix
@@ -0,0 +1,23 @@
+{ pkgs, fetchurl, stdenv, gtk3, pkgconfig, intltool, alsaLib }:
+
+stdenv.mkDerivation rec {
+  name = "volumeicon-${version}";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.0.tar.gz";
+    sha256 = "10np3fvfzyxkjw0kfzg81a7kcxda1fz6nkqffkijbay5ksgigwg5";
+  };
+
+  buildInputs = [ gtk3 pkgconfig intltool alsaLib ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight volume control that sits in your systray.";
+    homepage = "http://softwarebakery.com/maato/volumeicon.html";
+    platforms = pkgs.lib.platforms.linux;
+    maintainers = with maintainers; [ bobvanderlinden ];
+    license = pkgs.lib.licenses.gpl3;
+  };
+
+}
+
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 73ef23059f458..4fbf871efaf8f 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, coreutils, python, duplicity, gawk, gnupg1, bash
-, gnugrep, txt2man, makeWrapper
+, gnugrep, txt2man, makeWrapper, which
 }:
 
 stdenv.mkDerivation {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     sed -i 's|/usr/bin/env bash|${bash}/bin/bash|' duply
     mv duply "$out/bin"
     wrapProgram "$out/bin/duply" --set PATH \
-        "${coreutils}/bin:${python}/bin:${duplicity}/bin:${gawk}/bin:${gnupg1}/bin:${bash}/bin:${gnugrep}/bin:${txt2man}/bin"
+        "${coreutils}/bin:${python}/bin:${duplicity}/bin:${gawk}/bin:${gnupg1}/bin:${bash}/bin:${gnugrep}/bin:${txt2man}/bin:${which}/bin"
     "$out/bin/duply" txt2man | gzip -c > "$out/share/man/man1/duply.1.gz"
   '';
 
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
index 4df142afe3a57..fc5b83305224d 100644
--- a/pkgs/tools/backup/httrack/default.nix
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "3.48.17";
+  version = "3.48.19";
   name = "httrack-${version}";
 
   src = fetchurl {
     url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
-    sha256 = "03q8sk7qihw9x4bfgfhv6523khgj13nilqps28qy7ndpzpggw9vn";
+    sha256 = "1zlayvl6x0ck1g5rvmj7cc88w0an5f4y93r3g5l10hhhl87cvw0n";
   };
 
   buildInputs = [ zlib openssl ];
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.httrack.com";
     description = "Easy-to-use offline browser utility";
     license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index c272f0e837850..025a998aed4ed 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "wal-e-${version}";
-  version = "0.6.9";
+  version = "0.6.10";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/wal-e/wal-e/archive/v${version}.tar.gz";
-    sha256 = "1yzz9hic8amq7mp0kh04hsmwisk5r374ddja5g8345bl8y3bzbgk";
+    sha256 = "1hms24xz7wx3b91vv56fhcc3j0cszwqwnmwhka4yl90202hvdir2";
   };
 
   # needs tox
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 095337d125107..a9a167355edb1 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -5,11 +5,11 @@
 }:
    
 stdenv.mkDerivation rec {
-  name = "blueman-1.21";
+  name = "blueman-1.23";
    
   src = fetchurl {
     url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
-    sha256 = "1bz31w0cqcl77r7vfjwm9c4gmk4hvq3nqn1pjnd5qndia2mhs846";
+    sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh";
   };
 
   configureFlags = "--disable-polkit";
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
new file mode 100644
index 0000000000000..b54f342b3454c
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, which, gettext, intltool
+, glib, gtk2
+}:
+
+stdenv.mkDerivation rec {
+  name = "dvdisaster-0.72.6";
+
+  src = fetchurl {
+    url = "http://dvdisaster.net/downloads/${name}.tar.bz2";
+    sha256 = "e9787dea39aeafa38b26604752561bc895083c17b588489d857ac05c58be196b";
+  };
+
+  postPatch = ''
+    patchShebangs ./
+  '';
+
+  buildInputs = [
+    pkgconfig which gettext intltool
+    glib gtk2
+  ];
+
+  meta = {
+    homepage = http://dvdisaster.net/;
+    description =
+      "Stores data on CD/DVD/BD in a way that it is fully recoverable even " +
+      "after some read errors have developed";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 516f07508072b..9c538842816f7 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }:
 
-let version = "603"; in
+let version = "608"; in
 
 stdenv.mkDerivation {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "03nhy1w9q0ycpcni6w61ps1mji859nvmvr1bhnlzi04z0s5ldbwx";
+    sha256 = "1010ccdrblsjr5zid6wl3c3b75ld37lrr1a1xc6dlrhz1gvcb6ff";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
index 30ae07f9dbd18..31f4348a9920f 100644
--- a/pkgs/tools/cd-dvd/vobsub2srt/default.nix
+++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, cmake, libtiff, pkgconfig, tesseract }:
 
-let rev = "b70b6f584e8151f70f9d90df054af0911ea7475e";
+let rev = "a6abbd61127a6392d420bbbebdf7612608c943c2";
     shortRev = builtins.substring 0 7 rev;
 in
 stdenv.mkDerivation {
-  name = "vobsub2srt-git-20140226-${shortRev}";
+  name = "vobsub2srt-git-20140817-${shortRev}";
 
   src = fetchgit {
     inherit rev;
     url = https://github.com/ruediger/VobSub2SRT.git;
-    sha256 = "15437eba07e674cec66bc54cfa42ffe8b05816975401c9950bf9016e3881cd6a";
+    sha256 = "8e867a021ac529e7607627d5944b95bb9f1378ffabd8837e7a028663a8ce5adf";
   };
 
   buildInputs = [ cmake libtiff pkgconfig ];
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
new file mode 100644
index 0000000000000..5737f1eca15fc
--- /dev/null
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, zlib}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="advancecomp";
+    version="1.19";
+    name="${baseName}-${version}";
+    url="http://prdownloads.sourceforge.net/advancemame/advancecomp-1.19.tar.gz?download";
+    sha256="0irhmwcn9r4jc29442skqr1f3lafiaahxc3m3ybalmm37l6cb56m";
+  };
+  buildInputs = [
+    zlib
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A set of tools to optimize deflate-compressed files'';
+    license = stdenv.lib.licenses.gpl2 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    updateWalker = true;
+    homepage = "http://advancemame.sourceforge.net/comp-readme.html";
+    downloadPage = "http://advancemame.sourceforge.net/comp-download.html";
+  };
+}
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index b644f46dff860..e1d7c26fa430f 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  preHook = "unset CONFIG_SHELL";
+
   meta = {
     homepage = http://tukaani.org/xz/;
     description = "XZ, general-purpose data compression software, successor of LZMA";
diff --git a/pkgs/tools/filesystems/bashmount/default.nix b/pkgs/tools/filesystems/bashmount/default.nix
new file mode 100644
index 0000000000000..579258f63f98d
--- /dev/null
+++ b/pkgs/tools/filesystems/bashmount/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchFromGitHub}:
+
+stdenv.mkDerivation rec {
+  name = "bashmount-${version}";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "jamielinux";
+    repo = "bashmount";
+    rev = version;
+    sha256 = "0rki4s0jgz6vkywc6hcx9qa551r5bnjs7sw0rdh93k64l32kh644";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bashmount $out/bin
+
+    mkdir -p $out/etc
+    cp bashmount.conf $out/etc
+
+    mkdir -p $out/share/man/man1
+    gzip -c -9 bashmount.1 > bashmount.1.gz
+    cp bashmount.1.gz $out/share/man/man1
+
+    mkdir -p $out/share/doc/bashmount
+    cp COPYING $out/share/doc/bashmount
+    cp NEWS    $out/share/doc/bashmount
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jamielinux/bashmount;
+    description = "A menu-driven bash script for the management of removable media with udisks";
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 66152f9589b7c..79566d15bb9a7 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
 
-let version = "3.14.2"; in
+let version = "3.16"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh";
+    sha256 = "0phbrgipl04q8cdj9nnshik7b6p2bg51jxb3l1gvfc04dkgm2xls";
   };
 
   buildInputs = [
@@ -16,15 +16,18 @@ stdenv.mkDerivation rec {
     asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
+  patches = [ ./multiple_mounts.patch ];
+
   # for btrfs to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
 
   makeFlags = "prefix=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ raskin wkennington ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
new file mode 100644
index 0000000000000..0ba6550a2d3b5
--- /dev/null
+++ b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
@@ -0,0 +1,13 @@
+Only in btrfs-progs-v3.16-orig: btrfs-progs-v3.16
+diff -U3 -r btrfs-progs-v3.16-orig/utils.c btrfs-progs-v3.16/utils.c
+--- btrfs-progs-v3.16-orig/utils.c	2014-09-03 09:57:45.644858545 +0400
++++ btrfs-progs-v3.16/utils.c	2014-09-03 09:59:26.968855663 +0400
+@@ -2360,7 +2360,7 @@
+ 		len = strlen(ent->mnt_dir);
+ 		if (strncmp(ent->mnt_dir, path, len) == 0) {
+ 			/* match found */
+-			if (longest_matchlen < len) {
++			if ((longest_matchlen < len) || (longest_matchlen==len && not_btrfs)) {
+ 				free(longest_match);
+ 				longest_matchlen = len;
+ 				longest_match = strdup(ent->mnt_dir);
diff --git a/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch b/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
new file mode 100644
index 0000000000000..a99e16ddc266c
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
@@ -0,0 +1,42 @@
+From 2507ab33236f0da12899fbcdd36535f7c7b68a06 Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Sat, 20 Sep 2014 22:52:31 -0700
+Subject: [PATCH] Cleanup boost optionals
+
+---
+ src/osd/ECBackend.cc    | 2 +-
+ src/osd/ReplicatedPG.cc | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc
+index a87b5b4..c386900 100644
+--- a/src/osd/ECBackend.cc
++++ b/src/osd/ECBackend.cc
+@@ -81,7 +81,7 @@ ostream &operator<<(ostream &lhs, const ECBackend::read_result_t &rhs)
+   lhs << "read_result_t(r=" << rhs.r
+       << ", errors=" << rhs.errors;
+   if (rhs.attrs) {
+-    lhs << ", attrs=" << rhs.attrs;
++    lhs << ", attrs=" << rhs.attrs.get();
+   } else {
+     lhs << ", noattrs";
+   }
+diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
+index 5e5510d..79e8616 100644
+--- a/src/osd/ReplicatedPG.cc
++++ b/src/osd/ReplicatedPG.cc
+@@ -5259,7 +5259,10 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
+   for (list<OpContext::NotifyAck>::iterator p = ctx->notify_acks.begin();
+        p != ctx->notify_acks.end();
+        ++p) {
+-    dout(10) << "notify_ack " << make_pair(p->watch_cookie, p->notify_id) << dendl;
++    if (p->watch_cookie)
++      dout(10) << "notify_ack " << make_pair(p->watch_cookie.get(), p->notify_id) << dendl;
++    else
++      dout(10) << "notify_ack " << make_pair("NULL", p->notify_id) << dendl;
+     for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator i =
+ 	   ctx->obc->watchers.begin();
+ 	 i != ctx->obc->watchers.end();
+-- 
+2.1.0
+
diff --git a/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch b/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch
new file mode 100644
index 0000000000000..cb2de6ad4f5b3
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch
@@ -0,0 +1,25 @@
+From 34c27f66210570adf5aba624d7da3c0382d5493f Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Sun, 21 Sep 2014 12:19:30 -0700
+Subject: [PATCH] Makefile-env: Don't force /sbin
+
+---
+ src/Makefile-env.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index f2ab655..bf8876e 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -27,7 +27,7 @@ bin_DEBUGPROGRAMS =
+ ceph_sbindir = $(sbindir)
+ 
+ # certain things go straight into /sbin, though!
+-su_sbindir = /sbin
++su_sbindir = $(sbindir)
+ 
+ # C/C++ tests to build will be appended to this
+ check_PROGRAMS =
+-- 
+2.1.0
+
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 7a8b85a8945f4..a80b5d09c285a 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1,37 +1,59 @@
-{stdenv, fetchgit, libatomic_ops, autoconf, automake, boost, btrfsProgs, cryptopp, curl, expat,
- fcgi, fuse, gperftools, keyutils, leveldb, libaio, libedit, libtool,
- libuuid, linuxHeaders, openssl, pkgconfig, python, snappy, which, xfsprogs, xz}:
+{ stdenv, fetchgit, autoconf, automake, makeWrapper, pkgconfig, libtool, which
+, boost, btrfsProgs, cryptopp, curl, expat, fcgi, fuse, gperftools, keyutils
+, leveldb, libaio, libatomic_ops, libedit, libuuid, linuxHeaders, openssl
+, python, snappy, udev, xfsprogs, xz
+, zfs ? null
+}:
 
+with stdenv.lib;
+let
+  wrapArgs = "--prefix PYTHONPATH : \"$(toPythonPath $out)\""
+    + " --prefix PATH : \"$out/bin\""
+    + " --prefix LD_LIBRARY_PATH : \"$out/lib\"";
+in
 stdenv.mkDerivation rec {
-  baseName="ceph";
-  version="0.79";
-  name="${baseName}-${version}";
+  name="ceph-${version}";
+  version="0.85";
+
+  src = fetchgit {
+    url = "git://github.com/ceph/ceph.git";
+    rev = "refs/tags/v0.85";
+    sha256 = "0g98cgrs3gfsc8azg3k0n61bgna2w906qm69j4qbjkb61l83ld1z";
+  };
+
+  patches = [
+    ./0001-Cleanup-boost-optionals.patch # Remove in 0.86
+    ./0001-Makefile-env-Don-t-force-sbin.patch
+  ];
+
+  nativeBuildInputs = [ autoconf automake makeWrapper pkgconfig libtool which ];
   buildInputs = [
-    fuse linuxHeaders pkgconfig libatomic_ops autoconf automake boost btrfsProgs cryptopp expat
-    fcgi fuse gperftools keyutils leveldb libaio libedit libtool libuuid openssl pkgconfig
-    python snappy which xfsprogs.lib xz
+    boost boost.lib btrfsProgs cryptopp curl expat fcgi fuse gperftools keyutils
+    libatomic_ops leveldb libaio libedit libuuid linuxHeaders openssl python
+    snappy udev xfsprogs.lib xz zfs
   ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  installFlags = "DESTDIR=\${out}";
+  configureFlags = [
+    "--exec_prefix=$(out)"
+  ] ++ optional (zfs != null) "--with-zfs=${zfs}";
+
+  postInstall = ''
+    wrapProgram $out/bin/ceph ${wrapArgs}
+    wrapProgram $out/bin/ceph-brag ${wrapArgs}
+    wrapProgram $out/bin/ceph-rest-api ${wrapArgs}
+  '';
 
   enableParallelBuilding = true;
-  src = fetchgit {
-    url = "https://github.com/ceph/ceph";
-    rev = "4c2d73a5095f527c3a2168deb5fa54b3c8991a6e";
-    sha256 = "0850m817wqqmw2qdnwm5jvbdgifzlc7kcd05jv526pdvmq1x92rf";
-  };
 
   meta = {
-    inherit version;
+    homepage = http://ceph.com/;
     description = "Distributed storage system";
-    maintainers = [
-      stdenv.lib.maintainers.ak
-    ];
-    platforms = with stdenv.lib.platforms; 
-      linux;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ ak wkennington ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index dcbf7235e49c4..7617e82f1a8a5 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.42.9";
+  name = "e2fsprogs-1.42.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "00i83w22sbyq849as9vmaf2xcx1d06npvriyv8m0z81gx43ar4ig";
+    sha256 = "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71";
   };
 
   buildInputs = [ pkgconfig libuuid ];
diff --git a/pkgs/tools/filesystems/grive/default.nix b/pkgs/tools/filesystems/grive/default.nix
index c6d2776f437a7..559e2ae4c5131 100644
--- a/pkgs/tools/filesystems/grive/default.nix
+++ b/pkgs/tools/filesystems/grive/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "f2b978cc93a2d16262c7b78c62019b2a58044eaef4ca95feaa74dfd4dfcbfa36";
   };
 
-  buildInputs = [cmake libgcrypt json_c curl expat stdenv binutils boost];
+  buildInputs = [cmake libgcrypt json_c curl expat stdenv binutils boost boost.lib];
 
   # work around new binutils headers, see
   # http://stackoverflow.com/questions/11748035/binutils-bfd-h-wants-config-h-now
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 2a7d9672843dc..6e54de033d608 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,15 +1,13 @@
 {stdenv, fetchgit, libuuid, lzo, zlib, acl}:
 
-let
-  version = "1.5.0";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "mtd-utils-${version}";
+  version = "1.5.1";
 
   src = fetchgit {
     url = git://git.infradead.org/mtd-utils.git;
     rev = "refs/tags/v" + version;
-    sha256 = "cc645c0ec28083431b11f3b38f9f7759378d89e11047a883529f703e1b6c1cce";
+    sha256 = "1bjx42pwl789ara63c672chvgvmqhkj4y132gajqih6naq71f8g7";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 7c9cd05009d68..019f2178204f9 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,41 +1,58 @@
-{ stdenv, fetchurl, libtool, gettext, libuuid }:
+{ stdenv, fetchurl, gettext, libuuid, readline }:
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-3.1.11";
+  name = "xfsprogs-3.2.1";
 
   src = fetchurl {
-    urls = [ "ftp://oss.sgi.com/projects/xfs/cmd_tars/${name}.tar.gz" "ftp://oss.sgi.com/projects/xfs/previous/${name}.tar.gz" ];
-    sha256 = "1gnnyhy3khl08a24c5y0pyakz6nnwkiw1fc6rb0r1j5mfw0rix5d";
+    urls = map (dir: "ftp://oss.sgi.com/projects/xfs/${dir}/${name}.tar.gz")
+      [ "cmd_tars" "previous" ];
+    sha256 = "0rsp31qrz0wskr70dwzl5ignkac7j98j7m9cy6wl57zy716fmy43";
   };
 
-  patchPhase = ''
-    sed -i s,/bin/bash,`type -P bash`, install-sh
-  '';
+  prePatch = ''
+    sed -i s,/bin/bash,`type -P bash`,g install-sh
+    sed -i s,ldconfig,`type -P ldconfig`,g configure m4/libtool.m4
 
-  outputs = ["out" "lib"];
-
-  postInstall = ''
-    (cd include; make install-dev)
-    # The make install-dev target is broken when --disable-shared
-    mkdir -p $lib/lib $lib/include
-    cp ./libhandle/.libs/libhandle.a \
-       ./libxcmd/.libs/libxcmd.a \
-       ./libxlog/.libs/libxlog.a \
-       ./libxfs/.libs/libxfs.a $lib/lib
-    mv $out/include/* $lib/include
+    # Fixes from gentoo 3.2.1 ebuild
+    sed -i "/^PKG_DOC_DIR/s:@pkg_name@:${name}:" include/builddefs.in
+    sed -i '1iLLDFLAGS = -static' {estimate,fsr}/Makefile
+    sed -i "/LLDFLAGS/s:-static::" $(find -name Makefile)
+    sed -i '/LIB_SUBDIRS/s:libdisk::' Makefile
   '';
 
-  enableParallelBuilding = true;
+  patches = [
+    # This patch fixes shared libs installation, still not fixed in 3.2.1
+    ./xfsprogs-3.1.11-sharelibs.patch
+  ];
 
-  buildInputs = [ libtool gettext libuuid ];
+  buildInputs = [ gettext libuuid readline ];
+
+  outputs = [ "out" "lib" ];
 
-  configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ZIP=gzip AWK=gawk --disable-shared";
   preConfigure = ''
-    configureFlags="$configureFlags root_sbindir=$out/sbin root_libdir=$lib/lib"
+    NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")"
   '';
-  disableStatic = false;
 
-  meta = {
+  configureFlags = [
+    "MAKE=make"
+    "MSGFMT=msgfmt"
+    "MSGMERGE=msgmerge"
+    "XGETTEXT=xgettext"
+    "--disable-lib64"
+    "--enable-readline"
+    "--includedir=$(lib)/include"
+    "--libdir=$(lib)/lib"
+  ];
+
+  installFlags = [ "install-dev" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://xfs.org/;
     description = "SGI XFS utilities";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.1.11-sharelibs.patch b/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.1.11-sharelibs.patch
new file mode 100644
index 0000000000000..38599bd651fae
--- /dev/null
+++ b/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.1.11-sharelibs.patch
@@ -0,0 +1,106 @@
+use libtool to do all installing.  do not use the manual file install as
+that'll copy files directly from the .libs/ subdir which might have rpaths
+that we do not want.
+
+--- a/libdisk/Makefile
++++ b/libdisk/Makefile
+@@ -25,6 +25,7 @@
+ install: default
+ 
+ install-dev: default
++	$(INSTALL_LTLIB_DEV)
+ 
+ install-qa: install-dev
+ 
+--- a/libhandle/Makefile
++++ b/libhandle/Makefile
+@@ -20,7 +20,6 @@
+ include $(BUILDRULES)
+ 
+ install: default
+-	$(INSTALL_LTLIB)
+ 
+ install-dev: default
+ 	$(INSTALL_LTLIB_DEV)
+--- a/libxcmd/Makefile
++++ b/libxcmd/Makefile
+@@ -32,6 +32,11 @@
+ 
+ include $(BUILDRULES)
+ 
+-install install-dev install-qa: default
++install: default
++
++install-dev: default
++	$(INSTALL_LTLIB_DEV)
++
++install-qa: default
+ 
+ -include .dep
+--- a/libxfs/Makefile
++++ b/libxfs/Makefile
+@@ -41,5 +41,6 @@
+ install: default
+ 
+ install-dev: default
++	$(INSTALL_LTLIB_DEV)
+ 
+ install-qa: default
+--- a/libxlog/Makefile
++++ b/libxlog/Makefile
+@@ -12,6 +12,8 @@
+ 
+ CFILES = xfs_log_recover.c util.c
+ 
++LTLIBS = $(LIBUUID) $(LIBXFS)
++
+ # don't want to link xfs_repair with a debug libxlog.
+ DEBUG = -DNDEBUG
+ 
+@@ -19,6 +21,11 @@
+ 
+ include $(BUILDRULES)
+ 
+-install install-dev install-qa: default
++install: default
++
++install-dev: default
++	$(INSTALL_LTLIB_DEV)
++
++install-qa: default
+ 
+ -include .dep
+--- a/Makefile
++++ b/Makefile
+@@ -66,6 +66,8 @@
+ mkfs: libxfs
+ quota: libxcmd
+ repair: libxfs libxlog
++libxlog: libxfs
++libxlog-install-dev: libxfs-install-dev
+ 
+ ifneq ($(ENABLE_BLKID), yes)
+ mkfs: libdisk
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -71,17 +71,9 @@
+ # /usr/lib.
+ ifeq ($(ENABLE_SHARED),yes)
+ INSTALL_LTLIB_DEV = \
+-	cd $(TOPDIR)/$(LIBNAME)/.libs; \
+-	../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+-	../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR); \
+-	../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_LIB_DIR)/$(LIBNAME).la ; \
+-	../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
+-	../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
+-	if test "x$(PKG_LIB_DIR)" != "x$(PKG_ROOT_LIB_DIR)" ; then \
+-	../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a $(PKG_ROOT_LIB_DIR)/$(LIBNAME).a; \
+-	../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_ROOT_LIB_DIR)/$(LIBNAME).la; \
+-	../$(INSTALL) -S $(PKG_ROOT_LIB_DIR)/$(LIBNAME).so $(PKG_LIB_DIR)/$(LIBNAME).so; \
+-	fi
++	set -e; cd $(TOPDIR)/$(LIBNAME); \
++	$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
++	env -uDIST_ROOT $(LTINSTALL) $(TOPDIR)/$(LIBNAME)/$(LIBNAME).la $(DIST_ROOT)$(PKG_LIB_DIR)/$(LIBNAME).la
+ else
+ INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
+ endif
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index c9078a0cb8be0..e33f46ea9ccd3 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -6,17 +6,17 @@ let
   p = if stdenv.is64bit then {
       arch = "x86_64";
       gcclib = "${stdenv.gcc.gcc}/lib64";
-      sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim";
+      sha256 = "09kw7f0qsvx3vx1c1zb117yf3yk7kkz66agspz5xx9b0zh6i82jw";
     }
     else {
       arch = "i386";
       gcclib = "${stdenv.gcc.gcc}/lib";
-      sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f";
+      sha256 = "0f2230c91120f05159281b39c620ab6bad6559ce8a17a0874d0a82350ebba426";
     };
 in 
 stdenv.mkDerivation rec {
 
-  name = "yandex-disk-0.1.2.481";
+  name = "yandex-disk-0.1.4.504";
 
   src = fetchurl {
     url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 6b65d3df0d3f5..ac49a3c13a346 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
   };
 
-  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
+  buildInputs = [ boost boost.lib freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
   nativeBuildInputs = [ perl pkgconfig ];
 
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 2e3274ca0ff11..e69a73ff321e4 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchsvn, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2, makeWrapper, libX11, libtiff }:
+{ lib, stdenv, fetchurl, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2
+, makeWrapper, libtiff
+, enableX11 ? false, libX11 }:
 
-let rev = 1742; in
-stdenv.mkDerivation {
-  name = "netpbm-advanced-${toString rev}";
+stdenv.mkDerivation rec {
+  name = "netpbm-10.66.00";
 
-  src = fetchsvn {
-    url = https://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced;
-    inherit rev;
-    sha256 = "0csx6g0ci66nx1a6z0a9dkpfp66mdvcpp5r7g6zrx4jp18r9hzb2";
+  src = fetchurl {
+    url = "mirror://gentoo/distfiles/${name}.tar.xz";
+    sha256 = "1z33pxdir92m7jlvp5c2q44gxwj7jyf8skiqkr71kgirw4w4zsbz";
   };
 
   postPatch = /* CVE-2005-2471, from Arch */ ''
@@ -17,10 +17,13 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-fPIC"; # Gentoo adds this on every platform
 
-  buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 libtiff ];
+  buildInputs =
+    [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libtiff ]
+    ++ lib.optional enableX11 libX11;
 
   configurePhase = ''
     cp config.mk.in config.mk
+    echo "STATICLIB_TOO = n" >> config.mk
     substituteInPlace "config.mk" \
         --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff}/lib/libtiff.so" \
         --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include"
@@ -38,21 +41,12 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   installPhase = ''
-    make package pkgdir=$PWD/netpbmpkg
-    # Pass answers to the script questions
-    ./installnetpbm << EOF
-    $PWD/netpbmpkg
-    $out
-    Y
-    $out/bin
-    $out/lib
-    N
-    $out/lib
-    $out/lib
-    $out/include
-    $out/man
-    N
-    EOF
+    make package pkgdir=$out
+
+    rm -rf $out/link $out/*_template $out/{pkginfo,README,VERSION} $out/man/web
+
+    mkdir -p $out/share/netpbm
+    mv $out/misc $out/share/netpbm/
 
     # wrap any scripts that expect other programs in the package to be in their PATH
     for prog in ppmquant; do
diff --git a/pkgs/tools/graphics/pdf2svg/default.nix b/pkgs/tools/graphics/pdf2svg/default.nix
new file mode 100644
index 0000000000000..591a85c244725
--- /dev/null
+++ b/pkgs/tools/graphics/pdf2svg/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, cairo, gtk, poppler }:
+
+stdenv.mkDerivation {
+  name = "pdf2svg-0.2.2";
+
+  src = fetchurl {
+    url = "http://www.cityinthesky.co.uk/wp-content/uploads/2013/10/pdf2svg-0.2.2.tar.gz" ; 
+    sha256 = "1jy6iqwwvd7drcybmdlmnc8m970f82fd7fisa8ha5zh13p49r8n2";
+  };
+
+  buildInputs = [ cairo pkgconfig poppler.poppler_glib gtk ];
+
+  meta = { 
+    description = "PDF converter to SVG format";
+    homepage = http://www.cityinthesky.co.uk/opensource/pdf2svg;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.ianwookim ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index b27e5132804b7..0419732949d85 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.7.76";
+  name = "pngcrush-1.7.77";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "0jbv3ijc0nfhy6pkhv4dwbk2v488rwixd8rv1c7lfs59wblb44hv";
+    sha256 = "0404275rb6934aiwrysgapg0irbimcb2y8giqlc63gfspnvy67fa";
   };
 
   configurePhase = ''
diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix
index 892ef54cdeee0..936956cbd177a 100644
--- a/pkgs/tools/graphics/qrencode/default.nix
+++ b/pkgs/tools/graphics/qrencode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qrencode-3.4.3";
+  name = "qrencode-3.4.4";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz";
+    sha256 = "198zvsfa2y5bb3ccikrhmhd4i43apr3b26dqcf3zkjyv3n5iirgg";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index 84b271acf2b06..2f3929b82b8e0 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -1,22 +1,88 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchgit, qt4, fontconfig, freetype, libpng, zlib, libjpeg
+, openssl, libX11, libXext, libXrender, overrideDerivation }:
 
 stdenv.mkDerivation rec {
-  name = "wkhtmltopdf-0.11.0_rc1";
+  version = "0.12.1";
+  name = "wkhtmltopdf-${version}";
 
-  src = fetchurl {
-    url = "http://wkhtmltopdf.googlecode.com/files/${name}.tar.bz2";
-    sha1 = "db03922d281856e503b3d562614e3936285728c7";
+  src = fetchgit {
+    url = "https://github.com/wkhtmltopdf/wkhtmltopdf.git";
+    rev = "refs/tags/${version}";
+    sha256 = "0wjzaaviy1k3z8r2kzb2rmyx6xdj23a338b86sxcb15ws3kzwgwh";
   };
 
-  buildInputs = [ qt4 ];
+  wkQt = overrideDerivation qt4 (deriv: {
+    name = "qt-mod-4.8.6";
+    src = fetchgit {
+      url = "https://github.com/wkhtmltopdf/qt.git";
+      rev = "82b568b"; # From git submodule spec in wkhtml repo.
+      sha256 = "0whppwxnymh5bdayqsqx54n074m99yk6v78z7f0k5prja55yvwyx";
+    };
+    configureFlags =
+      ''
+        -v -no-separate-debug-info -release -confirm-license -opensource
+        -qdbus -glib -dbus-linked -openssl-linked
+      ''
+      + # This is taken from the wkhtml build script that we don't run
+      ''
+        -fast
+        -static
+        -exceptions
+        -xmlpatterns
+        -webkit
+        -system-zlib
+        -system-libpng
+        -system-libjpeg
+        -no-libmng
+        -no-libtiff
+        -no-accessibility
+        -no-stl
+        -no-qt3support
+        -no-phonon
+        -no-phonon-backend
+        -no-opengl
+        -no-declarative
+        -no-sql-ibase
+        -no-sql-mysql
+        -no-sql-odbc
+        -no-sql-psql
+        -no-sql-sqlite
+        -no-sql-sqlite2
+        -no-mmx
+        -no-3dnow
+        -no-sse
+        -no-sse2
+        -no-multimedia
+        -nomake demos
+        -nomake docs
+        -nomake examples
+        -nomake tools
+        -nomake tests
+        -nomake translations
+      '';
+  });
+
+  buildInputs = [ wkQt fontconfig freetype libpng zlib libjpeg openssl
+    libX11 libXext libXrender
+    ];
 
   configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out";
   
+  patches = [ ./makefix.patch ];
+
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://code.google.com/p/wkhtmltopdf/;
+    homepage = http://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
+    longDescription = ''
+      wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools
+      to render HTML into PDF and various image formats using the QT Webkit
+      rendering engine. These run entirely "headless" and do not require a
+      display or display service.
+
+      There is also a C library, if you're into that kind of thing.
+    '';
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/graphics/wkhtmltopdf/makefix.patch b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
new file mode 100644
index 0000000000000..0642a23afa9e6
--- /dev/null
+++ b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
@@ -0,0 +1,24 @@
+diff -Naur a/src/image/image.pro b/src/image/image.pro
+--- a/src/image/image.pro	2014-08-28 14:07:51.024561967 +0200
++++ b/src/image/image.pro	2014-08-28 14:08:22.383623390 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltoimage.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltoimage.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
+diff -Naur a/src/pdf/pdf.pro b/src/pdf/pdf.pro
+--- a/src/pdf/pdf.pro	2014-08-28 14:10:02.305818775 +0200
++++ b/src/pdf/pdf.pro	2014-08-28 14:09:47.360789555 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltopdf.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltopdf.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 2795b0d4d871b..2db5d36a10d86 100644
--- a/pkgs/tools/inputmethods/fcitx/default.nix
+++ b/pkgs/tools/inputmethods/fcitx/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "fcitx-4.2.8.3";
+  name = "fcitx-4.2.8.4";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
-    sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb";
+    sha256 = "1yhvqg4q0knywdrh8sljqjn1i72rd8ya0fr70pc0w7fq25013x37";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
new file mode 100644
index 0000000000000..2099220f2a1f2
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, fcitx, anthy }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-anthy-0.2.1";
+
+  meta = with stdenv.lib; {
+    description = "Fcitx Wrapper for anthy";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
+    sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x";
+  };
+
+  buildInputs = [ cmake fcitx anthy ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+}
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
new file mode 100644
index 0000000000000..761ae6169ebee
--- /dev/null
+++ b/pkgs/tools/misc/binwalk/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python, wrapPython, curses, mtdutils, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
+, pyqtgraph ? null
+, visualizationSupport ? false }:
+
+assert visualizationSupport -> pyqtgraph != null;
+
+stdenv.mkDerivation rec {
+  version = "2.0.1";
+  name = "binwalk-${version}";
+
+  src = fetchFromGitHub {
+    owner = "devttys0";
+    repo = "binwalk";
+    rev = "v${version}";
+    sha256 = "1r5389lk3gk8y4ksrfljyb97l6pwnwvv8g1slbgr20avkzgw8zmn";
+  };
+
+  pythonPath = with stdenv.lib; [ curses ]
+               ++ optional visualizationSupport [ pyqtgraph ];
+
+  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses mtdutils zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
+                          ++ optional visualizationSupport [ pyqtgraph ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = with stdenv.lib; {
+    homepage = "http://binwalk.org";
+    description = "A tool for searching a given binary image for embedded files";
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix
index 29a6db4e6d27a..4a1a272cc0fee 100644
--- a/pkgs/tools/misc/bmon/default.nix
+++ b/pkgs/tools/misc/bmon/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, confuse, libnl }:
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, ncurses, confuse
+, libnl }:
 
-stdenv.mkDerivation {
-  name = "bmon-3.1";
+stdenv.mkDerivation rec {
+  name = "bmon-${version}";
+  version = "3.5";
 
-  src = fetchurl {
-    url = http://www.carisma.slowglass.com/~tgr/bmon/files/bmon-3.1.tar.gz;
-    sha256 = "005ib7c3g3cva0rdwsgl6hfakxd5yp88sf4bjxb6iarcm3ax18ky";
+  src = fetchFromGitHub {
+    owner = "tgraf";
+    repo = "bmon";
+    rev = "v${version}";
+    sha256 = "0k6cwprwnrnilbs2fgkx7z9mg6rr11wf6djq6pjfc7fjn2fjvybi";
   };
 
-  buildInputs = [ pkgconfig ncurses confuse libnl ];
+  buildInputs = [ autoconf automake pkgconfig ncurses confuse libnl ];
+
+  preConfigure = "sh ./autogen.sh";
 
   meta = with stdenv.lib; {
     description = "Network bandwidth monitor";
-    homepage = http://www.carisma.slowglass.com/~tgr/bmon/;
-    # Neither the homepage nor the source archive has license info, but in the
-    # latest git version there is a LICENSE file that is the 2-clause BSD
-    # license.
-    #  - https://github.com/tgraf/bmon/blob/master/LICENSE
-    #  - http://opensource.org/licenses/BSD-2-Clause
+    homepage = https://github.com/tgraf/bmon;
+    # Licensed unter BSD and MIT
+    #  - https://github.com/tgraf/bmon/blob/master/LICENSE.BSD
+    #  - https://github.com/tgraf/bmon/blob/master/LICENSE.MIT
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor pSub ];
   };
 }
diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix
index c61e0ff00b3fd..220063107803e 100644
--- a/pkgs/tools/misc/cpuminer-multi/default.nix
+++ b/pkgs/tools/misc/cpuminer-multi/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, curl, jansson, autoconf, automake, openssl
+{ stdenv, fetchgit, curl, jansson, autoconf, automake
 , aesni ? true }:
 
 let
-  rev = "4230012da5d1cc491976c6f5e45da36db6d9f576";
-  date = "20140619";
+  rev = "977dad27e18627e5b723800f5f4201e385fe0d2e";
+  date = "20140723";
 in
 stdenv.mkDerivation rec {
   name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}";
@@ -11,16 +11,16 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     inherit rev;
     url = https://github.com/wolf9466/cpuminer-multi.git;
-    sha256 = "c19a5dd1bfdbbaec3729f61248e858a5d8701424fffe67fdabf8179ced9c110b";
+    sha256 = "9c438c6cd9f40273822f3d3103a370e43e8a40368695ed5e01ae87297dce7843";
   };
 
-  buildInputs = [ autoconf automake curl jansson openssl ];
+  buildInputs = [ autoconf automake curl jansson ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  configureFlags = if aesni then [ "--disable-aes-ni" ] else [ ];
+  configureFlags = [ (if aesni then "--enable-aes-ni" else "--disable-aes-ni") ];
 
   meta = with stdenv.lib; {
     description = "Multi-algo CPUMiner";
diff --git a/pkgs/tools/misc/escoger/default.nix b/pkgs/tools/misc/escoger/default.nix
new file mode 100644
index 0000000000000..2fe67f1b97f43
--- /dev/null
+++ b/pkgs/tools/misc/escoger/default.nix
@@ -0,0 +1,33 @@
+{ cabal, dataDefault, fetchFromGitHub, HUnit, mtl, parallel
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, vector, vectorAlgorithms, vty
+}:
+
+let
+  rv = "b6b11c51846a9283ef4ee7c839b99ded9f6c3bc8";
+in
+cabal.mkDerivation (self: {
+  pname = "escoger";
+  version = "0.1.0.0-${rv}";
+  src = fetchFromGitHub {
+    owner = "tstat";
+    repo = "escoger";
+    rev = rv;
+    sha256 = "0n6mvg5cm50ym20bz74b7q1afkljp0fc9pxhqk0ai82a71xxbxy3";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault mtl parallel vector vectorAlgorithms vty
+  ];
+  testDepends = [
+    dataDefault HUnit mtl parallel QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 vector vectorAlgorithms
+    vty
+  ];
+  meta = {
+    description = "A multithreaded terminal fuzzy selector";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 1b6205db7ce7b..36d49ce9b2350 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ethtool-3.14";
+  name = "ethtool-3.15";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3";
+    sha256 = "16kgw9y4fisldf1z6zpw3v965cc8nram0dycacwkc0js4l76klw8";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/go-bindata/default.nix b/pkgs/tools/misc/go-bindata/default.nix
new file mode 100644
index 0000000000000..339126f7c9812
--- /dev/null
+++ b/pkgs/tools/misc/go-bindata/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, go, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+  name = "go-bindata";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o go-bindata github.com/jteeuwen/go-bindata/go-bindata
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp go-bindata $out/bin
+  '';
+
+  meta = with lib; {
+    homepage    = "https://github.com/jteeuwen/go-bindata";
+    description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.cc0 ;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/go-bindata/deps.nix b/pkgs/tools/misc/go-bindata/deps.nix
new file mode 100644
index 0000000000000..617f7dc6abe19
--- /dev/null
+++ b/pkgs/tools/misc/go-bindata/deps.nix
@@ -0,0 +1,28 @@
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/jteeuwen/go-bindata";
+      src = fetchFromGitHub {
+        owner = "jteeuwen";
+        repo = "go-bindata";
+        rev = "93b909d1499a38620121b0a5eb43a18f3bccb083";
+        sha256 = "1v4jl9lnzy0p4nvjfkh96yy0w181n5mkr0kamh743911gfbpq4sh";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 16c7f652decaf..cc07ac95db8d8 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig, gtkmm, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.18.0";
+  name = "gparted-0.19.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.bz2";
-    sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz";
+    sha256 = "1x0mbks94jpzphb8hm8w0iqjrn665jkdm4qnzrvxrnvy0x3m2fwd";
   };
 
   configureFlags = "--disable-doc";
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index 035924408189c..de380222a668a 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  version = "1.4";
+  version = "1.5";
   name    = "grc-${version}";
 
   src = fetchurl {
     url    = "http://korpus.juls.savba.sk/~garabik/software/grc/grc_${version}.tar.gz";
-    sha256 = "1l7lskxfjk32kkv4aaqw5qcxvh972nab3x2jzy67m1aa0zpcbzdv";
+    sha256 = "1p6xffp5mmnaw9llvrd4rc7zd4l7b1m62dlmn3c8p1ina831yn52";
   };
 
   installPhase = ''
@@ -29,4 +29,3 @@ stdenv.mkDerivation rec {
     '';
   };
 }
-
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index b1877bdcf98cd..e5471a6c404cd 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,30 +1,52 @@
-{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu
-, devicemapper, EFIsupport ? false }:
-
+{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake
+, gettext, ncurses, libusb, freetype, qemu, devicemapper
+, linuxPackages ? null
+, efiSupport ? false
+, zfsSupport ? false
+}:
+
+with stdenv.lib;
 let
+  efiSystems = {
+    "i686-linux".target = "i386";
+    "x86_64-linux".target = "x86_64";
+  };
 
-  prefix = "grub${if EFIsupport then "-efi" else ""}";
+  canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems);
 
-  version = "2.00";
+  prefix = "grub${if efiSupport then "-efi" else ""}${optionalString zfsSupport "-zfs"}";
+
+  version = "2.02-git-1de3a4";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
     sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
   };
 
-in
+  po_src = fetchurl {
+    name = "grub-2.02-beta2.tar.gz";
+    url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.gz";
+    sha256 = "1lr9h3xcx0wwrnkxdnkfjwy08j7g7mdlmmbdip2db4zfgi69h0rm";
+  };
+
+in (
+
+assert efiSupport -> canEfi;
+assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null;
 
 stdenv.mkDerivation rec {
   name = "${prefix}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnu/grub/grub-${version}.tar.xz";
-    sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq";
+  src = fetchgit {
+    url = "git://git.savannah.gnu.org/grub.git";
+    rev = "1de3a48098053aaebd35232bd73e3ce3f3fdf51c";
+    sha256 = "0d1953nmi251czkm1dmd7vnm3iz2rkqbznlp6ph33va0d7kw1kfc";
   };
 
-  nativeBuildInputs = [ flex bison ];
+  nativeBuildInputs = [ autogen flex bison python autoconf automake ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
-    ++ stdenv.lib.optional doCheck qemu;
+    ++ optional doCheck qemu
+    ++ optional zfsSupport linuxPackages.zfs;
 
   preConfigure =
     '' for i in "tests/util/"*.in
@@ -43,27 +65,22 @@ stdenv.mkDerivation rec {
        # See <http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html>.
        sed -i "tests/util/grub-shell.in" \
            -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
-
-       # Fix for building on Glibc 2.16.  Won't be needed once the
-       # gnulib in grub is updated.
-       sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h
     '';
 
   prePatch =
-    '' gunzip < "${unifont_bdf}" > "unifont.bdf"
+    '' tar zxf ${po_src} grub-2.02~beta2/po
+       rm -rf po
+       mv grub-2.02~beta2/po po
+       sh autogen.sh
+       gunzip < "${unifont_bdf}" > "unifont.bdf"
        sed -i "configure" \
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
   patches = [ ./fix-bash-completion.patch ];
 
-  configureFlags =
-    let arch = if stdenv.system == "i686-linux" then "i386"
-               else if stdenv.system == "x86_64-linux" then "x86_64"
-               else throw "unsupported EFI firmware architecture";
-    in
-      stdenv.lib.optionals EFIsupport
-        [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ];
+  configureFlags = optional zfsSupport "--enable-libzfs"
+    ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ];
 
   doCheck = false;
   enableParallelBuilding = true;
@@ -72,7 +89,7 @@ stdenv.mkDerivation rec {
     paxmark pms $out/sbin/grub-{probe,bios-setup}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
 
     longDescription =
@@ -89,11 +106,8 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/grub/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = if EFIsupport then
-      [ "i686-linux" "x86_64-linux" ]
-    else
-      stdenv.lib.platforms.gnu;
+    platforms = platforms.gnu;
   };
-}
+})
diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix
index 02cb65b1060af..96acc6c8ab93c 100644
--- a/pkgs/tools/misc/ised/default.nix
+++ b/pkgs/tools/misc/ised/default.nix
@@ -10,16 +10,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ised";
-    version="2.5.0";
+    version = "2.6.0";
     name="${baseName}-${version}";
     url="mirror://sourceforge/project/ised/${name}.tar.bz2";
-    hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0rf9brqkrad8f3czpfc1bxq9ybv3nxci9276wdxas033c82cqkjs";
   };
 
   inherit (sourceInfo) name version;
@@ -37,11 +36,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl3Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ised.sf.net";
-    };
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream
new file mode 100644
index 0000000000000..6539bf477e545
--- /dev/null
+++ b/pkgs/tools/misc/ised/default.upstream
@@ -0,0 +1,4 @@
+url http://ised.sourceforge.net/web_nav.html
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index c51219839b22b..48e31246426a0 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "less-462";
+  name = "less-468";
 
   src = fetchurl {
-    url = http://www.greenwoodsoftware.com/less/less-462.tar.gz;
-    sha256 = "1kv5izyrkds8lkkzd46c9gxsnjgxbr7w4ficzma95dprcn92m97a";
+    url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
+    sha256 = "1s36hppwcrvf2csw5xyjrbkyyfgshqp5vfg32ms480hdn76bbs28";
   };
 
   # Look for ‘sysless’ in /etc.
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index 2805514965ead..b97af331093b2 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -3,12 +3,13 @@
   scrollkeeper}:
 
 stdenv.mkDerivation {
-  name = "mdbtools-git";
+  name = "mdbtools-git-2014-07-25";
 
   src = fetchgit {
     url = "http://github.com/brianb/mdbtools.git";
-    rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b";
-    sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n";
+    rev = "9ab40e83e6789015c965c92bdb62f92f8cdd0dbd";
+    sha256 = "18j1a9y9xhl7hhx30zvmx2n4w7dc8c7sdr6722sf3mh5230mvv59";
+    name = "mdbtools-git-export";
   };
 
   buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake
diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix
index ebf0a89a7075b..6fccff7781d47 100644
--- a/pkgs/tools/misc/memtest86/default.nix
+++ b/pkgs/tools/misc/memtest86/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "memtest86-4.3.3";
+  name = "memtest86-4.3.6";
   
   src = fetchurl {
-    url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz;
-    sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl";
+    url = http://www.memtest86.com/downloads/memtest86-4.3.6-src.tar.gz;
+    sha256 = "0qbksyl2hmkm12n7zbmf2m2n3q811skhykxx6a9a7y6r7k8y5qmv";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/mstflint/default.nix b/pkgs/tools/misc/mstflint/default.nix
new file mode 100644
index 0000000000000..32953483daae7
--- /dev/null
+++ b/pkgs/tools/misc/mstflint/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, zlib, libibmad }:
+
+stdenv.mkDerivation {
+  name = "mstflint-3.7.0-1.18";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/mstflint/mstflint-3.7.0-1.18.gcdb9f80.tar.gz";
+    sha256 = "10x4l3i58ynnni18i8qq1gfbqd2028r4jd3frshiwrl9yrj7sxn2";
+  };
+
+  buildInputs = [ zlib libibmad ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index 6435923b48a74..b8bdfd5c896bd 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -1,101 +1,42 @@
-{ stdenv, fetchurl, go, fetchgit, fetchbzr, fetchhg }:
+{ stdenv, lib, go, go-bindata, fetchgit, fetchbzr, fetchhg, fetchFromGitHub }:
 
-let
-  go-websocket = fetchgit {
-    url = "git://github.com/garyburd/go-websocket";
-    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";
-    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";
-    # Branch: "branch:lp:goyaml"
-    rev = 47;
-  };
-  log4go = fetchhg {
-    url = "https://code.google.com/p/log4go/";
-    rev = "c3294304d93f";
-    sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
-  };
-  osext = fetchhg {
-    url = "https://bitbucket.org/kardianos/osext";
-    rev = "364fb57";
-    sha256 = "1w9x2zj716agfd5x5497ajb9nz3ljar74768vjidsyly143vzjws";
-  };
+let deps = import ./deps.nix {
+  inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+};
 in stdenv.mkDerivation rec {
   name = "ngrok-${version}";
-  version = "1.6";
+  version = "1.7";
 
-  src = fetchurl {
-    url = "https://github.com/inconshreveable/ngrok/archive/${version}.tar.gz";
-    sha256 = "0w54ck00ma8wd87gc3dligypdjs7vrzbi9py46sqphsid3rihkjr";
-  };
+  buildInputs = [ go go-bindata ];
 
-  buildInputs = [ go ];
+  unpackPhase = ''
+    export GOPATH=$(pwd)
+    cp -LR ${deps}/src src
+    chmod u+w -R src
+    sourceRoot=src/github.com/inconshreveable/ngrok
+  '';
 
   preBuild = ''
-    export HOME="$PWD"
-
-    mkdir -p src/github.com/garyburd/go-websocket/
-    ln -s ${go-websocket}/* src/github.com/garyburd/go-websocket
-
-    mkdir -p src/github.com/inconshreveable/go-metrics/
-    ln -s ${go-metrics}/* src/github.com/inconshreveable/go-metrics
-
-    mkdir -p src/github.com/inconshreveable/go-bindata
-    ln -s ${go-bindata}/* src/github.com/inconshreveable/go-bindata
-
-    mkdir -p src/github.com/inconshreveable/go-update
-    ln -s ${go-update}/* src/github.com/inconshreveable/go-update
-
-    mkdir -p src/github.com/nsf/termbox-go/
-    ln -s ${termbox-go}/* src/github.com/nsf/termbox-go
-
-    mkdir -p src/launchpad.net/goyaml
-    ln -s ${goyaml}/* src/launchpad.net/goyaml
-
-    mkdir -p src/code.google.com/p/log4go
-    ln -s ${log4go}/* src/code.google.com/p/log4go
-
-    mkdir -p src/bitbucket.org/kardianos/osext
-    ln -s ${osext}/* src/bitbucket.org/kardianos/osext
+    export HOME=$(pwd)
+    export GOPATH=$(pwd):$GOPATH
 
     # don't download dependencies as we already have them
-    sed -i '/go get/d' Makefile
+    sed -i '/jteeuwen\/go-bindata/d' Makefile
+    sed -i '/export GOPATH/d' Makefile
+    sed -i 's|bin/go-bindata|go-bindata|' Makefile
   '';
 
   installPhase = ''
-    make release-client
+    make release-client release-server
     mkdir -p $out/bin
-    cp bin/ngrok $out/bin
-    cp -R assets $out
+    cp bin/ngrok{d,} $out/bin
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service";
     homepage = https://ngrok.com/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ iElectric ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ iElectric cstrahan ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/tools/misc/ngrok/deps.nix b/pkgs/tools/misc/ngrok/deps.nix
new file mode 100644
index 0000000000000..cc1ed2f3d486d
--- /dev/null
+++ b/pkgs/tools/misc/ngrok/deps.nix
@@ -0,0 +1,141 @@
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub, fetchgit, fetchhg, fetchbzr }:
+
+let
+  goDeps = [
+    {
+      root = "bitbucket.org/kardianos/osext";
+      src = fetchhg {
+        url = "https://bitbucket.org/kardianos/osext";
+        rev = "10";
+        sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n";
+      };
+    }
+    {
+      root = "code.google.com/p/log4go";
+      src = fetchhg {
+        url = "https://code.google.com/p/log4go";
+        rev = "48";
+        sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
+      };
+    }
+    {
+      root = "github.com/gorilla/websocket";
+      src = fetchFromGitHub {
+        owner = "gorilla";
+        repo = "websocket";
+        rev = "f4076986b69612ecb8bc7ce06d742eda6286200d";
+        sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/go-update";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "go-update";
+        rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d";
+        sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/go-vhost";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "go-vhost";
+        rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c";
+        sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/mousetrap";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "mousetrap";
+        rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa";
+        sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/ngrok";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "ngrok";
+        rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8";
+        sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4";
+      };
+    }
+    {
+      root = "github.com/influxdb/influxdb-go";
+      src = fetchFromGitHub {
+        owner = "influxdb";
+        repo = "influxdb-go";
+        rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7";
+        sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld";
+      };
+    }
+    {
+      root = "github.com/kr/binarydist";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "binarydist";
+        rev = "9955b0ab8708602d411341e55fffd7e0700f86bd";
+        sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3";
+      };
+    }
+    {
+      root = "github.com/nsf/termbox-go";
+      src = fetchFromGitHub {
+        owner = "nsf";
+        repo = "termbox-go";
+        rev = "9aecf65084a5754f12d27508fa2e6ed56851953b";
+        sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh";
+      };
+    }
+    {
+      root = "github.com/rcrowley/go-metrics";
+      src = fetchFromGitHub {
+        owner = "rcrowley";
+        repo = "go-metrics";
+        rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df";
+        sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f";
+      };
+    }
+    {
+      root = "github.com/stathat/go";
+      src = fetchFromGitHub {
+        owner = "stathat";
+        repo = "go";
+        rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
+        sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
+      };
+    }
+    {
+      root = "gopkg.in/check.v1";
+      src = fetchgit {
+        url = "https://github.com/go-check/check.git";
+        rev = "871360013c92e1c715c2de6d06b54899468a8a2d";
+        sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx";
+      };
+    }
+    {
+      root = "gopkg.in/yaml.v1";
+      src = fetchgit {
+        url = "https://github.com/go-yaml/yaml.git";
+        rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a";
+        sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 727657ca6e8dd..60ca3adf29efe 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20140822";
+  name = "parallel-20140922";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "8a146a59bc71218921d561f2c801b85e06fe3a21571083b58e6e0966dd397fd4";
+    sha256 = "0hxx1h2ba6y2y1vy02r2hzndid2b469hj08f0vlmpjqw5g4f52a5";
   };
 
   patchPhase =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ];
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Shell tool for executing jobs in parallel";
 
     longDescription =
@@ -43,9 +43,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/parallel/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index a8b6e046a9b2b..0af7143a320a5 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.5.3";
+  name = "pv-1.5.7";
 
   src = fetchurl {
     url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
-    sha256 = "03prg025kzivl1a5xqlf45szpnpqrmkzcvnf7lb2fc1v3jdrkwvn";
+    sha256 = "15srxzyssr8l25bl3rws476nx3fl58bdlh55gyv8cc3hpdhm0ly8";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index 5c53d885e6f72..ace42e41887f3 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, readline }:
 
 stdenv.mkDerivation rec {
-  name = "rlwrap-0.37";
+  name = "rlwrap-0.41";
 
   src = fetchurl {
     url = "http://utopia.knoware.nl/~hlub/uck/rlwrap/${name}.tar.gz";
-    sha256 = "1gcb95i839pwn9a3phs2wq7bwz9f6v8sydq6lf9y4gm3hk0s40w4";
+    sha256 = "02n22yy9wgz1cj59is17j0my17y7146ghkng381yxx4dnr3pcj9l";
   };
 
   buildInputs = [ readline ];
@@ -18,5 +18,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Readline wrapper for console programs";
     homepage = http://utopia.knoware.nl/~hlub/uck/rlwrap/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platform = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
new file mode 100644
index 0000000000000..f8e7dfaddc9ea
--- /dev/null
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "1.0.3.2";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-portable-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
+    sha256 = "040nmls7qbgw8yn502lym4kgqh5zxr2ks734bqajpi2ricnasvhl";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "admin/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/libexec"       > conf-install-libexec
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/libexec"
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-portable-utils/;
+    description = "A set of tiny general Unix utilities optimized for simplicity and small size.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 0ebc712fcf0d0..826f4e4d869ff 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, xdpyinfo, xprop }:
 
 let
-  version = "2014-05-27";
+  version = "3.6.2";
 in
 stdenv.mkDerivation {
   name = "screenFetch-${version}";
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://github.com/KittyKatt/screenFetch.git;
-    rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470";
-    sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j";
+    rev = "dec1cd6c2471defe4459967fbc8ae15b55714338";
+    sha256 = "138a7g0za5dq27jx7x8gqg7gjkgyq0017v0nbcg68ys7dqlxsdl3";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
new file mode 100644
index 0000000000000..0f28b15ea973a
--- /dev/null
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchgit, autoconf, automake, boost, pkgconfig, libtool, acl, libxml2, btrfsProgs, dbus_libs, docbook_xsl, libxslt, docbook_xml_dtd_45,  diffutils, pam, utillinux, attr, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "snapper-0.2.4";
+
+  src = fetchgit {
+    url = "https://github.com/openSUSE/snapper";
+    rev = "24e18153f7a32d0185dcfb20f8b8a4709ba8fe4a";
+    sha256 = "ec4b829430bd7181995e66a26ac86e8ac71c27e77faf8eb06db71d645c6f859b";
+  };
+
+  buildInputs = [ autoconf automake boost pkgconfig libtool acl libxml2 btrfsProgs dbus_libs docbook_xsl libxslt docbook_xml_dtd_45 diffutils pam utillinux attr gettext ];
+
+  patchPhase = ''
+    # work around missing btrfs/version.h; otherwise, use "-DHAVE_BTRFS_VERSION_H"
+    substituteInPlace snapper/Btrfs.cc --replace "define BTRFS_LIB_VERSION (100)" "define BTRFS_LIB_VERSION (200)";
+    # fix strange SuSE boost naming
+    substituteInPlace snapper/Makefile.am --replace \
+      "libsnapper_la_LIBADD = -lboost_thread-mt -lboost_system-mt -lxml2 -lacl -lz -lm" \
+      "libsnapper_la_LIBADD = -lboost_thread -lboost_system -lxml2 -lacl -lz -lm";
+    # general cleanup
+    sed -i 's/^INCLUDES/AM_CPPFLAGS/' $(grep -rl ^INCLUDES .|grep "\.am$")
+    '';
+
+  configurePhase = ''
+    aclocal
+    libtoolize --force --automake --copy
+    autoheader
+    automake --add-missing --copy
+    autoconf
+
+    ./configure --disable-silent-rules --disable-ext4 --disable-btrfs-quota --prefix=$out
+    '';
+
+  makeFlags = "DESTDIR=$(out)";
+
+  NIX_CFLAGS_COMPILE = [ "-I${libxml2}/include/libxml2" ];
+
+  # Probably a hack, but using DESTDIR and PREFIX makes everything work!
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for Linux filesystem snapshot management";
+    homepage = http://snapper.io;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.tstrobel ];
+  };
+}
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
index 6d2bee2381300..53945113e7f29 100644
--- a/pkgs/tools/misc/sutils/default.nix
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small command-line utilities.";
-     homepage = "https://github.com/baskerville/sutils";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/sutils;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix
index 79c6a743bce4c..df1a7eedeffd4 100644
--- a/pkgs/tools/misc/xdaliclock/default.nix
+++ b/pkgs/tools/misc/xdaliclock/default.nix
@@ -12,17 +12,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="xdaliclock";
-    version="2.40";
+    version = "2.41";
     name="${baseName}-${version}";
     project="${baseName}";
     url="http://www.jwz.org/${project}/${name}.tar.gz";
-    hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1crkjvza692irkqm9vwgn58m8ps93n0rxigm6pasgl5dnx3p6d1d";
   };
 
   inherit (sourceInfo) name version;
@@ -46,10 +45,8 @@ rec {
     platforms = with a.lib.platforms;
       linux ++ freebsd;
     license = "free"; #TODO BSD on Gentoo, looks like MIT
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.jwz.org/xdaliclock/";
-    };
+    downloadPage = "http://www.jwz.org/xdaliclock/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
index 9a059c9dbb5a7..e7a3d91967e66 100644
--- a/pkgs/tools/misc/xdo/default.nix
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small X utility to perform elementary actions on windows";
-     homepage = "https://github.com/baskerville/xdo";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xdo;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
index ca8be4c08eac9..600f40a67b7d6 100644
--- a/pkgs/tools/misc/xtitle/default.nix
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Outputs X window titles";
-     homepage = "https://github.com/baskerville/xtitle";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xtitle;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index e237e0b25eb93..bf23fbcf2cf13 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2014.08.10";
+  version = "2014.09.19";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1afa710vw0midpbv9pjw1b6h0x8kmdnj5dpipacnwsv3mbw1y4x1";
+    sha256 = "0xyn9rszvv0k0rqgwqzr69bk4n2crfxkwmmi8k26aw52yggba24k";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
new file mode 100644
index 0000000000000..35dc507206dd7
--- /dev/null
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, callPackage, python, utillinux }:
+
+with stdenv.lib;
+
+let 
+  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
+    neededNatives = [python] ++ optional (stdenv.isLinux) utillinux;
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name = "airfield-${version}";
+  version = "5ae816562a";
+
+  src = [(fetchgit {
+    url = https://github.com/emblica/airfield.git;
+    rev = version;
+    sha256 = "0rv05pq0xdm0d977dc3hg6dam78acymzrdvkxs8ga8xj4vfs5npk";
+  })];
+
+  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+
+  preInstall = ''
+    substituteInPlace node_modules/Airfield/airfield.js \
+        --replace "'./settings'" "process.env.NODE_CONFIG"
+  '';
+
+  passthru.names = ["Airfield"];
+
+  meta = {
+    description = "Airfield is a web-interface for hipache-proxy";
+    license = licenses.mit;
+    homepage = https://github.com/emblica/airfield;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/networking/airfield/package.nix b/pkgs/tools/networking/airfield/package.nix
new file mode 100644
index 0000000000000..705061919e909
--- /dev/null
+++ b/pkgs/tools/networking/airfield/package.nix
@@ -0,0 +1,1495 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "asn1-0.1.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        name = "asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."asn1" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "asn1" ];
+  };
+  by-spec."assert-plus"."0.1.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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+        name = "assert-plus-0.1.2.tgz";
+        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."assert-plus" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "assert-plus" ];
+  };
+  by-spec."async"."*" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.9.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+        name = "async-0.9.0.tgz";
+        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  "async" = self.by-version."async"."0.9.0";
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        name = "aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."aws-sign2" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "aws-sign2" ];
+  };
+  by-spec."base64-url"."1" =
+    self.by-version."base64-url"."1.0.0";
+  by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "base64-url-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
+        name = "base64-url-1.0.0.tgz";
+        sha1 = "ab694376f2801af6c9260899ffef02f86b40ee2c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."base64-url" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "base64-url" ];
+  };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.3";
+  by-version."bl"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bl-0.9.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bl/-/bl-0.9.3.tgz";
+        name = "bl-0.9.3.tgz";
+        sha1 = "c41eff3e7cb31bde107c8f10076d274eff7f7d44";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bl" or []);
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bl" ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "boom-0.4.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        name = "boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."boom" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "boom" ];
+  };
+  by-spec."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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+        name = "buffer-crc32-0.1.1.tgz";
+        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-crc32" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer-crc32" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        name = "bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "caseless-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+        name = "caseless-0.6.0.tgz";
+        sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."caseless" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "caseless" ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.5";
+  by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "combined-stream-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
+        name = "combined-stream-0.0.5.tgz";
+        sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."combined-stream" or []);
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "combined-stream" ];
+  };
+  by-spec."commander"."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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        name = "commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."connect"."2.7.1" =
+    self.by-version."connect"."2.7.1";
+  by-version."connect"."2.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.7.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
+        name = "connect-2.7.1.tgz";
+        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect" or []);
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
+      "crc-0.2.0" = self.by-version."crc"."0.2.0";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect" ];
+  };
+  by-spec."connect-redis"."*" =
+    self.by-version."connect-redis"."2.1.0";
+  by-version."connect-redis"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-redis-2.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect-redis/-/connect-redis-2.1.0.tgz";
+        name = "connect-redis-2.1.0.tgz";
+        sha1 = "bc20aab9791288c605f39f572f8cbb1fa8ab7cc4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect-redis" or []);
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect-redis" ];
+  };
+  "connect-redis" = self.by-version."connect-redis"."2.1.0";
+  by-spec."consolidate"."*" =
+    self.by-version."consolidate"."0.10.0";
+  by-version."consolidate"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "consolidate-0.10.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
+        name = "consolidate-0.10.0.tgz";
+        sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."consolidate" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "consolidate" ];
+  };
+  "consolidate" = self.by-version."consolidate"."0.10.0";
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        name = "cookie-0.0.5.tgz";
+        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-signature"."0.0.1" =
+    self.by-version."cookie-signature"."0.0.1";
+  by-version."cookie-signature"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
+        name = "cookie-signature-0.0.1.tgz";
+        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+        name = "core-util-is-1.0.1.tgz";
+        sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."core-util-is" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "core-util-is" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+        name = "crc-0.2.0.tgz";
+        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
+  by-spec."crc"."3.0.0" =
+    self.by-version."crc"."3.0.0";
+  by-version."crc"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "crc-3.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
+        name = "crc-3.0.0.tgz";
+        sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        name = "cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cryptiles" or []);
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cryptiles" ];
+  };
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ctype-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+        name = "ctype-0.5.2.tgz";
+        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ctype" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ctype" ];
+  };
+  by-spec."debug"."*" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-2.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  by-spec."debug"."^1.0.4" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-1.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        name = "debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        name = "delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."delayed-stream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "delayed-stream" ];
+  };
+  by-spec."depd"."0.4.5" =
+    self.by-version."depd"."0.4.5";
+  by-version."depd"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "depd-0.4.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
+        name = "depd-0.4.5.tgz";
+        sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."express"."3.0.5" =
+    self.by-version."express"."3.0.5";
+  by-version."express"."3.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.0.5";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express/-/express-3.0.5.tgz";
+        name = "express-3.0.5.tgz";
+        sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express" or []);
+    deps = {
+      "connect-2.7.1" = self.by-version."connect"."2.7.1";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.3" = self.by-version."mkdirp"."0.3.3";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "express" ];
+  };
+  "express" = self.by-version."express"."3.0.5";
+  by-spec."express-session"."^1.7.6" =
+    self.by-version."express-session"."1.8.2";
+  by-version."express-session"."1.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.8.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.8.2.tgz";
+        name = "express-session-1.8.2.tgz";
+        sha1 = "c4011e728a2349b3c18f117a5409908985e83483";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express-session" or []);
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "express-session" ];
+  };
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        name = "forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forever-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "forever-agent" ];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "form-data-0.1.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        name = "form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."form-data" or []);
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "form-data" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+        name = "formidable-1.0.11.tgz";
+        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."formidable" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "formidable" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        name = "fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
+  by-spec."hawk"."1.1.1" =
+    self.by-version."hawk"."1.1.1";
+  by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-1.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
+        name = "hawk-1.1.1.tgz";
+        sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hawk" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hawk" ];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hoek-0.9.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        name = "hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hoek" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hoek" ];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-signature-0.10.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        name = "http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."http-signature" or []);
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "http-signature" ];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inherits-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inherits" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inherits" ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "isarray-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        name = "isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."isarray" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "isarray" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+        name = "json-stringify-safe-5.0.0.tgz";
+        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."json-stringify-safe" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "json-stringify-safe" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+        name = "methods-0.0.1.tgz";
+        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+        name = "mime-1.2.6.tgz";
+        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-1.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        name = "mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime-types"."~1.0.1" =
+    self.by-version."mime-types"."1.0.2";
+  by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-types-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        name = "mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mkdirp"."0.3.3" =
+    self.by-version."mkdirp"."0.3.3";
+  by-version."mkdirp"."0.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.3.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
+        name = "mkdirp-0.3.3.tgz";
+        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ms-0.6.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."mz"."1" =
+    self.by-version."mz"."1.0.1";
+  by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mz-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
+        name = "mz-1.0.1.tgz";
+        sha1 = "5ce1d3fe5cb3267c9c3141fb6a070f8d17f215d8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mz" or []);
+    deps = {
+      "native-or-bluebird-1.1.1" = self.by-version."native-or-bluebird"."1.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mz" ];
+  };
+  by-spec."native-or-bluebird"."1" =
+    self.by-version."native-or-bluebird"."1.1.1";
+  by-version."native-or-bluebird"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "native-or-bluebird-1.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.1.tgz";
+        name = "native-or-bluebird-1.1.1.tgz";
+        sha1 = "9131a6d6532afdfb5635f9703734cc6652c905ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."native-or-bluebird" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "native-or-bluebird" ];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        name = "node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."node-uuid" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "node-uuid" ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+        name = "oauth-sign-0.4.0.tgz";
+        sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."on-headers"."~1.0.0" =
+    self.by-version."on-headers"."1.0.0";
+  by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "on-headers-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
+        name = "on-headers-1.0.0.tgz";
+        sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."on-headers" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "on-headers" ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+        name = "parseurl-1.3.0.tgz";
+        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."parseurl" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "parseurl" ];
+  };
+  by-spec."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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        name = "pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pause" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pause" ];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.1";
+  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "punycode-1.3.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+        name = "punycode-1.3.1.tgz";
+        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."punycode" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "punycode" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+        name = "qs-0.5.1.tgz";
+        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-1.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+        name = "qs-1.2.2.tgz";
+        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        name = "range-parser-0.0.4.tgz";
+        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."readable-stream"."~1.0.26" =
+    self.by-version."readable-stream"."1.0.31";
+  by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
+    name = "readable-stream-1.0.31";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
+        name = "readable-stream-1.0.31.tgz";
+        sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readable-stream" or []);
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "readable-stream" ];
+  };
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.12.1";
+  by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "redis-0.12.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+        name = "redis-0.12.1.tgz";
+        sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."redis" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "redis" ];
+  };
+  "redis" = self.by-version."redis"."0.12.1";
+  by-spec."redis"."^0.12.1" =
+    self.by-version."redis"."0.12.1";
+  by-spec."request"."*" =
+    self.by-version."request"."2.44.0";
+  by-version."request"."2.44.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.44.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.44.0.tgz";
+        name = "request-2.44.0.tgz";
+        sha1 = "78d62454d68853cadfb07ad31f58b9ec98072ea8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request" or []);
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
+  "request" = self.by-version."request"."2.44.0";
+  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";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        name = "send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."send" or []);
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "send" ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "sntp-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        name = "sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sntp" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sntp" ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        name = "string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."string_decoder" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "string_decoder" ];
+  };
+  by-spec."stringstream"."~0.0.4" =
+    self.by-version."stringstream"."0.0.4";
+  by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "stringstream-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
+        name = "stringstream-0.0.4.tgz";
+        sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stringstream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "stringstream" ];
+  };
+  by-spec."swig"."0.14.0" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "swig-0.14.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+        name = "swig-0.14.0.tgz";
+        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."swig" or []);
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "swig" ];
+  };
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "tough-cookie-0.12.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+        name = "tough-cookie-0.12.1.tgz";
+        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = {
+      "punycode-1.3.1" = self.by-version."punycode"."1.3.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."tunnel-agent"."~0.4.0" =
+    self.by-version."tunnel-agent"."0.4.0";
+  by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "tunnel-agent-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
+        name = "tunnel-agent-0.4.0.tgz";
+        sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tunnel-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tunnel-agent" ];
+  };
+  by-spec."uid-safe"."1.0.1" =
+    self.by-version."uid-safe"."1.0.1";
+  by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "uid-safe-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
+        name = "uid-safe-1.0.1.tgz";
+        sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uid-safe" or []);
+    deps = {
+      "mz-1.0.1" = self.by-version."mz"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "uid-safe" ];
+  };
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.7.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        name = "underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."utils-merge" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "utils-merge" ];
+  };
+}
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 72f3b5ec8432c..d2c93884141b7 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, openssl, libxml2, sqlite, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "aria2-1.18.5";
+  name = "aria2-1.18.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2";
-    sha256 = "0gyfp4zw7rlaxcxhb402azazf1fi83kk3qg4w0j8d2i7pfa1zqi5";
+    sha256 = "1lpcdpkc22prkzhqrhrd6ccra6vpf2w8mla0z3jv26dqafaxif6b";
   };
 
   buildInputs = [ pkgconfig openssl libxml2 sqlite zlib ];
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index acd71ea893df0..8524a964f153e 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchurl, pcre, readline }:
-
+{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper }:
+assert stdenv.isLinux;
+assert stdenv.gcc.gcc != null;
+let
+version = "0.7";
+debianPatch = fetchurl {
+  url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg-11.diff.gz";
+  sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
+};
+in
 stdenv.mkDerivation {
-  name = "atftp-0.7.1";
-
+  name = "atftp";
+  inherit version;
   src = fetchurl {
-    url = "mirror://sourceforge/atftp/atftp-0.7.1.tar.gz";
-    sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f";
+    url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz";
+    sha256 = "0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q";
   };
-
-  buildInputs = [ pcre readline ];
-
-  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
-
-  configureFlags = [
-    "--enable-libreadline"
-    "--enable-libpcre"
-    "--enable-mtftp"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Advanced TFTP server and client";
-    homepage = http://sourceforge.net/projects/atftp/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+  buildInputs = [ readline tcp_wrappers pcre makeWrapper ];
+  patches = [ debianPatch ];
+  postInstall = ''
+    wrapProgram $out/sbin/atftpd --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib${if stdenv.system == "x86_64-linux" then "64" else ""}
+  '';
+  meta = {
+    description = "Advanced tftp tools";
+    maintainers = [ lib.maintainers.raskin ];
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl2Plus;
+    passthru = {
+      updateInfo = {
+      downloadPage = "http://packages.debian.org/source/wheezy/atftp";
+    };
   };
+};
 }
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 1e2b39869c54c..e11fb377c2100 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -5,11 +5,11 @@ assert stdenv.isLinux -> libcap != null;
 stdenv.mkDerivation rec {
   name = "chrony-${version}";
 
-  version = "1.30";
+  version = "1.31";
   
   src = fetchurl {
     url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
-    sha256 = "1pa6629nigcv95x2q9dnmzlrwhicxizq9z7ggy2c9cmyl1bakb23";
+    sha256 = "0vcr4hr1a01l5c3z0rgzna8rbmq35aklgfr342pi9gpc8sp1qpm3";
   };
   
   buildInputs = [ readline texinfo ] ++ stdenv.lib.optional stdenv.isLinux libcap;
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index 48e21f4507e5b..c56faac690c39 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,21 +1,24 @@
 { stdenv, fetchgit, nodejs, which, python27 }:
 
 let
-  date = "20140303";
-  rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb";
+  date = "20140922";
+  rev = "5ebca772b0582173127e8c1e61ee235c5ab3fb50";
 in
 stdenv.mkDerivation {
   name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
-    url = "git://github.com/cjdelisle/cjdns.git";
+    url = "https://github.com/cjdelisle/cjdns.git";
     inherit rev;
-    sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8";
+    sha256 = "04abf73f4aede12c35b70ae09a367b3d6352a63f818185f788ed13356d06197a";
   };
 
   buildInputs = [ which python27 nodejs];
 
-  builder = ./builder.sh;
+  patches = [ ./makekey.patch ];
+
+  buildPhase = "bash do";
+  installPhase = "installBin cjdroute makekey";
 
   meta = {
     homepage = https://github.com/cjdelisle/cjdns;
diff --git a/pkgs/tools/networking/cjdns/makekey.patch b/pkgs/tools/networking/cjdns/makekey.patch
new file mode 100644
index 0000000000000..fcce5e3e728e3
--- /dev/null
+++ b/pkgs/tools/networking/cjdns/makekey.patch
@@ -0,0 +1,64 @@
+diff --git a/contrib/c/makekey.c b/contrib/c/makekey.c
+new file mode 100644
+index 0000000..c7184e5
+--- /dev/null
++++ b/contrib/c/makekey.c
+@@ -0,0 +1,46 @@
++/* vim: set expandtab ts=4 sw=4: */
++/*
++ * You may redistribute this program and/or modify it under the terms of
++ * the GNU General Public License as published by the Free Software Foundation,
++ * either version 3 of the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
++ */
++#include "crypto/random/Random.h"
++#include "memory/MallocAllocator.h"
++#include "crypto/AddressCalc.h"
++#include "util/AddrTools.h"
++#include "util/Hex.h"
++
++#include "crypto_scalarmult_curve25519.h"
++
++#include <stdio.h>
++
++int main(int argc, char** argv)
++{
++    struct Allocator* alloc = MallocAllocator_new(1<<22);
++    struct Random* rand = Random_new(alloc, NULL, NULL);
++
++    uint8_t privateKey[32];
++    uint8_t publicKey[32];
++    uint8_t ip[16];
++    uint8_t hexPrivateKey[65];
++
++    for (;;) {
++        Random_bytes(rand, privateKey, 32);
++        crypto_scalarmult_curve25519_base(publicKey, privateKey);
++        if (AddressCalc_addressForPublicKey(ip, publicKey)) {
++            Hex_encode(hexPrivateKey, 65, privateKey, 32);
++            printf(hexPrivateKey);
++            return 0;
++        }
++    }
++    return 0;
++}
++
+diff --git a/node_build/make.js b/node_build/make.js
+index 5e51645..11465e3 100644
+--- a/node_build/make.js
++++ b/node_build/make.js
+@@ -339,6 +339,7 @@ Builder.configure({
+     builder.buildExecutable('contrib/c/privatetopublic.c');
+     builder.buildExecutable('contrib/c/sybilsim.c');
+     builder.buildExecutable('contrib/c/makekeys.c');
++    builder.buildExecutable('contrib/c/makekey.c');
+ 
+     builder.buildExecutable('crypto/random/randombytes.c');
+ 
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
new file mode 100644
index 0000000000000..52a1baa05a66e
--- /dev/null
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, qt5, makeWrapper, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "cmst-2014.08.23";
+  rev = "refs/tags/${name}";
+  src = fetchgit {
+    url = "git://github.com/andrew-bibb/cmst.git";
+    inherit rev;
+    sha256 = "07g5i929jxlh6vm0ad8x33qmf2sryiichlv37x7fpn20h3xcsia0";
+  };
+
+  buildInputs = [ qt5 makeWrapper ];
+
+  configurePhase = ''
+    substituteInPlace ./cmst.pro \
+      --replace "/usr/bin" "$out/bin" \
+      --replace "/usr/share" "$out/usr/share"
+  '';
+
+  buildPhase = ''
+    qmake PREFIX=$out
+    make
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/cmst \
+      --prefix "QTCOMPOSE" ":" "${libX11}/share/X11/locale"
+  '';
+
+  meta = {
+    description = "QT GUI for Connman with system tray icon";
+    homepage = "https://github.com/andrew-bibb/cmst";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix
new file mode 100644
index 0000000000000..88d75ba570e08
--- /dev/null
+++ b/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, go }:
+
+stdenv.mkDerivation {
+  name = "curl-unix-socket";
+
+  src = fetchFromGitHub {
+    owner = "Soulou";
+    repo = "curl-unix-socket";
+    rev = "e926dca77ba7d4a1eeae073918fdd3db92f1a350";
+    sha256 = "1ynrrav90y3dhk8jq2fxm3jswj5nvrffwslgykj429hk6n0czb3d";
+  };
+
+  buildInputs = [ go ];
+  buildPhase = "go build";
+  installPhase = "install -D curl-unix-socket* $out/bin/curl-unix-socket";
+
+  meta = with stdenv.lib; {
+    description = "Run HTTP requests over UNIX socket";
+    license = licenses.mit;
+    homepage = https://github.com/Soulou/curl-unix-socket;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 3d23d7950fbe0..e12db01ae7263 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.36.0";
+  name = "curl-7.38.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "1kfgygvmxgaakxl2f3h3jlar23n6xmvg03ybm36pqsydkfw85ghz";
+    sha256 = "1flybwbdahx0sm9ipgp9k60wlrpkrmfflk1zf5j4w6mak4gd8nq3";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 8e93c424cb1e6..451e2954f402e 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-6.4.2";
+  name = "dhcpcd-6.4.3";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf";
+    sha256 = "175bsmif76vigzljc4rpcjs5skx171y1bl37aj0w66p8krhh3b9n";
   };
 
   patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 10f31fb8297d4..c71f6b0408433 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-3.8";
+  name = "fping-3.10";
 
   src = fetchurl {
     url = "http://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "04iwj4x3wns09wp777mb3kwfi7ypb4m9m73p0s2y699px77hcx67";
+    sha256 = "1n2psfxgww6wg5rz8rly06xkghgp8lshx2lx6rramrigyd1fhiyd";
   };
 
   meta = {
     homepage = "http://fping.org/";
     description = "Send ICMP echo probes to network hosts";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 6d9666506b887..8c9103790b9b7 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "getmail-4.43.0";
+  version = "4.46.0";
+  name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy";
+    sha256 = "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl";
   };
 
   doCheck = false;
@@ -15,5 +16,9 @@ buildPythonPackage rec {
     description = "A program for retrieving mail";
     maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.linux;
+
+    homepage = "http://pyropus.ca/software/getmail/";
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/networking/httptunnel/default.nix b/pkgs/tools/networking/httptunnel/default.nix
new file mode 100644
index 0000000000000..c47dd03cb9d09
--- /dev/null
+++ b/pkgs/tools/networking/httptunnel/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3";
+  name    = "httptunnel-${version}";
+
+  src = fetchurl {
+    url    = "http://www.nocrew.org/software/httptunnel/${name}.tar.gz";
+    sha256 = "0mn5s6p68n32xzadz6ds5i6bp44dyxzkq68r1yljlv470jr84bql";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Creates a bidirectional virtual data connection tunnelled in HTTP requests";
+    homepage    = http://www.nocrew.org/software/httptunnel;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ koral ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index c40764866eb52..cb1bf546bf603 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 87f0db1946b5a..e83b935ff2222 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -3,12 +3,12 @@
 , gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.9.6";
+  version = "0.9.10";
   name = "mu-${version}";
 
   src = fetchurl {
     url = "https://github.com/djcb/mu/archive/v${version}.tar.gz";
-    sha256 = "1jr9ss29yi6d62hd4ap07p2abgf12hwqfhasv3gwdkrx8dzwmr2a";
+    sha256 = "0yrkzf0czp85fd3g4zh95z648lsvkc4g2r8xbjn48xgba1ygqbyq";
   };
 
   buildInputs =
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index fec6679a14b03..a894de6475882 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -10,8 +10,8 @@ assert withKerberos -> kerberos != null;
 let
 
   hpnSrc = fetchurl {
-    url = mirror://sourceforge/hpnssh/openssh-6.3p1-hpnssh14v2.diff.gz;
-    sha256 = "1jldqjwry9qpxxzb3mikfmmmv90mfb7xkmcfdbvwqac6nl3r7bi3";
+    url = mirror://sourceforge/hpnssh/openssh-6.6p1-hpnssh14v5.diff.gz;
+    sha256 = "682b4a6880d224ee0b7447241b684330b731018585f1ba519f46660c10d63950";
   };
   optionalString = stdenv.lib.optionalString;
 
@@ -83,6 +83,5 @@ stdenv.mkDerivation rec {
     license = "bsd"; # multi BSD GPL-2
     platforms = platforms.unix;
     maintainers = with maintainers; [ eelco ];
-    broken = hpnSupport; # cf. https://github.com/NixOS/nixpkgs/pull/1640
   };
 }
diff --git a/pkgs/tools/networking/p2p/bittorrent/builder.sh b/pkgs/tools/networking/p2p/bittorrent/builder.sh
deleted file mode 100644
index 3f30aa5c851f4..0000000000000
--- a/pkgs/tools/networking/p2p/bittorrent/builder.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-source $stdenv/setup
-
-
-# Workaround for:
-#  File "...-python-2.4.4/lib/python2.4/posixpath.py", line 62, in join
-#    elif path == '' or path.endswith('/'):
-# AttributeError: 'NoneType' object has no attribute 'endswith'
-export HOME=$TMP
-
-
-buildPhase() {
-    python setup.py build
-}
-
-
-installPhase() {
-    python setup.py install --prefix=$out
-
-    # Create wrappers that set the environment correctly.
-    for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-            --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH"
-    done
-}
-
-
-genericBuild
diff --git a/pkgs/tools/networking/p2p/bittorrent/default.nix b/pkgs/tools/networking/p2p/bittorrent/default.nix
deleted file mode 100644
index 1d4f43445bf10..0000000000000
--- a/pkgs/tools/networking/p2p/bittorrent/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ gui ? false
-, stdenv, fetchurl, makeWrapper
-, python, wxPython ? null, pycrypto, twisted
-}:
-
-assert gui -> wxPython != null;
-
-stdenv.mkDerivation {
-  name = "bittorrent-5.2.2";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz;
-    sha256 = "05k803hbwsyn51j4aibzdsnqxz24kw4rvr60v2c0wji8gcvy3kx9";
-  };
-  
-  buildInputs = [ python pycrypto twisted makeWrapper ]
-    ++ stdenv.lib.optional gui wxPython;
-
-  meta = {
-    description = "The original client for the BitTorrent peer-to-peer file sharing protocol";
-  };
-}
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index e74106ec67f4f..b1c116266f2f1 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }:
 
 stdenv.mkDerivation rec {
-  name = "radvd-2.5";
+  name = "radvd-2.7";
   
   src = fetchurl {
     url = "http://www.litech.org/radvd/dist/${name}.tar.xz";
-    sha256 = "0hsa647l236q9rhrwjb44xqmjfz4fxzcixlbf2chk4lzh8lzwjp0";
+    sha256 = "09rzw96cjkzywadxmhbhaw52ahawzjp3pv7pblcsnb0mrwaawny0";
   };
 
   buildInputs = [ pkgconfig libdaemon bison flex check ];
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
new file mode 100644
index 0000000000000..3165434de3da0
--- /dev/null
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "0.1.0.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-dns-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-dns/${name}.tar.gz";
+    sha256 = "1r82l5fnz2rrwm5wq2sldqp74lk9fifr0d8hyq98xdyh24hish68";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "web/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+    printf "%s" "${skalibs}/include" > path-include
+    printf "%s" "${skalibs}/lib"     > path-library
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-dns/;
+    description = "A suite of DNS client programs and libraries for Unix systems.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
new file mode 100644
index 0000000000000..3d5e3e048110b
--- /dev/null
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, execline
+, fetchurl
+, s6Dns
+, skalibs
+}:
+
+let
+
+  version = "0.1.0.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-networking-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-networking/${name}.tar.gz";
+    sha256 = "1np9m2j1i2450mbcjvpbb56kv3wc2fbyvmv2a039q61j2lk6vjz7";
+  };
+
+  buildInputs = [ skalibs s6Dns execline ];
+
+  sourceRoot = "net/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"           > conf-install-command
+    printf "$out/include"       > conf-install-include
+    printf "$out/lib"           > conf-install-library
+    printf "$out/lib"           > conf-install-library.so
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    printf "${skalibs}/sysdeps"      > import
+
+    rm -f path-include
+    rm -f path-library
+    for dep in "${execline}" "${s6Dns}" "${skalibs}"; do
+      printf "%s\n" "$dep/include" >> path-include
+      printf "%s\n" "$dep/lib"     >> path-library
+    done
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-networking/;
+    description = "A suite of small networking utilities for Unix systems.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
index fbd2494638124..9f9e8dbe3745a 100644
--- a/pkgs/tools/networking/socat/2.x.nix
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 84ba2106a26ad..e33edaa32da9a 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
index f854b92b87e56..3f7c66e040620 100644
--- a/pkgs/tools/networking/spiped/default.nix
+++ b/pkgs/tools/networking/spiped/default.nix
@@ -2,18 +2,28 @@
 
 stdenv.mkDerivation rec {
   name    = "spiped-${version}";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url    = "http://www.tarsnap.com/spiped/${name}.tgz";
-    sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq";
+    sha256 = "1y642mn4jz2h83vhkji0l42r2l1hbzbwwlplc3xmr66zjj54psqf";
   };
 
   buildInputs = [ openssl ];
-  patches = [ ./no-dev-stderr.patch ];
 
-  postPatch = ''
-    substituteInPlace POSIX/posix-l.sh --replace "rm" "${coreutils}/bin/rm"
+  patchPhase = ''
+    substituteInPlace libcperciva/cpusupport/Build/cpusupport.sh \
+      --replace "2>/dev/null" "2>stderr.log"
+
+    substituteInPlace POSIX/posix-l.sh       \
+      --replace "rm" "${coreutils}/bin/rm"   \
+      --replace ">/dev/stderr" ">stderr.log" \
+      --replace "2>/dev/null" "2>stderr.log"
+
+    substituteInPlace POSIX/posix-cflags.sh  \
+      --replace "rm" "${coreutils}/bin/rm"   \
+      --replace ">/dev/stderr" ">stderr.log" \
+      --replace "2>/dev/null" "2>stderr.log"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/networking/spiped/no-dev-stderr.patch b/pkgs/tools/networking/spiped/no-dev-stderr.patch
deleted file mode 100644
index 742a2e483d4c2..0000000000000
--- a/pkgs/tools/networking/spiped/no-dev-stderr.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7a2bbb0d0098d7a33ad3794d0199879ad50e755a Mon Sep 17 00:00:00 2001
-From: Austin Seipp <aseipp@pobox.com>
-Date: Tue, 8 Apr 2014 06:21:41 -0500
-Subject: [PATCH] Remove use of /dev/stderr
-
-Signed-off-by: Austin Seipp <aseipp@pobox.com>
----
- POSIX/posix-l.sh | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/POSIX/posix-l.sh b/POSIX/posix-l.sh
-index b3f0e31..71d6fe8 100755
---- a/POSIX/posix-l.sh
-+++ b/POSIX/posix-l.sh
-@@ -7,8 +7,6 @@ for LIB in rt xnet; do
- 		fi
- 		printf "%s" "-l${LIB}";
- 		FIRST=NO;
--	else
--		echo "WARNING: POSIX violation: make's CC doesn't understand -l${LIB}" >/dev/stderr
- 	fi
- 	rm -f a.out
- done
--- 
-1.8.3.2
-
diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix
index fa3221a775989..67daab0835982 100644
--- a/pkgs/tools/networking/sproxy-web/default.nix
+++ b/pkgs/tools/networking/sproxy-web/default.nix
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "Web interface to sproxy";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/tools/networking/sshpass/default.nix b/pkgs/tools/networking/sshpass/default.nix
new file mode 100644
index 0000000000000..3a8e106155f34
--- /dev/null
+++ b/pkgs/tools/networking/sshpass/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "sshpass-${version}";
+  version = "1.05";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/sshpass/sshpass-${version}.tar.gz";
+    sha256 = "0gj8r05h1hy01vh4csygyw21z2hcxb72qcxkxxi3y34alr98gxy3";
+  };
+  
+  meta = {
+    homepage = http://sourceforge.net/projects/sshpass/;
+    description = "Non-interactive ssh password auth";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
new file mode 100644
index 0000000000000..56ecdb904e294
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, gmp, autoreconfHook, gettext, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "strongswan-5.2.0";
+
+  src = fetchurl {
+    url = "http://download.strongswan.org/${name}.tar.bz2";
+    sha256 = "1ki6v9c54ykppqnj3prgh62na97yajnvnm2zr1gjxzv05syk035h";
+  };
+
+  patches = [ ./respect-path.patch ./no-sysconfdir-write.patch ];
+
+  buildInputs = [ gmp autoreconfHook gettext pkgconfig ];
+
+  configureFlags = [ "--enable-swanctl" "--sysconfdir=/etc" ];
+
+  meta = {
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    description = "OpenSource IPsec-based VPN Solution";
+    homepage = https://www.strongswan.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    inherit (stdenv.gcc.clang.meta) platforms;
+  };
+}
diff --git a/pkgs/tools/networking/strongswan/no-sysconfdir-write.patch b/pkgs/tools/networking/strongswan/no-sysconfdir-write.patch
new file mode 100644
index 0000000000000..afa85ce1d7514
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/no-sysconfdir-write.patch
@@ -0,0 +1,36 @@
+commit 0de10fe4950672053fe2b242bcec064e9e88c880
+Author: Shea Levy <shea@shealevy.com>
+Date:   Fri Sep 19 14:32:22 2014 -0400
+
+    Don't fail to install if sysconfdir isn't writable
+
+diff --git a/conf/Makefile.am b/conf/Makefile.am
+index 373be16..85b7b0e 100644
+--- a/conf/Makefile.am
++++ b/conf/Makefile.am
+@@ -152,9 +152,9 @@ maintainer-clean-local:
+ 		rm -f $(confsnippets) default.conf plugins/*.conf plugins/*.tmp
+ 
+ install-data-local: $(plugins_install_src)
+-	test -e "$(DESTDIR)${strongswanconfdir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanconfdir)"
+-	test -e "$(DESTDIR)${strongswanddir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanddir)"
+-	test -e "$(DESTDIR)${charonconfdir}" || $(INSTALL) -d "$(DESTDIR)$(charonconfdir)"
++	test -e "$(DESTDIR)${strongswanconfdir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanconfdir)" || true
++	test -e "$(DESTDIR)${strongswanddir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanddir)" || true
++	test -e "$(DESTDIR)${charonconfdir}" || $(INSTALL) -d "$(DESTDIR)$(charonconfdir)" || true
+ 	test -e "$(DESTDIR)$(strongswanconfdir)/strongswan.conf" || $(INSTALL) -m 644 $(srcdir)/strongswan.conf $(DESTDIR)$(strongswanconfdir)/strongswan.conf || true
+ 	for f in $(options_install_src); do \
+ 		name=`basename $$f`; \
+diff --git a/src/swanctl/Makefile.am b/src/swanctl/Makefile.am
+index 385737a..912fdf8 100644
+--- a/src/swanctl/Makefile.am
++++ b/src/swanctl/Makefile.am
+@@ -54,7 +54,7 @@ maintainer-clean-local:
+ 	cd $(srcdir) && rm -f swanctl.conf swanctl.conf.5.main
+ 
+ install-data-local: swanctl.conf
+-	test -e "$(DESTDIR)$(swanctldir)" || $(INSTALL) -d "$(DESTDIR)$(swanctldir)"
++	test -e "$(DESTDIR)$(swanctldir)" || $(INSTALL) -d "$(DESTDIR)$(swanctldir)" || true
+ 	test -e "$(DESTDIR)$(swanctldir)/x509" || $(INSTALL) -d "$(DESTDIR)$(swanctldir)/x509" || true
+ 	test -e "$(DESTDIR)$(swanctldir)/x509ca" || $(INSTALL) -d "$(DESTDIR)$(swanctldir)/x509ca" || true
+ 	test -e "$(DESTDIR)$(swanctldir)/x509aa" || $(INSTALL) -d "$(DESTDIR)$(swanctldir)/x509aa" || true
diff --git a/pkgs/tools/networking/strongswan/respect-path.patch b/pkgs/tools/networking/strongswan/respect-path.patch
new file mode 100644
index 0000000000000..82f6a356b85a3
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/respect-path.patch
@@ -0,0 +1,19 @@
+commit 09c4ae5b7bcd7057bede788f02c1d2d30aeeacda
+Author: Shea Levy <shea@shealevy.com>
+Date:   Thu Sep 18 02:00:03 2014 -0400
+
+    ipsec script: just append to PATH if already set
+
+diff --git a/src/ipsec/_ipsec.in b/src/ipsec/_ipsec.in
+index e6725d0..82041f4 100644
+--- a/src/ipsec/_ipsec.in
++++ b/src/ipsec/_ipsec.in
+@@ -15,7 +15,7 @@
+ # for more details.
+ 
+ # define a minimum PATH environment in case it is not set
+-PATH="/sbin:/bin:/usr/sbin:/usr/bin:@IPSEC_SBINDIR@:@IPSEC_BINDIR@"
++PATH="${PATH:-/sbin:/bin:/usr/sbin:/usr/bin}:@IPSEC_SBINDIR@:@IPSEC_BINDIR@"
+ export PATH
+ 
+ # set daemon name
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index ed295e95a38ba..2db270c3f6668 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
new file mode 100644
index 0000000000000..030cb30a15021
--- /dev/null
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "tinc-1.1pre38d7e73";
+
+  src = fetchgit {
+    url = "git://tinc-vpn.org/tinc";
+    rev = "38d7e730e619a8b86dfbf68d77773564595f12a1";
+    sha256 = "0xac1jm6x9lkybd6sz8lfcdrb8h69kh1ckg35ag1rssr45hxikbz";
+  };
+
+  buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "VPN daemon with full mesh routing";
+    longDescription = ''
+      tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and
+      encryption to create a secure private network between hosts on the
+      Internet.  It features full mesh routing, as well as encryption,
+      authentication, compression and ethernet bridging.
+    '';
+    homepage="http://www.tinc-vpn.org/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
new file mode 100644
index 0000000000000..1be71942e70aa
--- /dev/null
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  name = "urlwatch-1.16";
+
+  src = fetchurl {
+    url = "http://thp.io/2008/urlwatch/${name}.tar.gz";
+    sha256 = "0yf1m909awfm06z7xwn20qxbbgslb1vjwwb6rygp6bn7sq022f1f";
+  };
+
+  patchPhase = ''
+    ./convert-to-python3.sh
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/urlwatch" --prefix "PYTHONPATH" : "$PYTHONPATH"
+  '';
+
+  meta = {
+    description = "A tool for monitoring webpages for updates";
+    homepage = https://thp.io/2008/urlwatch/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+}
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index e9c102817e103..b5927fd247806 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -11,16 +11,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="wavemon";
-    version="0.7.5";
+    version = "0.7.6";
     name="${baseName}-${version}";
     url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2";
-    hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y";
   };
 
   inherit (sourceInfo) name version;
@@ -38,11 +37,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl2Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
-    };
+    downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
 
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index e0537c8e1fa7a..a32654696be71 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
     sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-cli.in
     sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-cli.in
+    sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-curses.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus}):$(toPythonPath ${pythonPackages.urwid}):$(toPythonPath ${pythonPackages.curses})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-curses.in
     rm po/ast.po
   '';
 
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 291f7e36ce064..44eb9f8f0941d 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation {
   name = "DisnixWebService-0.2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/910953/download/4/DisnixWebService-0.2.tar.bz2;
-    sha256 = "1469l2ykhdjmplkw01x64f7aq9rms05ig9sagyb8l2zksjm6lla8";
+    url = http://hydra.nixos.org/build/14768380/download/4/DisnixWebService-0.2.tar.bz2;
+    sha256 = "1xmsxg95fjcbpnyyrg0sj3g8pqia2gij53ilh6198yd8f37zr4kw";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
@@ -13,8 +13,8 @@ stdenv.mkDerivation {
   DBUS_JAVA_LIB = "${dbus_java}/share/java";
   patchPhase = ''
     sed -i -e "s|#JAVA_HOME=|JAVA_HOME=${jdk}|" \
-           -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
-	   scripts/disnix-soap-client
+       -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
+        scripts/disnix-soap-client
   '';
   buildPhase = "ant";
   installPhase = "ant install";
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 61e998fd545ef..19eef437ad755 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7";
+  name = "disnix-0.3prea0484a2c19d1947c21f11b4fc7c3f6049bd11efa";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz;
-    sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4";
+    url = http://hydra.nixos.org/build/14710186/download/4/disnix-0.3prea0484a2c19d1947c21f11b4fc7c3f6049bd11efa.tar.gz;
+    sha256 = "06qjaxysnkm31rgjlqy9n7p59q5v3jl57jm9jya7zf2g90syhdn7";
   };
   
   buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 65ae91f6e187f..936a5b03d23d9 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
+  name = "disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz;
-    sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2";
+    url = http://hydra.nixos.org/build/14721464/download/3/disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d.tar.gz;
+    sha256 = "0wd0bhzwipn62lb90fk2s9s52aq60ndriyw7ymah6x3xm40d2cl9";
   };
   
   buildInputs = [ socat pkgconfig disnix getopt ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index a1914224dbdb4..347fc65f98bcc 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -19,10 +19,10 @@ assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82";
+  name = "dysnomia-0.3preccaebdfad11bc34850b24f1c2cb5ee6c8f0b7fe2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz;
-    sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz";
+    url = http://hydra.nixos.org/build/14156365/download/1/dysnomia-0.3preccaebdfad11bc34850b24f1c2cb5ee6c8f0b7fe2.tar.gz;
+    sha256 = "0l88vcpnicw86cn6jwrgmg3fs6i3sw3qc9r6lycfkjf5qrnzd1yi";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 01dea9c35e310..8ef32dab95a0d 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/package-management/gem-nix/default.nix b/pkgs/tools/package-management/gem-nix/default.nix
new file mode 100644
index 0000000000000..e048122b287ff
--- /dev/null
+++ b/pkgs/tools/package-management/gem-nix/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, rubygems, rubyLibs, ruby, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gem-nix";
+
+  buildInputs = [ ruby rubygems rubyLibs.nix makeWrapper ];
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    echo 'exec ${rubygems}/bin/gem nix "$@"' >> $out/bin/gem-nix
+    chmod +x $out/bin/gem-nix
+    wrapProgram $out/bin/gem-nix \
+      --set GEM_PATH $GEM_PATH
+  '';
+
+  meta = with stdenv.lib; {
+    description = "gem nix command in a nice wrapper";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.iElectric ];
+  };
+}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index bba53b0002fc0..39c089cc2351c 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.8pre3766_809ca33";
+  name = "nix-1.8pre3823_53b044c";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz";
-    sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd";
+    url = "http://hydra.nixos.org/build/14677332/download/5/${name}.tar.xz";
+    sha256 = "a6f87f89c2206c15837024ebb88eb593662b2450d3cfc1d91762683691aaab2e";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 93c671287d638..a25ef6e95800c 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -6,16 +6,18 @@ pythonPackages.buildPythonPackage rec {
 
   src = fetchgit {
     url = "git://github.com/madjar/nox.git";
-    rev = "49e4bb7de473ac5e446a76c292bdaefa7e20a1c6";
-    sha256 = "1w1b2g44lj6nbs7f2j5dz5pijhfah3fyldspfb34zcv17j2nlv0b";
+    rev = "088249aa766c9fa929aa08a60f1a7eb41008da40";
+    sha256 = "0dscnmhm1va2h0jz7hh60nvjwxv5a92n5pp8c0g7hz76g67mi5xs";
     leaveDotGit = true; # required by pbr
   };
 
   buildInputs = [ git pythonPackages.pbr makeWrapper ];
 
-  pythonPath =
-    [ pythonPackages.dogpile_cache
-      pythonPackages.click
+  pythonPath = with pythonPackages; [
+      dogpile_cache
+      click
+      requests2
+      characteristic
     ];
 
   postInstall = "wrapProgram $out/bin/nox --prefix PATH : ${nix}/bin";
diff --git a/pkgs/tools/package-management/python2nix/default.nix b/pkgs/tools/package-management/python2nix/default.nix
new file mode 100644
index 0000000000000..3fabfd3f7212e
--- /dev/null
+++ b/pkgs/tools/package-management/python2nix/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub, pythonPackages }:
+
+
+pythonPackages.buildPythonPackage rec {
+  name = "python2nix-dev";
+ 
+  # TODO: change to upstream once https://github.com/proger/python2nix/pull/3 is merged
+  src = fetchFromGitHub {
+    owner = "iElectric";
+    repo = "python2nix";
+    rev = "734de5f680425c6298eff46481e5e717d6e141a9";
+    sha256 = "09qpzml38rplbr7vhplhzy3iy5n9fd3ba5b9r9cp6d08sk5xidqf";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ requests pip setuptools ];
+
+  meta = with stdenv.lib; {
+    maintainers = [ maintainers.iElectric ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix
index dbbdb8e57a66d..2fad2fe29e691 100644
--- a/pkgs/tools/security/aespipe/default.nix
+++ b/pkgs/tools/security/aespipe/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "AES encrypting or decrypting pipe";
     homepage = http://loop-aes.sourceforge.net/aespipe.README;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.goibhniu;
+    maintainers = [ stdenv.lib.maintainers.goibhniu ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index 42af2e0b57e87..c9a261ba97a80 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }:
+
 stdenv.mkDerivation rec {
-  version = "1.4.16";
+  version = "1.4.18";
   name = "ccid-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/c/ccid/ccid_${version}.orig.tar.bz2";
-    sha256 = "0a0e6aa38863c79e38673c085254fa94fd0aa040b9622304a8d6d4222b7e7ea0";
+    sha256 = "1aj14lkmfaxkhk5swqfgn2x18j7fijxs0jnxnx9cdc9f5mxaknsz";
   };
 
   patchPhase = ''
@@ -18,11 +19,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pcsclite pkgconfig libusb1 ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "ccid drivers for pcsclite";
     homepage = http://pcsclite.alioth.debian.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric wkennington ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index fc43f01b344f7..7dc13b3d11b25 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl, zlib, bzip2, libiconv }:
+{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }:
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.98.1";
+  version = "0.98.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
-    sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m";
+    sha256 = "071yzamalj3rf7kl2jvc35ipnk1imdkq5ylbb8whyxfgmd3nf06k";
   };
 
-  buildInputs = [ zlib bzip2 libiconv ];
+  buildInputs = [ zlib bzip2 libiconv libxml2 openssl ncurses curl ];
 
   configureFlags = [
     "--with-zlib=${zlib}"
     "--with-libbz2-prefix=${bzip2}"
     "--with-iconv-dir=${libiconv}"
+    "--with-xml=${libxml2}"
+    "--with-openssl=${openssl}"
+    "--with-libncurses-prefix=${ncurses}"
+    "--with-libcurl=${curl}"
     "--disable-clamav" ];
 
   meta = with stdenv.lib; {
     homepage = http://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = [ maintainers.phreedom maintainers.robberer ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index 64e2be90d30d9..45a25d7e24221 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -1,17 +1,10 @@
-# Remember to install Pinentry and
-# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'.
-
 { fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan
 , libksba, coreutils, libiconvOrEmpty
-, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null
-, useUsb ? true, libusb ? null, useCurl ? true, curl ? null
+# Each of the dependencies below are optional.
+# Gnupg can be built without them at the cost of reduced functionality.
+, pinentry ? null, openldap ? null, bzip2 ? null, libusb ? null, curl ? null
 }:
 
-assert useLdap -> (openldap != null);
-assert useBzip2 -> (bzip2 != null);
-assert useUsb -> (libusb != null);
-assert useCurl -> (curl != null);
-
 stdenv.mkDerivation rec {
   name = "gnupg-2.0.26";
 
@@ -21,18 +14,18 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs
-    = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ]
-    ++ libiconvOrEmpty
-    ++ stdenv.lib.optional useLdap openldap
-    ++ stdenv.lib.optional useBzip2 bzip2
-    ++ stdenv.lib.optional useUsb libusb
-    ++ stdenv.lib.optional useCurl curl;
+    = [ readline zlib libgpgerror libgcrypt libassuan libksba pth
+        openldap bzip2 libusb curl ]
+    ++ libiconvOrEmpty;
 
   patchPhase = ''
     find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
-    find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
   '';
 
+  configureFlags =
+    if pinentry != null then "--with-pinentry-pgm=${pinentry}/bin/pinentry"
+                        else "";
+
   checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check";
 
   doCheck = true;
@@ -54,7 +47,7 @@ stdenv.mkDerivation rec {
       S/MIME.
     '';
 
-    maintainers = with stdenv.lib.maintainers; [ urkud ];
+    maintainers = with stdenv.lib.maintainers; [ roconnor urkud ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/security/gnupg/git.nix b/pkgs/tools/security/gnupg/git.nix
deleted file mode 100644
index 69a0a68319fd5..0000000000000
--- a/pkgs/tools/security/gnupg/git.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-# Remember to install Pinentry and
-# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'.
-
-{ fetchgit, stdenv, readline, zlib, libgpgerror, npth, libgcrypt, libassuan
-, libksba, coreutils, autoconf, automake, transfig, ghostscript, texinfo
-, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null, useUsb ? true
-, libusb ? null, useCurl ? true, curl ? null
-}:
-
-assert useLdap -> (openldap != null);
-assert useBzip2 -> (bzip2 != null);
-assert useUsb -> (libusb != null);
-assert useCurl -> (curl != null);
-
-stdenv.mkDerivation rec {
-  name = "gnupg-2.1pre-git20120407";
-
-  src = fetchgit {
-    url = "git://git.gnupg.org/gnupg.git";
-    rev = "f1e1387bee286c7434f0462185048872bcdb4484";
-    sha256 = "8f5a14587beccdd3752f9e430e56c6ea2d393dddb7843bfc17029e1a309045bb";
-  };
-
-  buildInputs = [ readline zlib libgpgerror npth libgcrypt libassuan libksba 
-                  autoconf automake transfig ghostscript texinfo ]
-    ++ stdenv.lib.optional useLdap openldap
-    ++ stdenv.lib.optional useBzip2 bzip2
-    ++ stdenv.lib.optional useUsb libusb
-    ++ stdenv.lib.optional useCurl curl;
-
-  patchPhase = ''
-    find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
-  '';
-
-  preConfigure = "autoreconf -v";
-  configureFlags = "--enable-maintainer-mode";
-
-  meta = {
-    description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard";
-
-    longDescription = ''
-      GnuPG is the GNU project's complete and free implementation of
-      the OpenPGP standard as defined by RFC4880.  GnuPG allows to
-      encrypt and sign your data and communication, features a
-      versatile key managment system as well as access modules for all
-      kind of public key directories.  GnuPG, also known as GPG, is a
-      command line tool with features for easy integration with other
-      applications.  A wealth of frontend applications and libraries
-      are available.  Version 2 of GnuPG also provides support for
-      S/MIME.
-    '';
-
-    homepage = http://gnupg.org/;
-
-    license = stdenv.lib.licenses.gpl3Plus;
-  };
-}
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index 1701d4cb46fd8..91949cf0893af 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.issihosts.com/haveged/;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.iElectric;
+    maintainers = [ stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
new file mode 100644
index 0000000000000..97f67dfbd71f7
--- /dev/null
+++ b/pkgs/tools/security/john/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, openssl, nss, nspr, krb5, gmp, zlib, libpcap, re2 }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "JohnTheRipper-${version}";
+  version = "8a3e3c1d";
+  buildInputs = [ openssl nss nspr krb5 gmp zlib libpcap re2 ];
+  preConfigure = ''cd src'';
+  installPhase = ''
+    ensureDir $out/share/john/
+    ensureDir $out/bin
+    cp -R ../run/* $out/share/john
+    ln -s $out/share/john/john $out/bin/john
+  '';
+  src = fetchgit {
+    url = https://github.com/magnumripper/JohnTheRipper.git;
+    rev = "93f061bc41652c94ae049b52572aac709d18aa4c";
+    sha256 = "1rnfi09830n34jcqaxmsam54p4zsq9a49ic2ljh44lahcipympvy";
+  };
+  meta = {
+    description = "John the Ripper password cracker";
+    license = licenses.gpl2;
+    homepage = https://github.com/magnumripper/JohnTheRipper/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix
new file mode 100644
index 0000000000000..ae7fa2316bcbc
--- /dev/null
+++ b/pkgs/tools/security/logkeys/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, which, procps, kbd }:
+
+stdenv.mkDerivation rec {
+  name = "logkeys-${version}";
+  version = "5ef6b0dcb9e3";
+
+  src = fetchgit {
+    url = "https://code.google.com/p/logkeys/";
+    rev = "5ef6b0dcb9e38e6137ad1579d624ec12107c56c3";
+    sha256 = "02p0l92l0fq069g31ks6xbqavzxa9njj9460vw2jsa7livcn2z9d";
+  };
+
+  buildInputs = [ which procps kbd ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile.in --replace 'root' '$(id -u)'
+    substituteInPlace configure --replace '/dev/input' '/tmp'
+ '';
+
+  meta = with stdenv.lib; {
+    description = "A GNU/Linux keylogger that works!";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/logkeys/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/meo/default.nix b/pkgs/tools/security/meo/default.nix
index be678b18dda08..051b6579f17aa 100644
--- a/pkgs/tools/security/meo/default.nix
+++ b/pkgs/tools/security/meo/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   buildFlags = "QMAKE=qmake";
 
-  buildInputs = [ openssl pcre qt4 boost pkcs11helper ];
+  buildInputs = [ openssl pcre qt4 boost boost.lib pkcs11helper ];
 
   preConfigure = ''
     sed -i s,-mt$,, meo-gui/meo-gui.pro
diff --git a/pkgs/tools/security/mfoc/default.nix b/pkgs/tools/security/mfoc/default.nix
new file mode 100644
index 0000000000000..f99db572b6c3d
--- /dev/null
+++ b/pkgs/tools/security/mfoc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libnfc }:
+
+stdenv.mkDerivation rec {
+  name = "mfoc-${version}";
+  version = "0.10.6";
+
+  src = fetchurl {
+    url = "http://mfoc.googlecode.com/files/${name}.tar.gz";
+    sha1 = "3adce3029dce9124ff3bc7d0fad86fa0c374a9e3";
+  };
+
+  patches = [./mf_mini.patch];
+
+  buildInputs = [ pkgconfig libnfc ];
+
+  meta = with stdenv.lib; {
+    description = "Mifare Classic Offline Cracker";
+    license = licenses.gpl2;
+    homepage = http://code.google.com/p/mfoc/;
+    maintainers = with maintainers; [ offline ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/mfoc/mf_mini.patch b/pkgs/tools/security/mfoc/mf_mini.patch
new file mode 100644
index 0000000000000..02bd656d6025e
--- /dev/null
+++ b/pkgs/tools/security/mfoc/mf_mini.patch
@@ -0,0 +1,96 @@
+diff --git a/src/mfoc.c b/src/mfoc.c
+index 0cb917d..195de68 100644
+--- a/src/mfoc.c
++++ b/src/mfoc.c
+@@ -93,8 +93,8 @@ int main(int argc, char *const argv[])
+     {0x58, 0x7e, 0xe5, 0xf9, 0x35, 0x0f},
+     {0xa0, 0x47, 0x8c, 0xc3, 0x90, 0x91},
+     {0x53, 0x3c, 0xb6, 0xc7, 0x23, 0xf6},
+-    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9}
+-
++    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9},
++    {0xb4, 0xc1, 0x32, 0x43, 0x9e, 0xef}
+   };
+ 
+   mftag		t;
+@@ -219,12 +219,31 @@ int main(int argc, char *const argv[])
+     goto error;
+   }
+ 
+-  // Save tag's block size (b4K)
+-  t.b4K = (t.nt.nti.nai.abtAtqa[1] == 0x02);
+   t.authuid = (uint32_t) bytes_to_num(t.nt.nti.nai.abtUid + t.nt.nti.nai.szUidLen - 4, 4);
+ 
+-  t.num_blocks = (t.b4K) ? 0xff : 0x3f;
+-  t.num_sectors = t.b4K ? NR_TRAILERS_4k : NR_TRAILERS_1k;
++  // Get Mifare Classic type from SAK
++  // see http://www.nxp.com/documents/application_note/AN10833.pdf Section 3.2
++  switch (t.nt.nti.nai.btSak)
++  {
++    case 0x08:
++      printf("Found Mifare Classic 1k tag\n");
++      t.num_sectors = NR_TRAILERS_1k;
++      t.num_blocks = NR_BLOCKS_1k;
++      break;
++    case 0x09:
++      printf("Found Mifare Classic Mini tag\n");
++      t.num_sectors = NR_TRAILERS_MINI;
++      t.num_blocks = NR_BLOCKS_MINI;
++      break;
++    case 0x18:
++      printf("Found Mifare Classic 4k tag\n");
++      t.num_sectors = NR_TRAILERS_4k;
++      t.num_blocks = NR_BLOCKS_4k;
++      break;
++    defaul:
++      ERR("Cannot determine card type from SAK");
++      goto error;
++  }
+ 
+   t.sectors = (void *) calloc(t.num_sectors, sizeof(sector));
+   if (t.sectors == NULL) {
+@@ -564,7 +583,7 @@ void usage(FILE *stream, int errno)
+   fprintf(stream, "  k     try the specified key in addition to the default keys\n");
+ //	fprintf(stream, "  D     number of distance probes, default is 20\n");
+ //	fprintf(stream, "  S     number of sets with keystreams, default is 5\n");
+-  fprintf(stream, "  P     number of probes per sector, instead of default of 20\n");
++  fprintf(stream, "  P     number of probes per sector, instead of default of 150\n");
+   fprintf(stream, "  T     nonce tolerance half-range, instead of default of 20\n        (i.e., 40 for the total range, in both directions)\n");
+ //	fprintf(stream, "  s     specify the list of sectors to crack, for example -s 0,1,3,5\n");
+   fprintf(stream, "  O     file in which the card contents will be written (REQUIRED)\n");
+diff --git a/src/mfoc.h b/src/mfoc.h
+index b411670..532e834 100644
+--- a/src/mfoc.h
++++ b/src/mfoc.h
+@@ -2,11 +2,21 @@
+ #define TRY_KEYS                50
+ 
+ // Number of trailers == number of sectors
+-// 16x64b = 16
++// Mifare Classic 1k 16x64b = 16
+ #define NR_TRAILERS_1k  (16)
+-// 32x64b + 8*256b = 40
++// Mifare Classic Mini
++#define NR_TRAILERS_MINI (5)
++// Mifare Classic 4k 32x64b + 8*256b = 40
+ #define NR_TRAILERS_4k  (40)
+ 
++// Number of blocks
++// Mifare Classic 1k
++#define NR_BLOCKS_1k 0x3f
++// Mifare Classic Mini
++#define NR_BLOCKS_MINI 0x13
++// Mifare Classic 4k
++#define NR_BLOCKS_4k 0xff
++
+ #define MAX_FRAME_LEN 264
+ 
+ // Used for counting nonce distances, explore [nd-value, nd+value]
+@@ -46,7 +56,6 @@ typedef struct {
+   uint8_t        num_sectors;
+   uint8_t        num_blocks;
+   uint32_t       authuid;
+-  bool           b4K;
+ } mftag;
+ 
+ typedef struct {
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 2737cc435752b..fe459b2c47629 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Middleware to access a smart card using SCard API (PC/SC)";
     homepage = http://pcsclite.alioth.debian.org/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [viric];
+    maintainers = with maintainers; [ viric wkennington ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 2a4995f45794a..ae9b3be9ee2fa 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -1,13 +1,13 @@
 { fetchurl, stdenv, python, gnupg }:
 
-let version = "2.0.9"; in
+let version = "2.0.11"; in
 stdenv.mkDerivation {
   name = "pius-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://sourceforge/pgpius/pius/${version}/pius-${version}.tar.bz2";
-    sha256 = "1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d";
+    sha256 = "0pdbyqz6k0bm182cz81ss7yckmpms5qhrrw0wcr4a1srzcjyzf5f";
   };
 
   buildInputs = [ python ];
@@ -41,6 +41,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu;
-    maintainers = [ ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index ab46af5a1cd94..167c369e3bb93 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, coreutils, pam, groff }:
+{ stdenv, fetchurl, coreutils, pam, groff
+, sendmailPath ? "/var/setuid-wrappers/sendmail"
+}:
 
 stdenv.mkDerivation rec {
   name = "sudo-1.8.10p3";
@@ -17,6 +19,11 @@ stdenv.mkDerivation rec {
     "--with-rundir=/var/run"
     "--with-vardir=/var/db/sudo"
     "--with-logpath=/var/log/sudo.log"
+    "--with-sendmail=${sendmailPath}"
+  ];
+
+  configureFlagsArray = [
+    "--with-passprompt=[sudo] password for %p: "  # intentional trailing space
   ];
 
   postConfigure =
diff --git a/pkgs/tools/security/super/default.nix b/pkgs/tools/security/super/default.nix
index 0d2e34a412537..c88efb23531be 100644
--- a/pkgs/tools/security/super/default.nix
+++ b/pkgs/tools/security/super/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "super-3.30.0";
 
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = "http://ftp.ucolick.org/pub/users/will/${name}-tar.gz";
-    sha256 = "1sxgixx1yg7h8g9799v79rk15gb39gn7p7fx032c078wxx38qwq4";
+    url = "http://www.ucolick.org/~will/RUE/super/${name}-tar.gz";
+    sha256 = "0k476f83w7f45y9jpyxwr00ikv1vhjiq0c26fgjch9hnv18icvwy";
   };
 
+  patches = [
+   (fetchpatch { url = http://anonscm.debian.org/cgit/users/robert/super.git/plain/debian/patches/14-Fix-unchecked-setuid-call.patch;
+                 sha256 = "08m9hw4kyfjv0kqns1cqha4v5hkgp4s4z0q1rgif1fnk14xh7wqh";
+               })
+  ];
+
   NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
   configureFlags = "--sysconfdir=/etc --localstatedir=/var";
@@ -16,7 +22,7 @@ stdenv.mkDerivation rec {
   installFlags = "sysconfdir=$(out)/etc localstatedir=$(TMPDIR)";
 
   meta = {
-    homepage = http://ftp.ucolick.org/pub/users/will/;
+    homepage = http://www.ucolick.org/~will/;
     description = "Allows users to execute scripts as if they were root";
     longDescription =
       ''
diff --git a/pkgs/tools/security/thc-hydra/default.nix b/pkgs/tools/security/thc-hydra/default.nix
new file mode 100644
index 0000000000000..71f7d25155f33
--- /dev/null
+++ b/pkgs/tools/security/thc-hydra/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, openssl, libidn, ncurses, pcre, libssh }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "hydra-7.5";
+
+  src = fetchurl {
+    url = "http://www.thc.org/releases/${name}.tar.gz";
+    sha256 = "1dhavbn2mcm6c2c1qw29ipbpmczax3vhhlxzwn49c8cq471yg4vj";
+  };
+
+  preConfigure = ''
+   substituteInPlace configure --replace "\$LIBDIRS" "${openssl}/lib ${pcre}/lib ${libssh}/lib"
+   substituteInPlace configure --replace "\$INCDIRS" "${openssl}/include ${pcre}/include ${libssh}/include"
+  '';
+
+  buildInputs = [ openssl libidn ncurses pcre libssh ];
+
+  meta = {
+    description = "A very fast network logon cracker which support many different services";
+    license = licenses.agpl3;
+    homepage = https://www.thc.org/thc-hydra/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index 2964db34e1243..5108174c88706 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -1,26 +1,22 @@
-{ fetchurl, stdenv, bison, flex, pam, ssmtp }:
+{ fetchurl, stdenv, bison, flex, pam, sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
 stdenv.mkDerivation {
-  name = "at-3.1.14";
+  name = "at-3.1.15";
 
   src = fetchurl {
     # Debian is apparently the last location where it can be found.
-    url = mirror://debian/pool/main/a/at/at_3.1.14.orig.tar.gz;
-    sha256 = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae";
+    url = mirror://debian/pool/main/a/at/at_3.1.15.orig.tar.gz;
+    sha256 = "1z7pgglr0zmwapb4sc1bdb3z0hgig1asyzqv4gs5xafmjd94za03";
   };
 
   patches = [ ./install.patch ];
 
   buildInputs =
-    [ bison flex pam
-      # `configure' and `atd' want the `sendmail' command.
-      ssmtp
-    ];
+    [ bison flex pam ];
 
   preConfigure =
     ''
-      export PATH="${ssmtp}/sbin:$PATH"
-
+      export SENDMAIL=${sendmailPath}
       # Purity: force atd.pid to be placed in /var/run regardless of
       # whether it exists now.
       substituteInPlace ./configure --replace "test -d /var/run" "true"
diff --git a/pkgs/tools/system/dcfldd/default.nix b/pkgs/tools/system/dcfldd/default.nix
new file mode 100644
index 0000000000000..27ebbf3518fca
--- /dev/null
+++ b/pkgs/tools/system/dcfldd/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dcfldd-1.3.4-1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dcfldd/${name}.tar.gz";
+    sha256 = "1y6mwsvm75f5jzxsjjk0yhf8xnpmz6y8qvcxfandavx59lc3l57m";
+  };
+
+  buildInputs = [ ];
+
+  meta = with stdenv.lib; {
+    description = "an enhanced version of GNU dd";
+
+    homepage = http://dcfldd.sourceforge.net/;
+
+    license = licenses.gpl2;
+
+    platforms = platforms.all;
+    maintainers = with maintainers; [ qknight ];
+  };
+}
diff --git a/pkgs/tools/system/dfc/default.nix b/pkgs/tools/system/dfc/default.nix
new file mode 100644
index 0000000000000..84150b4683780
--- /dev/null
+++ b/pkgs/tools/system/dfc/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, cmake, gettext}:
+
+stdenv.mkDerivation rec {
+  name = "dfc-3.0.4";
+
+  src = fetchurl {
+    url = "http://projects.gw-computing.net/attachments/download/79/dfc-3.0.4.tar.gz";
+    sha256 = "0bdc2edb92c7f740a0b7d3fa75eb134adf197ba711bfa589ab51c691fabd617e";
+  };
+
+  buildInputs = [ cmake gettext ];
+
+  meta = {
+    homepage = "http://projects.gw-computing.net/projects/dfc";
+    description = "displays file system space usage using graphs and colors";
+    license="free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
+
diff --git a/pkgs/tools/system/dog/default.nix b/pkgs/tools/system/dog/default.nix
new file mode 100644
index 0000000000000..9c98da6ac85b9
--- /dev/null
+++ b/pkgs/tools/system/dog/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "dog-1.7";
+
+  src = fetchurl {
+    url = "http://archive.debian.org/debian/pool/main/d/dog/dog_1.7.orig.tar.gz";
+    sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+    cp dog.1 $out/man/man1
+    cp dog $out/bin
+  '';
+
+  meta = {
+    homepage = "http://lwn.net/Articles/421072/";
+    description = "a cat replacement";
+    license="GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 48562adffebef..8f94b21a77126 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.3.4";
+  version = "1.4.5";
+  name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63";
+    sha256 = "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz";
   };
 
   buildInputs = [ libgcrypt readline ];
@@ -30,10 +31,14 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/freeipmi/;
+    downloadPage = "http://www.gnu.org/software/freeipmi/download.html";
 
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    updateWalker = true;
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix
index 52d32b4e838e9..588da0624ce61 100644
--- a/pkgs/tools/system/ioping/default.nix
+++ b/pkgs/tools/system/ioping/default.nix
@@ -10,16 +10,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ioping";
-    version="0.7";
+    version = "0.8";
     name="${baseName}-${version}";
     url="http://ioping.googlecode.com/files/${name}.tar.gz";
-    hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0j7yal61nby1lkg9wnr6lxfljbd7wl3n0z8khqwvc9lf57bxngz2";
   };
 
   inherit (sourceInfo) name version;
@@ -40,11 +39,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl3Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/ioping/downloads/list";
-    };
+    downloadPage = "http://code.google.com/p/ioping/downloads/list";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/system/ioping/default.upstream b/pkgs/tools/system/ioping/default.upstream
new file mode 100644
index 0000000000000..e51cb487852dc
--- /dev/null
+++ b/pkgs/tools/system/ioping/default.upstream
@@ -0,0 +1,5 @@
+url http://code.google.com/p/ioping/downloads/list
+version_link '[.]tar[.][a-z0-9]+$'
+process 'code[.]google[.]com//' ''
+
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index c5f33c323594f..46c36926c3668 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "2.9.3";
+  version = "2.9.4";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27";
+    sha256 = "1pmpmpc0wymnw8i2rxnyq3v2y7p8930b2rb8nw5w60x2vf15wlaa";
   };
 
   buildInputs = [ openssl ];
@@ -26,11 +26,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.bsd3;
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
-    };
+    downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream
new file mode 100644
index 0000000000000..9ea779c8cdd28
--- /dev/null
+++ b/pkgs/tools/system/ipmiutil/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/ipmiutil/files/
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index 0148e3c699eba..016e2ccda37cd 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sleuthkit-3.2.2";
+  version = "4.1.3";
+  name = "sleuthkit-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sleuthkit/${name}.tar.gz";
-    sha256 = "02hik5xvbgh1dpisvc3wlhhq1aprnlsk0spbw6h5khpbq9wqnmgj";
+    sha256 = "09q3ky4rpv18jasf5gc2hlivzadzl70jy4nnk23db1483aix5yb7";
   };
 
   enableParallelBuilding = true;
@@ -20,5 +21,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = "IBM Public License";
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream
new file mode 100644
index 0000000000000..f8ffe9352ede1
--- /dev/null
+++ b/pkgs/tools/system/sleuthkit/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index e70dfaedddf5f..62b696715d9c9 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.58";
+  name = "diffstat-1.59";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/diffstat/${name}.tgz";
-    sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs";
+    sha256 = "0w7jvfilbnfa9v3h8j8ipirvrj7n2x5gszfanzxvx748p10i8z96";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index a87901eb5eb91..6851ca8967832 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl, gettext }:
 
 stdenv.mkDerivation {
-  name = "dos2unix-6.0.5";
+  name = "dos2unix-6.0.6";
   
   src = fetchurl {
-    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz;
-    sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx";
+    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.6.tar.gz;
+    sha256 = "0xnj4gmav1ypkgwmqldnq41b6l3cg08dyngkbygn9vrhlvlx9fwa";
   };
 
   configurePhase = ''
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 9bca0a91d4fd4..585f501e1fcda 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,19 +1,16 @@
-{ stdenv, fetchurl, getopt, lua, boost }:
-        
+{ stdenv, fetchurl, getopt, lua, boost, pkgconfig }:
+
 stdenv.mkDerivation rec {
-  name = "highlight-3.9";
+  name = "highlight-3.18";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/${name}.tar.bz2";
-    sha256 = "1vysj34zz8gk5yhlzm7g6lbphb8y6zfbd9smfgsgwkyawfargrja";
+    sha256 = "0jsq78qb75sawwggbpx5pdqxk00wgjr1a0la0w8wihmamsjzgijm";
   };
 
-  buildInputs = [ getopt lua boost ];
+  buildInputs = [ getopt lua boost pkgconfig ];
 
-  makeFlags = [
-    "PREFIX=$(out)"
-    "conf_dir=$(out)/etc/highlight/"
-  ];
+  preConfigure = ''makeFlags="PREFIX=$out conf_dir=$out/etc/highlight"'';
 
   meta = {
     description = "Source code highlighting tool";
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index d5f8bb9ff35f9..9cef82e5e5302 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation {
       line by line and field by field, ignoring small numeric differences
       or/and different numeric formats.
     '';
-    homepage = "http://www.nongnu.org/numdiff/";
+    homepage = http://www.nongnu.org/numdiff/;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bbenoist;
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 72dbdbf647f5c..d6d1090652adb 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation {
     makeFlags = "TREE=\$(out) MANTREE=\$(TREE)/share/man CC=${stdenv.cross.config}-gcc";
   };
 
+  preBuild = ''
+    sed -e "s@/bin/mv@$(type -P mv)@" -i replace.h
+  '';
+
   preInstall = "mkdir -p \$out/share/man";
   postInstall = "mv \$out/bin/replace \$out/bin/replace-literal";
 
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index c07caad15a35f..aeef86331f35d 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.2.1";
+  name = "wdiff-1.2.2";
 
   src = fetchurl {
     url = "mirror://gnu/wdiff/${name}.tar.gz";
-    sha256 = "1gb5hpiyikada9bwz63q3g96zs383iskiir0xsqynqnvq1vd4n41";
+    sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
   };
 
   buildInputs = [ texinfo ];
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index 1769a59520ba3..efce7d4de8126 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -6,14 +6,14 @@
 , UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }:
 
 let
-  version = "1.8";
+  version = "1.9";
   pn = "biblatex-biber";
 in
 buildPerlPackage {
   name = "biber-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz";
-    sha256 = "0ffry64pdvg5g487r7qab5b3cs4kq8rq8n3bymxrr1qh3mp79k4n";
+    sha256 = "1a3iq7l9i54f8nfzjmp1qdb6aqm7977q1g4san470010fkfbvjdc";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix
index 426cef3c85d15..1b8d7b5e8d8d6 100644
--- a/pkgs/tools/typesetting/pdfjam/default.nix
+++ b/pkgs/tools/typesetting/pdfjam/default.nix
@@ -7,6 +7,6 @@
   };
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index 8b06cbb5a2bde..8afaf7b5f3ede 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -20,6 +20,6 @@ rec {
 
   meta = {
     description = "Extra components for TeXLive: beamer class";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b58114113bb5b..3aececde9e536 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -167,7 +167,7 @@ let
   x11 = xlibsWrapper;
 
   # `xlibs' is the set of X library components.  This used to be the
-  # old modular X llibraries project (called `xlibs') but now it's just
+  # old modular X libraries project (called `xlibs') but now it's just
   # the set of packages in the modular X.org tree (which also includes
   # non-library components like the server, drivers, fonts, etc.).
   xlibs = xorg // {xlibs = xlibsWrapper;};
@@ -262,9 +262,14 @@ let
   };
 
   buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv {
-    inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils;
-    inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk;
-    inherit less buildEnv;
+    inherit buildEnv system;
+    inherit stdenv glibc glibc_multi glibcLocales;
+    inherit bashInteractive coreutils less shadow su;
+    inherit gawk gcc gcc_multi diffutils findutils gnused gnugrep;
+    inherit gnutar gzip bzip2 xz;
+
+    nixpkgs      = pkgs;
+    nixpkgs_i686 = pkgsi686Linux;
   };
 
   dotnetenv = import ../build-support/dotnetenv {
@@ -418,6 +423,8 @@ let
     { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; }
     ../build-support/setup-hooks/make-coverage-analysis-report.sh;
 
+  # intended to be used like nix-build -E 'with <nixpkgs> {}; enableDebugging fooPackage'
+  enableDebugging = pkg : pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; };
 
   ### TOOLS
 
@@ -433,11 +440,12 @@ let
 
   adom = callPackage ../games/adom { };
 
+  advancecomp = callPackage ../tools/compression/advancecomp {};
+
   aefs = callPackage ../tools/filesystems/aefs { };
 
   aegisub = callPackage ../applications/video/aegisub {
     wxGTK = wxGTK30;
-    lua = lua5_1;
   };
 
   aespipe = callPackage ../tools/security/aespipe { };
@@ -448,6 +456,8 @@ let
 
   aircrackng = callPackage ../tools/networking/aircrack-ng { };
 
+  airfield = callPackage ../tools/networking/airfield { };
+
   analog = callPackage ../tools/admin/analog {};
 
   apktool = callPackage ../development/tools/apktool {
@@ -528,7 +538,7 @@ let
     pkgs_i686 = pkgsi686Linux;
   };
 
-  inherit (androidenv) androidsdk_4_1;
+  inherit (androidenv) androidsdk_4_4 androidndk;
 
   aria2 = callPackage ../tools/networking/aria2 { };
   aria = aria2;
@@ -567,6 +577,8 @@ let
 
   barcode = callPackage ../tools/graphics/barcode {};
 
+  bashmount = callPackage ../tools/filesystems/bashmount {};
+
   bc = callPackage ../tools/misc/bc { };
 
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
@@ -577,6 +589,20 @@ let
 
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
+  binwalk = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+  };
+
+  binwalk-full = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+    visualizationSupport = true;
+    pyqtgraph = pythonPackages.pyqtgraph;
+  };
+
   bitbucket-cli = pythonPackages.bitbucket-cli;
 
   blockdiag = pythonPackages.blockdiag;
@@ -587,6 +613,8 @@ let
 
   boomerang = callPackage ../development/tools/boomerang { };
 
+  boost-build = callPackage ../development/tools/boost-build { };
+
   bootchart = callPackage ../tools/system/bootchart { };
 
   bro = callPackage ../applications/networking/ids/bro { };
@@ -605,8 +633,11 @@ let
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
-  consul = callPackage ../servers/consul { };
-  consul_ui = callPackage ../servers/consul/ui.nix { };
+  consul = callPackage ../servers/consul {
+    inherit ruby rubyLibs;
+  };
+
+  consul_ui = consul.ui;
 
   chntpw = callPackage ../tools/security/chntpw { };
 
@@ -648,6 +679,8 @@ let
 
   mcrypt = callPackage ../tools/misc/mcrypt { };
 
+  mstflint = callPackage ../tools/misc/mstflint { };
+
   mcelog = callPackage ../os-specific/linux/mcelog { };
 
   apparix = callPackage ../tools/misc/apparix { };
@@ -685,10 +718,6 @@ let
     inherit (strategoPackages016) strategoxt sdf;
   };
 
-  bittorrent = callPackage ../tools/networking/p2p/bittorrent {
-    gui = true;
-  };
-
   bittornado = callPackage ../tools/networking/p2p/bit-tornado { };
 
   blueman = callPackage ../tools/bluetooth/blueman {
@@ -739,7 +768,9 @@ let
 
   cdrkit = callPackage ../tools/cd-dvd/cdrkit { };
 
-  ceph = callPackage ../tools/filesystems/ceph { };
+  ceph = callPackage ../tools/filesystems/ceph {
+    zfs = linuxPackages.zfs;
+  };
 
   cfdg = builderDefsPackage ../tools/graphics/cfdg {
     inherit libpng bison flex ffmpeg;
@@ -753,6 +784,10 @@ let
 
   chkrootkit = callPackage ../tools/security/chkrootkit { };
 
+  chocolateDoom = callPackage ../games/chocolate-doom { };
+  # master is here because chocolateDoom v2.0 has broken netplay
+  chocolateDoomMaster = callPackage ../games/chocolate-doom/master.nix { };
+
   chrony = callPackage ../tools/networking/chrony { };
 
   chunkfs = callPackage ../tools/filesystems/chunkfs { };
@@ -767,6 +802,8 @@ let
 
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
+  cmst = callPackage ../tools/networking/cmst { };
+
   colord = callPackage ../tools/misc/colord { };
 
   colord-gtk = callPackage ../tools/misc/colord-gtk { };
@@ -855,6 +892,8 @@ let
     sslSupport = zlibSupport;
   };
 
+  curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
+
   cunit = callPackage ../tools/misc/cunit { };
 
   curlftpfs = callPackage ../tools/filesystems/curlftpfs { };
@@ -873,6 +912,8 @@ let
 
   dcraw = callPackage ../tools/graphics/dcraw { };
 
+  dcfldd = callPackage ../tools/system/dcfldd { };
+
   debian_devscripts = callPackage ../tools/misc/debian-devscripts {
     inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry;
   };
@@ -893,6 +934,8 @@ let
 
   despotify = callPackage ../development/libraries/despotify { };
 
+  dfc  = callPackage ../tools/system/dfc { };
+
   dev86 = callPackage ../development/compilers/dev86 { };
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
@@ -927,12 +970,17 @@ let
     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
   };
 
+  dog = callPackage ../tools/system/dog { };
+
   dosfstools = callPackage ../tools/filesystems/dosfstools { };
 
   dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { };
 
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
+  dolphinEmu = callPackage ../misc/emulators/dolphin-emu { };
+  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { };
+
   dropbear = callPackage ../tools/networking/dropbear { };
 
   dtach = callPackage ../tools/misc/dtach { };
@@ -946,6 +994,8 @@ let
 
   duply = callPackage ../tools/backup/duply { };
 
+  dvdisaster = callPackage ../tools/cd-dvd/dvdisaster { };
+
   dvdplusrwtools = callPackage ../tools/cd-dvd/dvd+rw-tools { };
 
   dvgrab = callPackage ../tools/video/dvgrab { };
@@ -993,6 +1043,8 @@ let
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
+  eternity = callPackage ../games/eternity-engine { };
+
   ettercap = callPackage ../applications/networking/sniffers/ettercap { };
 
   euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; };
@@ -1029,6 +1081,8 @@ let
 
   fcitx = callPackage ../tools/inputmethods/fcitx { };
 
+  fcitx-anthy = callPackage ../tools/inputmethods/fcitx/fcitx-anthy.nix { };
+
   fcron = callPackage ../tools/system/fcron { };
 
   fdm = callPackage ../tools/networking/fdm {};
@@ -1175,10 +1229,6 @@ let
 
   gnupg = callPackage ../tools/security/gnupg { libusb = libusb1; };
 
-  gnupg2_1 = lowPrio (callPackage ../tools/security/gnupg/git.nix {
-    libassuan = libassuan2_1;
-  });
-
   gnuplot = callPackage ../tools/graphics/gnuplot { };
 
   gnuplot_qt = gnuplot.override { withQt = true; };
@@ -1198,6 +1248,8 @@ let
 
   gource = callPackage ../applications/version-management/gource {};
 
+  gparted = callPackage ../tools/misc/gparted { };
+
   gpodder = callPackage ../applications/audio/gpodder { };
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
@@ -1206,6 +1258,10 @@ let
 
   grafx2 = callPackage ../applications/graphics/grafx2 {};
 
+  grails = callPackage ../development/web/grails {
+    jdkPath = "${openjdk}/lib/openjdk";
+  };
+
   graphviz = callPackage ../tools/graphics/graphviz { };
 
   /* Readded by Michael Raskin. There are programs in the wild
@@ -1213,7 +1269,7 @@ let
    * objections before removal. The feature is integer coordinates
    */
   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
-  
+
   /* Readded by Michael Raskin. There are programs in the wild
    * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for
    * objections before removal. The feature is libgraph.
@@ -1232,9 +1288,15 @@ let
     buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
   };
 
-  grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; };
+  grub2 = callPackage ../tools/misc/grub/2.0x.nix { };
+
+  grub2_efi = grub2.override { efiSupport = true; };
+
+  grub2_zfs = grub2.override { zfsSupport = true; };
 
-  grub2_efi = grub2.override { EFIsupport = true; };
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
+    inherit (gnome) libglademm;
+  };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome) libsoup;
@@ -1243,6 +1305,7 @@ let
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
+  gmock = callPackage ../development/libraries/gmock {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
@@ -1320,6 +1383,8 @@ let
 
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
+  httptunnel = callPackage ../tools/networking/httptunnel { };
+
   # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl',
   # which no longer exists.
   #
@@ -1386,6 +1451,8 @@ let
 
   jnettop = callPackage ../tools/networking/jnettop { };
 
+  john = callPackage ../tools/security/john { };
+
   jq = callPackage ../development/tools/jq {};
 
   jscoverage = callPackage ../development/tools/misc/jscoverage { };
@@ -1400,6 +1467,8 @@ let
 
   keychain = callPackage ../tools/misc/keychain { };
 
+  kibana = callPackage ../development/tools/misc/kibana { };
+
   kismet = callPackage ../applications/networking/sniffers/kismet { };
 
   less = callPackage ../tools/misc/less { };
@@ -1468,6 +1537,8 @@ let
     inherit (perlPackages) mimeConstruct;
   };
 
+  logkeys = callPackage ../tools/security/logkeys { };
+
   logrotate = callPackage ../tools/system/logrotate { };
 
   logstalgia = callPackage ../tools/graphics/logstalgia {};
@@ -1538,6 +1609,8 @@ let
 
   mfcuk = callPackage ../tools/security/mfcuk { };
 
+  mfoc = callPackage ../tools/security/mfoc { };
+
   minecraft = callPackage ../games/minecraft { };
 
   minecraft-server = callPackage ../games/minecraft-server { };
@@ -1567,7 +1640,6 @@ let
   monit = callPackage ../tools/system/monit { };
 
   mosh = callPackage ../tools/networking/mosh {
-    boost = boostHeaders;
     inherit (perlPackages) IOTty;
   };
 
@@ -1694,6 +1766,8 @@ let
 
   notbit = callPackage ../applications/networking/notbit { };
 
+  notify-osd = callPackage ../applications/misc/notify-osd { };
+
   nox = callPackage ../tools/package-management/nox {
     pythonPackages = python3Packages;
     nix = nixUnstable;
@@ -1788,6 +1862,8 @@ let
 
   openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
 
+  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
   };
@@ -1854,6 +1930,8 @@ let
 
   pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
 
+  pdf2svg = callPackage ../tools/graphics/pdf2svg { };
+
   pdfjam = callPackage ../tools/typesetting/pdfjam { };
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
@@ -1969,6 +2047,10 @@ let
 
   qjoypad = callPackage ../tools/misc/qjoypad { };
 
+  qscintilla = callPackage ../development/libraries/qscintilla {
+    qt = qt4;
+  };
+
   qshowdiff = callPackage ../tools/text/qshowdiff { };
 
   quilt = callPackage ../development/tools/quilt { };
@@ -2056,9 +2138,17 @@ let
   s3cmd_15_pre_81e3842f7a = lowPrio (callPackage ../tools/networking/s3cmd/git.nix { });
 
   s3sync = callPackage ../tools/networking/s3sync {
-    ruby = ruby18;
+    ruby = ruby_1_8;
   };
 
+  s6Dns = callPackage ../tools/networking/s6-dns { };
+
+  s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { };
+
+  s6Networking = callPackage ../tools/networking/s6-networking { };
+
+  s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { };
+
   sablotron = callPackage ../tools/text/xml/sablotron { };
 
   safecopy = callPackage ../tools/system/safecopy { };
@@ -2132,6 +2222,8 @@ let
 
   solr = callPackage ../servers/search/solr { };
 
+  solvespace = callPackage ../applications/graphics/solvespace { };
+
   sparsehash = callPackage ../development/libraries/sparsehash { };
 
   spiped = callPackage ../tools/networking/spiped { };
@@ -2175,6 +2267,8 @@ let
 
   ssdeep = callPackage ../tools/security/ssdeep { };
 
+  sshpass = callPackage ../tools/networking/sshpass { };
+
   ssmtp = callPackage ../tools/networking/ssmtp {
     tlsSupport = true;
   };
@@ -2189,6 +2283,8 @@ let
 
   stunnel = callPackage ../tools/networking/stunnel { };
 
+  strongswan = callPackage ../tools/networking/strongswan { stdenv = clangStdenv; };
+
   su = shadow.su;
 
   surfraw = callPackage ../tools/networking/surfraw { };
@@ -2242,10 +2338,14 @@ let
 
   texstudio = callPackage ../applications/editors/texstudio { };
 
+  thc-hydra = callPackage ../tools/security/thc-hydra { };
+
   tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; };
 
   tinc = callPackage ../tools/networking/tinc { };
 
+  tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
+
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
 
   tmpwatch = callPackage ../tools/misc/tmpwatch  { };
@@ -2437,6 +2537,8 @@ let
 
   uptimed = callPackage ../tools/system/uptimed { };
 
+  urlwatch = callPackage ../tools/networking/urlwatch { };
+
   varnish = callPackage ../servers/varnish { };
 
   varnish2 = callPackage ../servers/varnish/2.1.nix { };
@@ -2447,6 +2549,8 @@ let
 
   vlan = callPackage ../tools/networking/vlan { };
 
+  volumeicon = callPackage ../tools/audio/volumeicon { };
+
   wakelan = callPackage ../tools/networking/wakelan { };
 
   wavemon = callPackage ../tools/networking/wavemon { };
@@ -2476,7 +2580,10 @@ let
 
   wicd = callPackage ../tools/networking/wicd { };
 
-  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
+  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf {
+    overrideDerivation = lib.overrideDerivation;
+    inherit (xlibs) libX11 libXext libXrender;
+  };
 
   wv = callPackage ../tools/misc/wv { };
 
@@ -2587,7 +2694,6 @@ let
 
   bashInteractive = appendToName "interactive" (callPackage ../shells/bash {
     interactive = true;
-    readline = readline63; # Includes many vi mode fixes
   });
 
   bashCompletion = callPackage ../shells/bash-completion { };
@@ -2683,10 +2789,6 @@ let
   cython = pythonPackages.cython;
   cython3 = python3Packages.cython;
 
-  dylan = callPackage ../development/compilers/gwydion-dylan {
-    dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix {  };
-  };
-
   ecl = callPackage ../development/compilers/ecl { };
 
   eql = callPackage ../development/compilers/eql {};
@@ -2697,7 +2799,8 @@ let
 
   gambit = callPackage ../development/compilers/gambit { };
 
-  gcc = gcc48;
+  gcc       = gcc48;
+  gcc_multi = gcc48_multi;
 
   gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 {
     inherit fetchurl stdenv noSysDirs;
@@ -2990,6 +3093,8 @@ let
   };
   gcc-arm-embedded = gcc-arm-embedded-4_8;
 
+  gforth = callPackage ../development/compilers/gforth {};
+
   # Haskell and GHC
 
   # Import Haskell infrastructure.
@@ -3036,12 +3141,12 @@ let
   hhvm = callPackage ../development/compilers/hhvm { };
   hiphopvm = hhvm; /* Compatibility alias */
 
-  falcon = builderDefsPackage (import ../development/interpreters/falcon) {
-    inherit cmake;
-  };
+  falcon = callPackage ../development/interpreters/falcon { };
 
   fsharp = callPackage ../development/compilers/fsharp {};
 
+  gem-nix = callPackage ../tools/package-management/gem-nix { };
+
   go_1_0 = callPackage ../development/compilers/go { };
 
   go_1_1 =
@@ -3056,6 +3161,10 @@ let
 
   go = go_1_3;
 
+  go-repo-root = callPackage ../development/tools/misc/go-repo-root { };
+
+  go-bindata = callPackage ../tools/misc/go-bindata { };
+
   gox = callPackage ../development/compilers/go/gox.nix { };
 
   gprolog = callPackage ../development/compilers/gprolog { };
@@ -3229,22 +3338,39 @@ let
 
   ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { };
 
+  ocaml_4_02_0 = callPackage ../development/compilers/ocaml/4.02.0.nix { };
+
   orc = callPackage ../development/compilers/orc { };
 
   metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { };
 
   ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { };
 
-  mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec {
+  mkOcamlPackages = ocaml: self:
+    let
+      callPackage = newScope self;
+      ocaml_version = (builtins.parseDrvName ocaml.name).version;
+    in rec {
     inherit ocaml;
 
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
-    camlp5_5_strict = callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
+    camlp4 =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/tools/ocaml/camlp4 { }
+      else null;
 
-    camlp5_5_transitional = callPackage ../development/tools/ocaml/camlp5/5.15.nix {
-      transitional = true;
-    };
+    camlp5_old_strict =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_strict
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
+
+    camlp5_old_transitional =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_transitional
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix {
+        transitional = true;
+      };
 
     camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { };
 
@@ -3256,6 +3382,8 @@ let
 
     camlp5_transitional = camlp5_6_transitional;
 
+    calendar = callPackage ../development/ocaml-modules/calendar { };
+
     camlzip = callPackage ../development/ocaml-modules/camlzip { };
 
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
@@ -3270,6 +3398,8 @@ let
 
     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
+    cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
+
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
@@ -3280,8 +3410,14 @@ let
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eliom = callPackage ../development/ocaml-modules/eliom { };
+
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
+    fix = callPackage ../development/ocaml-modules/fix { };
+
+    functory = callPackage ../development/ocaml-modules/functory { };
+
     javalib = callPackage ../development/ocaml-modules/javalib {
       extlib = ocaml_extlib_maximal;
     };
@@ -3292,8 +3428,13 @@ let
 
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
+
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
 
+    lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
+      inherit (gnome) libgnomecanvas libglade gtksourceview;
+    };
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
       inherit (gnome) libgnomecanvas libglade gtksourceview;
     };
@@ -3308,6 +3449,8 @@ let
 
     merlin = callPackage ../development/tools/ocaml/merlin { };
 
+    mezzo = callPackage ../development/compilers/mezzo { };
+
     mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
 
     mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };
@@ -3326,6 +3469,8 @@ let
 
     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
 
+    ocaml_ipaddr = callPackage ../development/ocaml-modules/ocaml-ipaddr { };
+
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
@@ -3336,6 +3481,8 @@ let
 
     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
 
+    ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { };
+
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
       inherit pcre;
     };
@@ -3350,30 +3497,48 @@ let
 
     ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
 
+    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
+    tyxml = callPackage ../development/ocaml-modules/tyxml { };
+
     ulex = callPackage ../development/ocaml-modules/ulex { };
 
     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
       camlp5 = camlp5_transitional;
     };
 
-    ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { };
-
-    ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { };
+    typeconv_108_08_00 = callPackage ../development/ocaml-modules/typeconv/108.08.00.nix { };
+    ocaml_typeconv =
+      if lib.versionOlder "4.00" ocaml_version
+      then callPackage ../development/ocaml-modules/typeconv { }
+      else if lib.versionOlder "3.12" ocaml_version
+      then typeconv_108_08_00
+      else null;
 
-    ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { };
+    sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix {
+      typeconv = typeconv_108_08_00;
+    };
+    ocaml_sexplib =
+      if lib.versionOlder "4.00" ocaml_version
+      then callPackage ../development/ocaml-modules/sexplib { }
+      else if lib.versionOlder "3.12" ocaml_version
+      then sexplib_108_08_00
+      else null;
 
     ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
     ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib {
       minimal = false;
     };
 
+    pprint = callPackage ../development/ocaml-modules/pprint { };
+
     pycaml = callPackage ../development/ocaml-modules/pycaml { };
 
-    opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
-    opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
-    opam = opam_1_1;
+    sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
+
+    twt = callPackage ../development/ocaml-modules/twt { };
 
     utop = callPackage ../development/tools/ocaml/utop { };
 
@@ -3390,20 +3555,31 @@ let
 
     zed = callPackage ../development/ocaml-modules/zed { };
 
+    ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving { };
+
   };
 
   ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
-  ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0;
-  ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2;
+  ocamlPackages_3_10_0 = (mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0)
+  // { lablgtk = ocamlPackages_3_10_0.lablgtk_2_14; };
+  ocamlPackages_3_11_2 = (mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2)
+  // { lablgtk = ocamlPackages_3_11_2.lablgtk_2_14; };
   ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1;
   ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
   ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0;
-  ocamlPackages_latest = ocamlPackages_4_01_0;
+  ocamlPackages_4_02_0 = mkOcamlPackages ocaml_4_02_0 pkgs.ocamlPackages_4_02_0;
+  ocamlPackages_latest = ocamlPackages_4_02_0;
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
   opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
 
+  opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
+  opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix {
+    inherit (ocamlPackages_4_01_0) ocaml;
+  };
+  opam = opam_1_1;
+
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
 
   qcmm = callPackage ../development/compilers/qcmm {
@@ -3423,6 +3599,10 @@ let
   sbcl = callPackage ../development/compilers/sbcl {
     clisp = clisp;
   };
+  # For ACL2
+  sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix {
+    clisp = clisp;
+  };
 
   scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
   scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
@@ -3514,11 +3694,13 @@ let
   ### DEVELOPMENT / INTERPRETERS
 
   acl2 = builderDefsPackage ../development/interpreters/acl2 {
-    inherit sbcl;
+    sbcl = sbcl_1_2_0;
   };
 
   angelscript = callPackage ../development/interpreters/angelscript {};
 
+  chibi = callPackage ../development/interpreters/chibi { };
+
   clisp = callPackage ../development/interpreters/clisp { };
 
   # compatibility issues in 2.47 - at list 2.44.1 is known good
@@ -3534,8 +3716,11 @@ let
   erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { };
   erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { };
   erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { };
+  erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; };
   erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { };
+  erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; };
   erlang = erlangR17;
+  erlang_odbc = erlangR17_odbc;
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3555,6 +3740,8 @@ let
 
   j = callPackage ../development/interpreters/j {};
 
+  jimtcl = callPackage ../development/interpreters/jimtcl {};
+
   jmeter = callPackage ../applications/networking/jmeter {};
 
   davmail = callPackage ../applications/networking/davmail {};
@@ -3563,10 +3750,12 @@ let
 
   kona = callPackage ../development/interpreters/kona {};
 
-  love = callPackage ../development/interpreters/love {lua=lua5;};
+  love = callPackage ../development/interpreters/love {lua=lua5_1;};
   love_luajit = callPackage ../development/interpreters/love {lua=luajit;};
   love_0_9 = callPackage ../development/interpreters/love/0.9.nix { };
 
+  ### LUA MODULES
+
   lua4 = callPackage ../development/interpreters/lua-4 { };
   lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { };
   lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { };
@@ -3574,13 +3763,20 @@ let
   lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix {
     compat = true;
   };
-  lua5 = lua5_1;
+  lua5 = lua5_2_compat;
   lua = lua5;
 
-  lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {};
+  lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; });
+
+  lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; });
+
+  luaPackages = lua52Packages;
+
+  lua5_1_sockets = lua51Packages.sockets;
+
   lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {};
-  lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {};
-  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {};
+  lua51_zip = callPackage ../development/interpreters/lua-5/zip.nix { };
+  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { };
 
   luarocks = callPackage ../development/tools/misc/luarocks {
      lua = lua5;
@@ -3588,6 +3784,8 @@ let
 
   luajit = callPackage ../development/interpreters/luajit {};
 
+  ### END OF LUA
+
   lush2 = callPackage ../development/interpreters/lush {};
 
   maude = callPackage ../development/interpreters/maude {
@@ -3612,7 +3810,6 @@ let
     suitesparse = null;
     openjdk = null;
     gnuplot = null;
-    readline = readline63;
   };
   octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
     fltk = fltk13;
@@ -3681,7 +3878,7 @@ let
   python33 = callPackage ../development/interpreters/python/3.3 { };
   python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { });
 
-  pypy = callPackage ../development/interpreters/pypy/2.3 { };
+  pypy = callPackage ../development/interpreters/pypy/2.4 { };
 
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
     extraLibs = [];
@@ -3696,6 +3893,8 @@ let
     inherit (python27Packages) recursivePthLoader;
   };
 
+  python2nix = callPackage ../tools/package-management/python2nix { };
+
   pythonDocs = recurseIntoAttrs (import ../development/interpreters/python/docs {
     inherit stdenv fetchurl lib;
   });
@@ -3724,12 +3923,19 @@ let
     wrapPython = pythonPackages.wrapPython;
   };
 
-  ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { };
-  ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { };
-  ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { });
-  ruby21 = callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { };
+  ruby_1_8_7 = callPackage ../development/interpreters/ruby/ruby-1.8.7.nix { };
+  ruby_1_9_3 = callPackage ../development/interpreters/ruby/ruby-1.9.3.nix { };
+  ruby_2_0_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.0.nix { });
+  ruby_2_1_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.0.nix { });
+  ruby_2_1_1 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.1.nix { });
+  ruby_2_1_2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { });
 
-  ruby = ruby19;
+  # Ruby aliases
+  ruby = ruby_1_9;
+  ruby_1_8 = ruby_1_8_7;
+  ruby_1_9 = ruby_1_9_3;
+  ruby_2_0 = ruby_2_0_0;
+  ruby_2_1 = ruby_2_1_2;
 
   rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
 
@@ -3774,8 +3980,6 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
-  xulrunner_30 = firefox30Pkgs.xulrunner;
-
 
   ### DEVELOPMENT / MISC
 
@@ -3882,9 +4086,11 @@ let
 
   bam = callPackage ../development/tools/build-managers/bam {};
 
-  binutils = callPackage ../development/tools/misc/binutils {
-    inherit noSysDirs;
-  };
+  binutils = if stdenv.isDarwin
+    then stdenv.gcc.binutils
+    else callPackage ../development/tools/misc/binutils {
+      inherit noSysDirs;
+    };
 
   binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
     inherit noSysDirs;
@@ -3918,6 +4124,8 @@ let
 
   byacc = callPackage ../development/tools/parsing/byacc { };
 
+  cargoSnapshot = callPackage ../development/tools/build-managers/cargo/snapshot.nix { };
+
   casperjs = callPackage ../development/tools/casperjs { };
 
   cbrowser = callPackage ../development/tools/misc/cbrowser { };
@@ -4139,10 +4347,18 @@ let
 
   lttv = callPackage ../development/tools/misc/lttv { };
 
+  maven = maven3;
+  maven3 = callPackage ../development/tools/build-managers/apache-maven { jdk = openjdk; };
+
   mk = callPackage ../development/tools/build-managers/mk { };
 
   neoload = callPackage ../development/tools/neoload {
     licenseAccepted = (config.neoload.accept_license or false);
+    fontsConf = makeFontsConf {
+      fontDirectories = [
+        xorg.fontbhttf
+      ];
+    };
   };
 
   ninja = callPackage ../development/tools/build-managers/ninja { };
@@ -4205,6 +4421,15 @@ let
     rubyBindings = config.radare.rubyBindings or false;
     luaBindings = config.radare.luaBindings or false;
   };
+  radare2 = callPackage ../development/tools/analysis/radare2 {
+    inherit (gnome) vte;
+    lua = lua5;
+    useX11 = config.radare.useX11 or false;
+    pythonBindings = config.radare.pythonBindings or false;
+    rubyBindings = config.radare.rubyBindings or false;
+    luaBindings = config.radare.luaBindings or false;
+  };
+
 
   ragel = callPackage ../development/tools/parsing/ragel { };
 
@@ -4223,7 +4448,8 @@ let
 
   scons = callPackage ../development/tools/build-managers/scons { };
 
-  simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { };
+  sbt = callPackage ../development/tools/build-managers/sbt { };
+  simpleBuildTool = sbt;
 
   sigrok-cli = callPackage ../development/tools/sigrok-cli { };
 
@@ -4285,15 +4511,17 @@ let
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
 
   vagrant = callPackage ../development/tools/vagrant {
-    ruby = ruby2;
+    ruby = ruby_2_0_0;
   };
 
   gdb = callPackage ../development/tools/misc/gdb {
+    guile = null;
     hurd = gnu.hurdCross;
-    readline = readline63;
     inherit (gnu) mig;
   };
 
+  gdbGuile = lowPrio (gdb.override { inherit guile; });
+
   gdbCross = lowPrio (callPackage ../development/tools/misc/gdb {
     target = crossSystem;
   });
@@ -4400,10 +4628,9 @@ let
   boost144 = callPackage ../development/libraries/boost/1.44.nix { };
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
   boost155 = callPackage ../development/libraries/boost/1.55.nix { };
+  boost156 = callPackage ../development/libraries/boost/1.56.nix { };
   boost = boost155;
 
-  boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { };
-
   botan = callPackage ../development/libraries/botan { };
   botanUnstable = callPackage ../development/libraries/botan/unstable.nix { };
 
@@ -4422,6 +4649,8 @@ let
 
   capnproto = callPackage ../development/libraries/capnproto { };
 
+  cimg = callPackage  ../development/libraries/cimg { };
+
   scmccid = callPackage ../development/libraries/scmccid { };
 
   ccrtp = callPackage ../development/libraries/ccrtp { };
@@ -4505,9 +4734,7 @@ let
 
   cppunit = callPackage ../development/libraries/cppunit { };
 
-  cppnetlib = callPackage ../development/libraries/cppnetlib {
-    boost = boostHeaders;
-  };
+  cppnetlib = callPackage ../development/libraries/cppnetlib { };
 
   cracklib = callPackage ../development/libraries/cracklib { };
 
@@ -4532,7 +4759,9 @@ let
   dbus_cplusplus  = callPackage ../development/libraries/dbus-cplusplus { };
   dbus_glib       = callPackage ../development/libraries/dbus-glib { };
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
-  dbus_python     = callPackage ../development/python-modules/dbus { };
+  dbus_python     = callPackage ../development/python-modules/dbus {
+    isPyPy = python.executable == "pypy";
+  };
 
   # Should we deprecate these? Currently there are many references.
   dbus_tools = pkgs.dbus.tools;
@@ -4619,6 +4848,8 @@ let
     vpxSupport = !stdenv.isMips;
   };
 
+  ffmpeg_2_3 = callPackage ../development/libraries/ffmpeg/2.3.x.nix { };
+
   ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { };
 
   ffmpeg = ffmpeg_2;
@@ -4680,6 +4911,8 @@ let
 
   gdbm = callPackage ../development/libraries/gdbm { };
 
+  gecode = callPackage ../development/libraries/gecode { };
+
   gegl = callPackage ../development/libraries/gegl {
     #  avocodec avformat librsvg
   };
@@ -4959,6 +5192,8 @@ let
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
 
+  gtkspellmm = callPackage ../development/libraries/gtkspellmm { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; };
@@ -5060,11 +5295,12 @@ let
 
   keybinder3 = callPackage ../development/libraries/keybinder3 {
     automake = automake111x;
-    lua = lua5_1;
   };
 
   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
 
+  LASzip = callPackage ../development/libraries/LASzip { };
+
   lcms = lcms1;
 
   lcms1 = callPackage ../development/libraries/lcms { };
@@ -5085,9 +5321,7 @@ let
     libpng = libpng12;
   };
 
-  lgi = callPackage ../development/libraries/lgi {
-    lua = lua5_1;
-  };
+  lgi = callPackage ../development/libraries/lgi { };
 
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
@@ -5146,7 +5380,7 @@ let
     inherit (gnome) libsoup;
   };
 
-  libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {};
+  libchardet = callPackage ../development/libraries/libchardet { };
 
   libchop = callPackage ../development/libraries/libchop { };
 
@@ -5219,6 +5453,9 @@ let
   libelf = callPackage ../development/libraries/libelf { };
 
   libfm = callPackage ../development/libraries/libfm { };
+  libfm-extra = callPackage ../development/libraries/libfm {
+    extraOnly = true;
+  };
 
   libgadu = callPackage ../development/libraries/libgadu { };
 
@@ -5278,6 +5515,8 @@ let
 
   libffi = callPackage ../development/libraries/libffi { };
 
+  libfreefare = callPackage ../development/libraries/libfreefare { };
+
   libftdi = callPackage ../development/libraries/libftdi { };
 
   libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { };
@@ -5302,6 +5541,12 @@ let
 
   libharu = callPackage ../development/libraries/libharu { };
 
+  libHX = callPackage ../development/libraries/libHX { };
+
+  libibmad = callPackage ../development/libraries/libibmad { };
+
+  libibumad = callPackage ../development/libraries/libibumad { };
+
   libical = callPackage ../development/libraries/libical { };
 
   libicns = callPackage ../development/libraries/libicns { };
@@ -5698,7 +5943,6 @@ let
   libyaml = callPackage ../development/libraries/libyaml { };
 
   libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
-  libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { };
 
   libyubikey = callPackage ../development/libraries/libyubikey {};
 
@@ -5920,7 +6164,11 @@ let
 
   openexr = callPackage ../development/libraries/openexr { };
 
-  openldap = callPackage ../development/libraries/openldap { };
+  openldap = callPackage ../development/libraries/openldap {
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   openlierox = callPackage ../games/openlierox { };
 
@@ -5987,7 +6235,7 @@ let
 
   pocketsphinx = callPackage ../development/libraries/pocketsphinx { };
 
-  podofo = callPackage ../development/libraries/podofo { };
+  podofo = callPackage ../development/libraries/podofo { lua5 = lua5_1; };
 
   polkit = callPackage ../development/libraries/polkit {
     spidermonkey = spidermonkey_185;
@@ -6039,6 +6287,8 @@ let
 
   qoauth = callPackage ../development/libraries/qoauth { };
 
+  quazip = callPackage ../development/libraries/quazip { };
+
   qt3 = callPackage ../development/libraries/qt-3 {
     openglSupport = mesaSupported;
     libpng = libpng12;
@@ -6058,24 +6308,24 @@ let
       else stdenv;
   };
 
-  qt48Full = qt48.override {
+  qt48Full = appendToName "full" (qt48.override {
     docs = true;
     demos = true;
     examples = true;
     developerBuild = true;
-  };
+  });
 
   qt4SDK = qtcreator.override {
     sdkBuild = true;
     qtLib = qt48Full;
   };
 
-  qt53Full = qt53.override {
+  qt53Full = appendToName "full" (qt53.override {
     buildDocs = true;
     buildExamples = true;
     buildTests = true;
     developerBuild = true;
-  };
+  });
 
   qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix {
     mesa = mesa_noglu;
@@ -6093,12 +6343,12 @@ let
     bison = bison2; # error: too few arguments to function 'int yylex(...
   };
 
-  qt5Full = qt5.override {
+  qt5Full = appendToName "full" (qt5.override {
     buildDocs = true;
     buildExamples = true;
     buildTests = true;
     developerBuild = true;
-  };
+  });
 
   qt5SDK = qtcreator.override {
     sdkBuild = true;
@@ -6123,15 +6373,14 @@ let
 
   raul = callPackage ../development/libraries/audio/raul { };
 
-  readline = readline6; # 6.2 works, 6.3 breaks python, parted
-
-  readline4 = callPackage ../development/libraries/readline/readline4.nix { };
+  readline = readline6;
+  readline6 = readline63;
 
-  readline5 = callPackage ../development/libraries/readline/readline5.nix { };
+  readline5 = callPackage ../development/libraries/readline/5.x.nix { };
 
-  readline6 = callPackage ../development/libraries/readline/readline6.nix { };
+  readline62 = callPackage ../development/libraries/readline/6.2.nix { };
 
-  readline63 = callPackage ../development/libraries/readline/readline6.3.nix { };
+  readline63 = callPackage ../development/libraries/readline/6.3.nix { };
 
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
 
@@ -6264,6 +6513,8 @@ let
 
   sphinxbase = callPackage ../development/libraries/sphinxbase { };
 
+  sphinxsearch = callPackage ../servers/search/sphinxsearch { };
+
   spice = callPackage ../development/libraries/spice {
     celt = celt_0_5_1;
     inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama;
@@ -6529,6 +6780,32 @@ let
 
   zziplib = callPackage ../development/libraries/zziplib { };
 
+  ### DEVELOPMENT / LIBRARIES / AGDA
+
+  aaronStumpStdlib = callPackage ../development/libraries/agda/aaron-stump-stdlib {};
+
+  agda = callPackage ../build-support/agda {
+    glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null;
+    extension = self : super : {};
+    Agda = haskellPackages.Agda;
+    inherit writeScriptBin;
+  };
+
+  agdaPrelude = callPackage ../development/libraries/agda/agda-prelude {};
+
+  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {
+    inherit (haskellPackages) ghc filemanip;
+  };
+
+  AgdaSheaves = callPackage ../development/libraries/agda/AgdaSheaves {};
+
+  bitvector = callPackage ../development/libraries/agda/bitvector {};
+
+  categories = callPackage ../development/libraries/agda/categories {};
+
+  pretty = callPackage ../development/libraries/agda/pretty {};
+
+  TotalParserCombinators = callPackage ../development/libraries/agda/TotalParserCombinators {};
 
   ### DEVELOPMENT / LIBRARIES / JAVA
 
@@ -6536,7 +6813,17 @@ let
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
 
-  commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { };
+  commonsBcel = callPackage ../development/libraries/java/commons/bcel { };
+
+  commonsCompress = callPackage ../development/libraries/java/commons/compress { };
+
+  commonsFileUpload = callPackage ../development/libraries/java/commons/fileupload { };
+
+  commonsLang = callPackage ../development/libraries/java/commons/lang { };
+
+  commonsIo = callPackage ../development/libraries/java/commons/io { };
+
+  commonsMath = callPackage ../development/libraries/java/commons/math { };
 
   fastjar = callPackage ../development/tools/java/fastjar { };
 
@@ -6546,12 +6833,6 @@ let
 
   gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { };
 
-  jakartabcel = callPackage ../development/libraries/java/jakarta-bcel {
-    regexp = jakartaregexp;
-  };
-
-  jakartaregexp = callPackage ../development/libraries/java/jakarta-regexp { };
-
   javaCup = callPackage ../development/libraries/java/cup { };
 
   javasvn = callPackage ../development/libraries/java/javasvn { };
@@ -6593,7 +6874,9 @@ let
 
   ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
 
-  jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
+  jquery = callPackage ../development/libraries/javascript/jquery { };
+
+  jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
   yuicompressor = callPackage ../development/tools/yuicompressor { };
 
@@ -6643,7 +6926,6 @@ let
 
   planetary_annihilation = callPackage ../games/planetaryannihilation { };
 
-
   ### DEVELOPMENT / PYTHON MODULES
 
   # python function with default python interpreter
@@ -6723,7 +7005,7 @@ let
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  sip = callPackage ../development/python-modules/sip { };
+  sip = pythonPackages.sip;
 
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     stdenv = if stdenv.isDarwin
@@ -6827,7 +7109,7 @@ let
 
   dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {};
 
-  diod = callPackage ../servers/diod { };
+  diod = callPackage ../servers/diod { lua = lua5_1; };
 
   dovecot = dovecot21;
 
@@ -6924,7 +7206,7 @@ let
 
   nix-binary-cache = callPackage ../servers/http/nix-binary-cache {};
 
-  nsd = callPackage ../servers/dns/nsd { };
+  nsd = callPackage ../servers/dns/nsd (config.nsd or {});
 
   nsq = callPackage ../servers/nsq { };
 
@@ -6967,7 +7249,9 @@ let
 
   mariadb = callPackage ../servers/sql/mariadb {};
 
-  mongodb = callPackage ../servers/nosql/mongodb { };
+  mongodb = callPackage ../servers/nosql/mongodb {
+    sasl = cyrus_sasl;
+  };
 
   riak = callPackage ../servers/nosql/riak/1.3.1.nix { };
 
@@ -7016,6 +7300,8 @@ let
 
   postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { };
 
+  postgresql94 = callPackage ../servers/sql/postgresql/9.4.x.nix { };
+
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
@@ -7089,8 +7375,14 @@ let
 
   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
 
+  tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { };
+
+  tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { };
+
   tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { };
 
+  torque = callPackage ../servers/computing/torque { };
+
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
   unifi = callPackage ../servers/unifi { };
@@ -7733,6 +8025,8 @@ let
 
   pam_login = callPackage ../os-specific/linux/pam_login { };
 
+  pam_mount = callPackage ../os-specific/linux/pam_mount { };
+
   pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { };
 
   pam_usb = callPackage ../os-specific/linux/pam_usb { };
@@ -7794,6 +8088,8 @@ let
 
   shadow = callPackage ../os-specific/linux/shadow { };
 
+  smem = callPackage ../os-specific/linux/smem { };
+
   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
 
   sysdig = callPackage ../os-specific/linux/sysdig {
@@ -8010,6 +8306,8 @@ let
 
   aurulent-sans = callPackage ../data/fonts/aurulent-sans { };
 
+  baekmuk-ttf = callPackage ../data/fonts/baekmuk-ttf { };
+
   bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
 
   cacert = callPackage ../data/misc/cacert { };
@@ -8115,6 +8413,8 @@ let
 
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
+  proggyfonts = callPackage ../data/fonts/proggyfonts { };
+
   pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { };
 
   shared_mime_info = callPackage ../data/misc/shared-mime-info { };
@@ -8123,6 +8423,8 @@ let
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
+  stix-otf = callPackage ../data/fonts/stix-otf { };
+
   symbola = callPackage ../data/fonts/symbola { };
 
   iana_etc = callPackage ../data/misc/iana-etc { };
@@ -8216,8 +8518,16 @@ let
 
   aewan = callPackage ../applications/editors/aewan { };
 
+  afterstep = callPackage ../applications/window-managers/afterstep {
+    inherit (xlibs) libX11 libXext libICE;
+    fltk = fltk13;
+    gtk = gtk2;
+  };
+
   alchemy = callPackage ../applications/graphics/alchemy { };
 
+  alock = callPackage ../misc/screensavers/alock { };
+
   ams-lv2 = callPackage ../applications/audio/ams-lv2 { };
 
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
@@ -8265,18 +8575,21 @@ let
   avxsynth = callPackage ../applications/video/avxsynth { };
 
   awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
-    lua = lua5;
     cairo = cairo.override { xcbSupport = true; };
+    lua = lua5_1;
   };
   awesome-3-5 = callPackage ../applications/window-managers/awesome {
-    lua   = lua5_1;
     cairo = cairo.override { xcbSupport = true; };
   };
   awesome = awesome-3-5;
 
   inherit (gnome3) baobab;
 
-  backintime = callPackage ../applications/networking/sync/backintime { };
+  backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
+
+  backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { };
+
+  backintime = backintime-gnome;
 
   bar = callPackage ../applications/window-managers/bar { };
 
@@ -8286,6 +8599,8 @@ let
 
   batik = callPackage ../applications/graphics/batik { };
 
+  batti = callPackage ../applications/misc/batti { };
+
   bazaar = callPackage ../applications/version-management/bazaar { };
 
   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
@@ -8303,13 +8618,11 @@ let
   bitcoind = callPackage ../applications/misc/bitcoin { gui = false; };
 
   altcoins = recurseIntoAttrs (
-    callPackage ../applications/misc/bitcoin/altcoins.nix {}
+    (callPackage ../applications/misc/bitcoin/altcoins.nix {}) //
+    (callPackage ../applications/misc/bitcoin/dogecoin.nix {})
   );
 
-  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee {
-    gnutls = gnutls;
-    libotr = libotr_3_2;
-  };
+  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
 
   blender = callPackage  ../applications/misc/blender {
     python = python34;
@@ -8366,6 +8679,7 @@ let
     pulseSupport = config.pulseaudio or true;
     enablePepperFlash = config.chromium.enablePepperFlash or false;
     enablePepperPDF = config.chromium.enablePepperPDF or false;
+    hiDPISupport = config.chromium.hiDPISupport or false;
   };
 
   chromiumBeta = lowPrio (chromium.override { channel = "beta"; });
@@ -8376,6 +8690,10 @@ let
 
   clipit = callPackage ../applications/misc/clipit { };
 
+  cmplayer = callPackage ../applications/video/cmplayer {
+    pulseSupport = config.pulseaudio or false;
+  };
+
   cmus = callPackage ../applications/audio/cmus { };
 
   compiz = callPackage ../applications/window-managers/compiz {
@@ -8428,6 +8746,7 @@ let
   darcs = with haskellPackages_ghc783; callPackage ../applications/version-management/darcs {
     cabal = cabal.override {
       extension = self : super : {
+        enableSharedExecutables = false;
         isLibrary = false;
         configureFlags = "-f-library " + super.configureFlags or "";
       };
@@ -8440,6 +8759,11 @@ let
 
   dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
 
+  deadbeef = callPackage ../applications/audio/deadbeef {
+    gtk = gtk3;
+    pulseSupport = config.pulseaudio or true;
+  };
+
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
@@ -8547,9 +8871,9 @@ let
 
     darcsum = callPackage ../applications/editors/emacs-modes/darcsum { };
 
-    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
+    dash = callPackage ../applications/editors/emacs-modes/dash { };
 
-    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
+    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
 
     emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { };
 
@@ -8559,6 +8883,8 @@ let
 
     emms = callPackage ../applications/editors/emacs-modes/emms { };
 
+    ensime = callPackage ../applications/editors/emacs-modes/ensime { };
+
     ess = callPackage ../applications/editors/emacs-modes/ess { };
 
     flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { };
@@ -8569,31 +8895,21 @@ let
 
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
-    idris = callPackage ../applications/editors/emacs-modes/idris { };
-
-    jade = callPackage ../applications/editors/emacs-modes/jade { };
-
-    jdee = callPackage ../applications/editors/emacs-modes/jdee {
-      # Requires Emacs 23, for `avl-tree'.
-    };
-
-    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
+    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
 
-    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
 
-    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
+    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
 
-    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+    idris = callPackage ../applications/editors/emacs-modes/idris { };
 
-    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
-      inherit (haskellPackages) cabal haskellSrcExts;
-    };
+    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
 
-    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+    jade = callPackage ../applications/editors/emacs-modes/jade { };
 
-    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
+    jdee = callPackage ../applications/editors/emacs-modes/jdee { };
 
-    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
+    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
 
     logito = callPackage ../applications/editors/emacs-modes/logito { };
 
@@ -8607,6 +8923,8 @@ let
 
     notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
 
+    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+
     offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
 
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
@@ -8637,22 +8955,36 @@ let
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };
 
+    rainbowDelimiters = callPackage ../applications/editors/emacs-modes/rainbow-delimiters { };
+
     rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { };
 
     remember = callPackage ../applications/editors/emacs-modes/remember { };
 
     rudel = callPackage ../applications/editors/emacs-modes/rudel { };
 
+    s = callPackage ../applications/editors/emacs-modes/s { };
+
     sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { };
 
     scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { };
     scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { };
 
+    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+
+    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
+      inherit (haskellPackages) cabal haskellSrcExts;
+    };
+
     sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { };
 
+    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+
     writeGood = callPackage ../applications/editors/emacs-modes/writegood { };
 
     xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { };
+
+    cask = callPackage ../applications/editors/emacs-modes/cask { };
   };
 
   emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages);
@@ -8759,7 +9091,13 @@ let
 
   wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
 
-  wireshark = callPackage ../applications/networking/sniffers/wireshark { };
+  wireshark-cli = callPackage ../applications/networking/sniffers/wireshark {
+    withQt = false;
+    withGtk = false;
+  };
+  wireshark-gtk = wireshark-cli.override { withGtk = true; };
+  wireshark-qt = wireshark-cli.override { withQt = true; };
+  wireshark = wireshark-gtk;
 
   wvdial = callPackage ../os-specific/linux/wvdial { };
 
@@ -8777,12 +9115,6 @@ let
 
   firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; };
 
-  firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix {
-    inherit (gnome) libIDL;
-    inherit (pythonPackages) pysqlite;
-    libpng = libpng_apng;
-  };
-
   firefox = callPackage ../applications/networking/browsers/firefox {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
@@ -8805,6 +9137,11 @@ let
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
+  fme = callPackage ../applications/misc/fme {
+    inherit (gnome) libglademm;
+    inherit pkgconfig autoconf automake gettext;
+  };
+
   freecad = callPackage ../applications/graphics/freecad {
     opencascade = opencascade_6_5;
     inherit (pythonPackages) matplotlib pycollada;
@@ -8889,16 +9226,20 @@ let
     libart = gnome2.libart_lgpl;
   }; # latest version: gnome3.goffice
 
-  ideas = recurseIntoAttrs (  (callPackage ../applications/editors/idea { })
-                           // (callPackage ../applications/editors/idea/pycharm.nix { }));
+  idea = recurseIntoAttrs (callPackage ../applications/editors/idea { });
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  linssid = callPackage ../applications/networking/linssid { };
+
   mi2ly = callPackage ../applications/audio/mi2ly {};
 
   praat = callPackage ../applications/audio/praat { };
 
-  quvi = callPackage ../applications/video/quvi/tool.nix { };
+  quvi = callPackage ../applications/video/quvi/tool.nix {
+    lua5_sockets = lua5_1_sockets;
+    lua5 = lua5_1;
+  };
 
   quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
 
@@ -9044,7 +9385,7 @@ let
 
   ii = callPackage ../applications/networking/irc/ii { };
 
-  ike = callPackage ../applications/ike { };
+  ike = callPackage ../applications/networking/ike { };
 
   ikiwiki = callPackage ../applications/misc/ikiwiki {
     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
@@ -9120,6 +9461,7 @@ let
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
+    boost = boost149;
   };
 
   keepnote = callPackage ../applications/office/keepnote {
@@ -9170,7 +9512,6 @@ let
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
     zip = zip.override { enableNLS = false; };
-    boost = boost155;
     jdk = openjdk;
     fontsConf = makeFontsConf {
       fontDirectories = [
@@ -9285,6 +9626,8 @@ let
 
   moc = callPackage ../applications/audio/moc { };
 
+  monero = callPackage ../applications/misc/monero { };
+
   monkeysAudio = callPackage ../applications/audio/monkeys-audio { };
 
   monodevelop = callPackage ../applications/editors/monodevelop {
@@ -9303,8 +9646,8 @@ let
   };
 
   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
-    inherit ocaml graphviz pkgconfig autoconf automake libtool glib gtk;
-    inherit (ocamlPackages) lablgtk;
+    inherit graphviz pkgconfig autoconf automake libtool glib gtk;
+    inherit (ocamlPackages_4_01_0) lablgtk ocaml;
     inherit (gnome) libgnomecanvas;
   };
 
@@ -9362,6 +9705,7 @@ let
 
   mpv = callPackage ../applications/video/mpv {
     lua = lua5_1;
+    lua5_sockets = lua5_1_sockets;
     bs2bSupport = config.mpv.bs2bSupport or true;
     quviSupport = config.mpv.quviSupport or false;
     cacaSupport = config.mpv.cacaSupport or true;
@@ -9370,6 +9714,10 @@ let
 
   mrxvt = callPackage ../applications/misc/mrxvt { };
 
+  mudlet = callPackage ../games/mudlet {
+    inherit (lua51Packages) filesystem;
+  };
+
   multisync = callPackage ../applications/misc/multisync {
     inherit (gnome) ORBit2 libbonobo libgnomeui GConf;
   };
@@ -9389,12 +9737,17 @@ let
     iceSupport = config.murmur.iceSupport or true;
   };
 
+  musescore = callPackage ../applications/audio/musescore { };
+
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
 
+  namecoin = callPackage ../applications/misc/namecoin { };
+  namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   ruby_gpgme = callPackage ../development/libraries/ruby_gpgme {
-    ruby = ruby19;
+    ruby = ruby_1_9_3;
     hoe = rubyLibs.hoe;
   };
 
@@ -9405,7 +9758,7 @@ let
   smplayer = callPackage ../applications/video/smplayer { };
 
   sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup {
-    ruby = ruby19.override {
+    ruby = ruby_1_9_3.override {
       cursesSupport = true;
     };
 
@@ -9503,6 +9856,8 @@ let
 
   openbox = callPackage ../applications/window-managers/openbox { };
 
+  openbox-menu = callPackage ../applications/misc/openbox-menu { };
+
   openimageio = callPackage ../applications/graphics/openimageio { };
 
   openjump = callPackage ../applications/misc/openjump { };
@@ -9605,7 +9960,7 @@ let
 
   qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
 
-  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { };
+  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { lua5 = lua5_1; };
 
   qemu = callPackage ../applications/virtualization/qemu { };
 
@@ -9724,6 +10079,8 @@ let
     conf = config.st.conf or null;
   };
 
+  stella = callPackage ../misc/emulators/stella { };
+
   linuxstopmotion = callPackage ../applications/video/linuxstopmotion { };
 
   sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d { })
@@ -9736,6 +10093,8 @@ let
 
   bittorrentSync = callPackage ../applications/networking/bittorrentsync { };
 
+  copy-com = callPackage ../applications/networking/copy-com { };
+
   dropbox = callPackage ../applications/networking/dropbox { };
 
   dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
@@ -9760,8 +10119,17 @@ let
     libpng = libpng12;
   };
 
+
+  smartgithg = callPackage ../applications/version-management/smartgithg { };
+
+  slimThemes = recurseIntoAttrs (import ../applications/display-managers/slim/themes.nix {
+    inherit stdenv fetchurl slim;
+  });
+
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
+  snapper = callPackage ../tools/misc/snapper { };
+
   snd = callPackage ../applications/audio/snd { };
 
   shntool = callPackage ../applications/audio/shntool { };
@@ -9877,6 +10245,11 @@ let
     inherit (pythonPackages) notify;
   };
 
+  termite = callPackage ../applications/misc/termite {
+    gtk = gtk3;
+    vte = gnome3_12.vte-select-text;
+   };
+
   tesseract = callPackage ../applications/graphics/tesseract { };
 
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
@@ -9928,6 +10301,8 @@ let
 
   tree = callPackage ../tools/system/tree {};
 
+  trezor-bridge = callPackage ../applications/networking/browsers/mozilla-plugins/trezor { };
+
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
   twister = callPackage ../applications/networking/p2p/twister { };
@@ -9957,6 +10332,8 @@ let
 
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
+  vanubi = callPackage ../applications/editors/vanubi { };
+
   vbindiff = callPackage ../applications/editors/vbindiff { };
 
   vcprompt = callPackage ../applications/version-management/vcprompt { };
@@ -9985,7 +10362,7 @@ let
       libICE;
 
     features = "huge"; # one of  tiny, small, normal, big or huge
-    lua = pkgs.lua5;
+    lua = pkgs.lua5_1;
     gui = config.vim.gui or "auto";
 
     # optional features by flags
@@ -10034,7 +10411,9 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc { };
+  vlc = callPackage ../applications/video/vlc {
+    ffmpeg = ffmpeg_2_3;
+  };
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -10096,29 +10475,67 @@ let
       cfg = stdenv.lib.attrByPath [ browserName ] {} config;
       enableAdobeFlash = cfg.enableAdobeFlash or false;
       enableGnash = cfg.enableGnash or false;
+      jre = cfg.jre or false;
+      icedtea = cfg.icedtea or false;
     in
     import ../applications/networking/browsers/firefox/wrapper.nix {
       inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
       plugins =
          assert !(enableGnash && enableAdobeFlash);
+         assert !(jre && icedtea);
          ([ ]
           ++ lib.optional enableGnash gnash
           ++ lib.optional enableAdobeFlash flashplayer
           ++ lib.optional (cfg.enableDjvu or false) (djview4)
           ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
           ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer
-          ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional icedtea icedtea7_web
           ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
           ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
           ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
+          ++ lib.optional (cfg.enableTrezor or false) trezor-bridge
          );
       libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false)
              (with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]);
       gtk_modules = [ libcanberra ];
     };
 
+  wrapRetroArch = { retroarch }:
+  let
+    cfg = stdenv.lib.attrByPath [ "retroarch" ] {} config;
+  in
+    import ../misc/emulators/retroarch/wrapper.nix {
+      inherit stdenv lib makeWrapper retroarch;
+      cores = with libretro;
+      ([ ]
+      ++ lib.optional (cfg.enable4do or false) _4do
+      ++ lib.optional (cfg.enableBsnesMercury or false) bsnes-mercury
+      ++ lib.optional (cfg.enableDesmume or false) desmume
+      ++ lib.optional (cfg.enableFBA or false) fba
+      ++ lib.optional (cfg.enableFceumm or false) fceumm
+      ++ lib.optional (cfg.enableGambatte or false) gambatte
+      ++ lib.optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx
+      ++ lib.optional (cfg.enableMupen64Plus or false) mupen64plus
+      ++ lib.optional (cfg.enablePicodrive or false) picodrive
+      ++ lib.optional (cfg.enablePrboom or false) prboom
+      ++ lib.optional (cfg.enablePPSSPP or false) ppsspp
+      ++ lib.optional (cfg.enableScummVM or false) scummvm
+      ++ lib.optional (cfg.enableSnes9xNext or false) snes9x-next
+      ++ lib.optional (cfg.enableStella or false) stella
+      ++ lib.optional (cfg.enableVbaNext or false) vba-next
+      );
+  };
+
   wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
 
+  wxcam = callPackage ../applications/video/wxcam {
+    inherit (gnome) libglade;
+    inherit intltool;
+    wxGTK = wxGTK28;
+    gtk = gtk2;
+  };
+
   x11vnc = callPackage ../tools/X11/x11vnc { };
 
   x2vnc = callPackage ../tools/X11/x2vnc { };
@@ -10185,6 +10602,13 @@ let
     inherit (gnome) libglade GConf;
   };
 
+  xiphos = callPackage ../applications/misc/xiphos {
+    gconf = gnome2.GConf;
+    inherit (gnome2) gtkhtml libgtkhtml libglade scrollkeeper;
+    python = python27;
+    webkitgtk = webkitgtk2;
+  };
+
   xournal = callPackage ../applications/graphics/xournal {
     inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas;
   };
@@ -10212,6 +10636,11 @@ let
 
   finalterm = callPackage ../applications/misc/finalterm { };
 
+  roxterm = callPackage ../applications/misc/roxterm {
+    inherit (pythonPackages) lockfile;
+    inherit (gnome3) vte gsettings_desktop_schemas;
+  };
+
   xtrace = callPackage ../tools/X11/xtrace { };
 
   xlaunch = callPackage ../tools/X11/xlaunch { };
@@ -10232,7 +10661,7 @@ let
 
   inherit (gnome3) yelp;
 
-  qgis = callPackage ../applications/misc/qgis {};
+  qgis = callPackage ../applications/gis/qgis {};
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
 
@@ -10261,12 +10690,13 @@ let
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
-  zotero = callPackage ../applications/office/zotero {
-    xulrunner = xulrunner_30;
+  zim = callPackage ../applications/office/zim {
+    pygtk = pyGtkGlade;
   };
 
-  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
+  zotero = callPackage ../applications/office/zotero { };
 
+  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
   ### GAMES
 
@@ -10277,7 +10707,7 @@ let
   anki = callPackage ../games/anki { };
 
   asc = callPackage ../games/asc {
-    lua = lua5;
+    lua = lua5_1;
     libsigcxx = libsigcxx12;
   };
 
@@ -10392,12 +10822,6 @@ let
 
   gnugo = callPackage ../games/gnugo { };
 
-  gparted = callPackage ../tools/misc/gparted { };
-
-  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
-    inherit (gnome) libglademm;
-  };
-
   gtypist = callPackage ../games/gtypist { };
 
   hexen = callPackage ../games/hexen { };
@@ -10436,7 +10860,7 @@ let
 
   oilrush = callPackage ../games/oilrush { };
 
-  openra = callPackage ../games/openra { };
+  openra = callPackage ../games/openra { lua = lua5_1; };
 
   openttd = callPackage ../games/openttd {
     zlib = zlibStatic;
@@ -10481,6 +10905,8 @@ let
 
   rogue = callPackage ../games/rogue { };
 
+  saga = callPackage ../applications/gis/saga { };
+
   samplv1 = callPackage ../applications/audio/samplv1 { };
 
   sauerbraten = callPackage ../games/sauerbraten {};
@@ -10511,11 +10937,9 @@ let
 
   stardust = callPackage ../games/stardust {};
 
-  steam = callPackage_i686 ../games/steam {};
+  steam = callPackage ../games/steam {};
 
-  steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix {
-    zenity = gnome2.zenity;
-  };
+  steamChrootEnv = callPackage ../games/steam/chrootenv.nix { };
 
   stuntrally = callPackage ../games/stuntrally { };
 
@@ -10533,7 +10957,7 @@ let
 
   tennix = callPackage ../games/tennix { };
 
-  tibia = callPackage ../games/tibia { };
+  tibia = callPackage_i686 ../games/tibia { };
 
   tintin = callPackage ../games/tintin { };
 
@@ -10573,6 +10997,8 @@ let
 
   urbanterror = callPackage ../games/urbanterror { };
 
+  ue4demos = recurseIntoAttrs (callPackage ../games/ue4demos { });
+
   ut2004demo = callPackage ../games/ut2004demo { };
 
   vdrift = callPackage ../games/vdrift { };
@@ -10657,6 +11083,11 @@ let
     import ../desktops/e18 { inherit callPackage pkgs; }
   );
 
+  e19 = recurseIntoAttrs (
+    let callPackage = newScope pkgs.e19; in
+    import ../desktops/e19 { inherit callPackage pkgs; }
+  );
+
   gnome2 = callPackage ../desktops/gnome-2 {
     callPackage = pkgs.newScope pkgs.gnome2;
     self = pkgs.gnome2;
@@ -10747,6 +11178,8 @@ let
 
       kdiff3 = callPackage ../tools/text/kdiff3 { };
 
+      kgraphviewer = callPackage ../applications/graphics/kgraphviewer { };
+
       kile = callPackage ../applications/editors/kile { };
 
       kmplayer = callPackage ../applications/video/kmplayer { };
@@ -10781,6 +11214,8 @@ let
 
       libnm-qt = callPackage ../development/libraries/libnm-qt { };
 
+      massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { };
+
       networkmanagement = callPackage ../tools/networking/networkmanagement { };
 
       partitionManager = callPackage ../tools/misc/partition-manager { };
@@ -10844,7 +11279,11 @@ let
     geoclue = geoclue2;
   };
 
-  oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+  oxygen-gtk2 = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+
+  oxygen-gtk3 = callPackage ../misc/themes/gtk3/oxygen-gtk3 { };
+
+  oxygen_gtk = oxygen-gtk2; # backwards compatibility
 
   gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
 
@@ -10945,6 +11384,7 @@ let
   openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { };
 
   mathematica = callPackage ../applications/science/math/mathematica { };
+  mathematica9 = callPackage ../applications/science/math/mathematica/9.nix { };
 
   sage = callPackage ../applications/science/math/sage { };
 
@@ -10970,8 +11410,8 @@ let
   alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
 
   coq = callPackage ../applications/science/logic/coq {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
+    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
   };
 
   coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
@@ -10980,8 +11420,9 @@ let
   };
 
   coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_3_12_1) ocaml findlib;
+    camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
+    lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
   };
 
   cvc3 = callPackage ../applications/science/logic/cvc3 {};
@@ -11022,7 +11463,7 @@ let
     ocaml = ocaml_3_11_2;
     inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http
             lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet camlzip ocaml_pcre;
-    ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_5_transitional; };
+    ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_old_transitional; };
   };
 
   matita_130312 = lowPrio (callPackage ../applications/science/logic/matita/130312.nix {
@@ -11034,13 +11475,17 @@ let
 
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
+  ott = callPackage ../applications/science/logic/ott {
+    camlp5 = ocamlPackages.camlp5_transitional;
+  };
+
   otter = callPackage ../applications/science/logic/otter {};
 
   picosat = callPackage ../applications/science/logic/picosat {};
 
   prooftree = callPackage ../applications/science/logic/prooftree {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
+    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
   };
 
   prover9 = callPackage ../applications/science/logic/prover9 { };
@@ -11112,6 +11557,8 @@ let
 
   pari = callPackage ../applications/science/math/pari {};
 
+  pcalc = callPackage ../applications/science/math/pcalc { };
+
   pspp = callPackage ../applications/science/math/pssp {
     inherit (gnome) libglade gtksourceview;
   };
@@ -11269,9 +11716,6 @@ let
 
   martyr = callPackage ../development/libraries/martyr { };
 
-  maven = maven3;
-  maven3 = callPackage ../misc/maven { jdk = openjdk; };
-
   mess = callPackage ../misc/emulators/mess {
     inherit (pkgs.gnome) GConf;
   };
@@ -11327,7 +11771,7 @@ let
   lkproof = callPackage ../tools/typesetting/tex/lkproof { };
 
   mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
-    lua = lua5;
+    lua = lua5_1;
     inherit (pythonPackages) pexpect paramiko;
   };
 
@@ -11347,6 +11791,8 @@ let
 
   pgfplots = callPackage ../tools/typesetting/tex/pgfplots { };
 
+  phabricator = callPackage ../misc/phabricator { };
+
   pjsip = callPackage ../applications/networking/pjsip { };
 
   polytable = callPackage ../tools/typesetting/tex/polytable { };
@@ -11357,7 +11803,15 @@ let
 
   putty = callPackage ../applications/networking/remote/putty { };
 
-  retroarch = callPackage ../misc/emulators/retroarch { };
+  retroarchBare = callPackage ../misc/emulators/retroarch { };
+
+  retroarchBareMaster = callPackage ../misc/emulators/retroarch/master.nix { };
+
+  retroarch = wrapRetroArch { retroarch = retroarchBareMaster; };
+
+  libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix {
+    retroarch = retroarchBareMaster;
+  });
 
   rssglx = callPackage ../misc/screensavers/rss-glx { };
 
@@ -11586,7 +12040,10 @@ let
 
   snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
 
-  higan = callPackage ../misc/emulators/higan { };
+  higan = callPackage ../misc/emulators/higan {
+    profile = "accuracy";
+    gui = "gtk";
+  };
 
   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
 
@@ -11604,6 +12061,7 @@ let
   asciidocFull = asciidoc-full;  # added 2014-06-22
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
+  jquery_ui = jquery-ui;  # added 2014-09-07
 
 
 }; in self; in pkgs
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 9a064212a40eb..4fcab8e9d6de0 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -131,6 +131,7 @@
     network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     OpenGLRaw = self.OpenGLRaw_1_3_0_0;
     OpenGL = self.OpenGL_2_6_0_1;
+    parsec = super.parsec.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     systemFilepath = super.systemFilepath.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index cfb06b0880d2e..45feb3fcf0f26 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -190,8 +190,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {};
   async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {};
-  async_2_0_1_5 = callPackage ../development/libraries/haskell/async/2.0.1.5.nix {};
-  async = self.async_2_0_1_5;
+  async_2_0_1_6 = callPackage ../development/libraries/haskell/async/2.0.1.6.nix {};
+  async = self.async_2_0_1_6;
 
   atomicPrimops = callPackage ../development/libraries/haskell/atomic-primops {};
 
@@ -202,8 +202,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {};
   attoparsec_0_11_3_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.1.nix {};
   attoparsec_0_11_3_4 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.4.nix {};
-  attoparsec_0_12_1_1 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.1.nix {};
-  attoparsec = self.attoparsec_0_12_1_1;
+  attoparsec_0_12_1_2 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.2.nix {};
+  attoparsec = self.attoparsec_0_12_1_2;
 
   attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};
 
@@ -301,9 +301,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   boolExtras = callPackage ../development/libraries/haskell/bool-extras {};
 
-  boundingboxes_0_1_1 = callPackage ../development/libraries/haskell/boundingboxes/0.1.1.nix {};
-  boundingboxes_0_2 = callPackage ../development/libraries/haskell/boundingboxes/0.2.nix {};
-  boundingboxes = self.boundingboxes_0_2;
+  boundingboxes = callPackage ../development/libraries/haskell/boundingboxes {};
 
   BoundedChan = callPackage ../development/libraries/haskell/BoundedChan {};
 
@@ -372,8 +370,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {};
   caseInsensitive_1_1_0_3 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.3.nix {};
-  caseInsensitive_1_2_0_0 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.0.nix {};
-  caseInsensitive = self.caseInsensitive_1_2_0_0;
+  caseInsensitive_1_2_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.1.nix {};
+  caseInsensitive = self.caseInsensitive_1_2_0_1;
 
   cautiousFile = callPackage ../development/libraries/haskell/cautious-file {};
 
@@ -407,7 +405,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cheapskate = callPackage ../development/libraries/haskell/cheapskate {};
 
-  checkers = callPackage ../development/libraries/haskell/checkers { QuickCheck = self.QuickCheck_2_6; };
+  checkers = callPackage ../development/libraries/haskell/checkers {};
 
   chell = callPackage ../development/libraries/haskell/chell {};
 
@@ -469,6 +467,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
                then callPackage ../development/libraries/haskell/compdata {}
                else null;
 
+  compdataParam = callPackage ../development/libraries/haskell/compdata-param {};
+
   composition = callPackage ../development/libraries/haskell/composition {};
 
   compressed = callPackage ../development/libraries/haskell/compressed {};
@@ -873,6 +873,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   fuzzcheck = callPackage ../development/libraries/haskell/fuzzcheck {};
 
+  functorInfix = callPackage ../development/libraries/haskell/functor-infix {};
+
   gamma = callPackage ../development/libraries/haskell/gamma {};
 
   geniplate = callPackage ../development/libraries/haskell/geniplate {};
@@ -901,13 +903,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled
   };
 
+
+  ghcServer = callPackage ../development/libraries/haskell/ghc-server {};
+
   ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
 
   ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
 
-  ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { inherit (pkgs) emacs; };
-  ghcMod_5_0_1_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.1.nix { inherit (pkgs) emacs; };
-  ghcMod = self.ghcMod_4_1_6;
+  ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; };
 
   ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {};
 
@@ -1154,7 +1157,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   haxl = callPackage ../development/libraries/haskell/haxl {};
 
-  haxr = callPackage ../development/libraries/haskell/haxr {};
+  haxr = callPackage ../development/libraries/haskell/haxr {
+    HTTP = self.HTTP.override { network = self.network_2_6_0_2; };
+  };
 
   haxr_th = callPackage ../development/libraries/haskell/haxr-th {};
 
@@ -1188,6 +1193,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hi = callPackage ../development/libraries/haskell/hi {};
 
+  hindent = callPackage ../development/libraries/haskell/hindent {};
+
   hint = callPackage ../development/libraries/haskell/hint {};
 
   hit = callPackage ../development/libraries/haskell/hit {};
@@ -1227,9 +1234,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {};
 
   hoogle = callPackage ../development/libraries/haskell/hoogle {};
-  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {
-    parallel = pkgs.parallel;
-  };
+  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {};
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
 
@@ -1346,7 +1351,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   imm = callPackage ../development/libraries/haskell/imm {};
 
-  implicit = callPackage ../development/libraries/haskell/implicit {};
+  implicit = callPackage ../development/libraries/haskell/implicit {
+    optparseApplicative = self.optparseApplicative_0_9_1_1;
+  };
 
   indents = callPackage ../development/libraries/haskell/indents {};
 
@@ -1421,6 +1428,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   JuicyPixelsUtil = callPackage ../development/libraries/haskell/JuicyPixels-util {};
 
+  jwt = callPackage ../development/libraries/haskell/jwt {};
+
   kanExtensions = callPackage ../development/libraries/haskell/kan-extensions {};
 
   kansasLava = callPackage ../development/libraries/haskell/kansas-lava {};
@@ -1439,7 +1448,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   languageGlsl = callPackage ../development/libraries/haskell/language-glsl {};
 
-  languageJava = callPackage ../development/libraries/haskell/language-java {};
+  languageJava_0_2_6 = callPackage ../development/libraries/haskell/language-java/0.2.6.nix {};
+  languageJava_0_2_7 = callPackage ../development/libraries/haskell/language-java/0.2.7.nix {};
+  languageJava = self.languageJava_0_2_7;
 
   languageJavascript = callPackage ../development/libraries/haskell/language-javascript {};
 
@@ -1469,6 +1480,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {};
 
+  lensFamily = callPackage ../development/libraries/haskell/lens-family {};
+
+  lensFamilyTh = callPackage ../development/libraries/haskell/lens-family-th {};
+
   lenses = callPackage ../development/libraries/haskell/lenses {};
 
   leveldbHaskell = callPackage ../development/libraries/haskell/leveldb-haskell {};
@@ -1479,7 +1494,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   libjenkins = callPackage ../development/libraries/haskell/libjenkins {};
 
-  libmpd = callPackage ../development/libraries/haskell/libmpd {};
+  libmpd_0_8_0_5 = callPackage ../development/libraries/haskell/libmpd/0.8.0.5.nix {};
+
+  libmpd_0_9_0_1 = callPackage ../development/libraries/haskell/libmpd/0.9.0.1.nix {};
+
+  libmpd = self.libmpd_0_9_0_1;
 
   liblastfm = callPackage ../development/libraries/haskell/liblastfm {};
 
@@ -1543,6 +1562,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   machines = callPackage ../development/libraries/haskell/machines {};
 
+  managed = callPackage ../development/libraries/haskell/managed {};
+
   markdown = callPackage ../development/libraries/haskell/markdown {};
 
   markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {};
@@ -1563,6 +1584,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {};
 
+  mersenneRandom = callPackage ../development/libraries/haskell/mersenne-random {};
+
   mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {};
 
   MFlow = callPackage ../development/libraries/haskell/MFlow {};
@@ -1719,8 +1742,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
   network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {};
   network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {};
-  network_2_6_0_1 = callPackage ../development/libraries/haskell/network/2.6.0.1.nix {};
-  network = self.network_2_5_0_0; # the latest version break HTTP on all platforms
+  network_2_6_0_2 = callPackage ../development/libraries/haskell/network/2.6.0.2.nix {};
+  network = self.network_2_5_0_0;
 
   networkCarbon = callPackage ../development/libraries/haskell/network-carbon {};
 
@@ -1793,7 +1816,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   options = callPackage ../development/libraries/haskell/options {};
 
-  optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
+  optparseApplicative_0_9_1_1 = callPackage ../development/libraries/haskell/optparse-applicative/0.9.1.1.nix {};
+  optparseApplicative_0_10_0 = callPackage ../development/libraries/haskell/optparse-applicative/0.10.0.nix {};
+  optparseApplicative = self.optparseApplicative_0_10_0;
 
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
 
@@ -1826,8 +1851,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
   parsec_3_1_3   = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {};
-  parsec_3_1_5   = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {};
-  parsec = self.parsec_3_1_5;
+  parsec_3_1_6   = callPackage ../development/libraries/haskell/parsec/3.1.6.nix {};
+  parsec = self.parsec_3_1_6;
 
   parsers = callPackage ../development/libraries/haskell/parsers {};
 
@@ -1847,6 +1872,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pcreLight = callPackage ../development/libraries/haskell/pcre-light {};
 
+  pdfToolboxContent = callPackage ../development/libraries/haskell/pdf-toolbox-content {};
+
+  pdfToolboxCore = callPackage ../development/libraries/haskell/pdf-toolbox-core {};
+
+  pdfToolboxDocument = callPackage ../development/libraries/haskell/pdf-toolbox-document {};
+
   pem = callPackage ../development/libraries/haskell/pem {};
 
   permutation = callPackage ../development/libraries/haskell/permutation {};
@@ -2065,6 +2096,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {};
 
+  regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {};
+
   regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {};
   regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
   regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
@@ -2130,6 +2163,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   robotsTxt = callPackage ../development/libraries/haskell/robots-txt {};
 
+  rope = callPackage ../development/libraries/haskell/rope {};
+
   rosezipper = callPackage ../development/libraries/haskell/rosezipper {};
 
   RSA = callPackage ../development/libraries/haskell/RSA {};
@@ -2147,8 +2182,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   sbv = callPackage ../development/libraries/haskell/sbv {};
 
   scientific_0_2_0_2 = callPackage ../development/libraries/haskell/scientific/0.2.0.2.nix {};
-  scientific_0_3_3_0 = callPackage ../development/libraries/haskell/scientific/0.3.3.0.nix {};
-  scientific = self.scientific_0_3_3_0;
+  scientific_0_3_3_1 = callPackage ../development/libraries/haskell/scientific/0.3.3.1.nix {};
+  scientific = self.scientific_0_3_3_1;
 
   scotty = callPackage ../development/libraries/haskell/scotty {};
 
@@ -2180,6 +2215,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   setlocale = callPackage ../development/libraries/haskell/setlocale {};
 
+  shellCheck = callPackage ../development/libraries/haskell/ShellCheck {};
 
   shellish = callPackage ../development/libraries/haskell/shellish {};
 
@@ -2189,6 +2225,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {};
   shelly = self.shelly_1_5_3_1;
 
+  shell-conduit = callPackage ../development/libraries/haskell/shell-conduit {};
+
   simpleConduit = callPackage ../development/libraries/haskell/simple-conduit {};
 
   simpleReflect = callPackage ../development/libraries/haskell/simple-reflect {};
@@ -2315,6 +2353,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     inherit (pkgs) SDL;
   };
 
+  sdl2 = callPackage ../development/libraries/haskell/sdl2 {
+    inherit (pkgs) SDL2;
+  };
+
   SHA = callPackage ../development/libraries/haskell/SHA {};
 
   SHA2 = callPackage ../development/libraries/haskell/SHA2 {};
@@ -2431,6 +2473,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   tastyHunit = callPackage ../development/libraries/haskell/tasty-hunit {};
 
+  tastyProgram = callPackage ../development/libraries/haskell/tasty-program {};
+
   tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {};
 
   tastyRerun = callPackage ../development/libraries/haskell/tasty-rerun {};
@@ -2526,7 +2570,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   threepennyGui = callPackage ../development/libraries/haskell/threepenny-gui {};
 
   time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
-  time_1_4_2 = callPackage ../development/libraries/haskell/time/1.4.2.nix {};
+  time_1_5 = callPackage ../development/libraries/haskell/time/1.5.nix {};
   time = null;                  # core package since ghc >= 6.12.x
 
   timerep = callPackage ../development/libraries/haskell/timerep {};
@@ -2541,13 +2585,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   timeCompat = callPackage ../development/libraries/haskell/time-compat {};
 
-  tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {};
-  tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {};
-  tls = self.tls_1_2_8;
-
-  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {
-    tls = self.tls_1_1_5;
-  };
+  tls = callPackage ../development/libraries/haskell/tls {};
 
   tostring = callPackage ../development/libraries/haskell/tostring {};
 
@@ -2691,8 +2729,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   void = callPackage ../development/libraries/haskell/void {};
 
   vty_4_7_5 = callPackage ../development/libraries/haskell/vty/4.7.5.nix {};
-  vty_5_2_1 = callPackage ../development/libraries/haskell/vty/5.2.1.nix {};
-  vty = self.vty_5_2_1;
+  vty_5_2_2 = callPackage ../development/libraries/haskell/vty/5.2.2.nix {};
+  vty = self.vty_5_2_2;
 
   vtyUi = callPackage ../development/libraries/haskell/vty-ui {
     vty = self.vty_4_7_5;
@@ -2734,10 +2772,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {};
 
-  websockets = callPackage ../development/libraries/haskell/websockets {
-    testFrameworkQuickcheck2 = self.testFrameworkQuickcheck2.override { QuickCheck = self.QuickCheck_2_6; };
-    QuickCheck = self.QuickCheck_2_6;
-  };
+  websockets = callPackage ../development/libraries/haskell/websockets {};
 
   websocketsSnap = callPackage ../development/libraries/haskell/websockets-snap {};
 
@@ -2890,7 +2925,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   # Compilers.
 
   Agda = callPackage ../development/compilers/agda {};
-  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {};
 
   uhc = callPackage ../development/compilers/uhc {};
 
@@ -2912,7 +2946,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   BNFC = callPackage ../development/tools/haskell/BNFC {};
 
-  cake3 = callPackage ../development/tools/haskell/cake3 {};
+  cake3 = callPackage ../development/tools/haskell/cake3 {
+    optparseApplicative = self.optparseApplicative_0_9_1_1;
+  };
 
   cpphs = callPackage ../development/tools/misc/cpphs {};
 
@@ -2928,7 +2964,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {};
   haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {};
   haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {};
-  haddock = self.haddock_2_14_3;
+  haddock_2_15_0 = callPackage ../development/tools/documentation/haddock/2.15.0.nix {};
+  haddock = self.haddock_2_15_0;
+
+  haddockApi = callPackage ../development/libraries/haskell/haddock-api {};
 
   haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {};
 
@@ -2994,13 +3033,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   idris_plain = callPackage ../development/compilers/idris {
     llvmGeneral = self.llvmGeneral_3_3_8_2;
     llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
+    languageJava = self.languageJava_0_2_6;
   };
 
   idris = callPackage ../development/compilers/idris/wrapper.nix {};
 
   nc-indicators = callPackage ../applications/misc/nc-indicators {};
 
-  sloane = callPackage ../applications/science/math/sloane {};
+  sloane = callPackage ../applications/science/math/sloane {
+    optparseApplicative = self.optparseApplicative_0_9_1_1;
+  };
 
   taffybar = callPackage ../applications/misc/taffybar {};
 
@@ -3012,7 +3054,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   xlsx = callPackage ../development/libraries/haskell/xlsx {};
 
-  xmobar = callPackage ../applications/misc/xmobar {};
+  xmobar = callPackage ../applications/misc/xmobar {
+    libmpd = self.libmpd_0_8_0_5;
+  };
 
   xmonad = callPackage ../applications/window-managers/xmonad {};
 
@@ -3027,12 +3071,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
 
   # Build a cabal package given a local .cabal file
-  buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
-    cabalExpr = pkgs.stdenv.mkDerivation ({
+  buildLocalCabalWithArgs = { src
+                            , name
+                            , args ? {}
+                            , cabalDrvArgs ? { jailbreak = true; }
+                            # for import-from-derivation, want to use current system
+                            , nativePkgs ? import pkgs.path {}
+                            }: let
+    cabalExpr = nativePkgs.stdenv.mkDerivation ({
       name = "${name}.nix";
 
       buildCommand = ''
-      ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
+      export HOME="$TMPDIR"
+      ${nativePkgs.haskellPackages.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
           | grep -v FILTERME | sed \
             -e 's/licenses.proprietary/licenses.unfree/' \
             -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
@@ -3041,9 +3092,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
             -e 's/pname = \([^\n]*\)/pname = \1\n  inherit src;\n/'  > $out
       '';
 
-    } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+    } // pkgs.lib.optionalAttrs nativePkgs.stdenv.isLinux {
       LANG = "en_US.UTF-8";
-      LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+      LOCALE_ARCHIVE = "${nativePkgs.glibcLocales}/lib/locale/locale-archive";
     });
   in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
 
@@ -3064,6 +3115,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {};
 
+  cabalg = callPackage ../development/libraries/haskell/cabalg {};
+
   cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix {};
   cabalInstall_0_8_0  = callPackage ../tools/package-management/cabal-install/0.8.0.nix {};
   cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix {};
@@ -3078,7 +3131,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   commandQq = callPackage ../development/libraries/haskell/command-qq {};
 
-  gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {};
+  escoger = callPackage ../tools/misc/escoger { };
+
+  gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {
+    cabal = self.cabal.override { extension = self : super : { enableSharedExecutables = false; }; };
+  };
 
   githubBackup = callPackage ../applications/version-management/git-and-tools/github-backup {};
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
new file mode 100644
index 0000000000000..2b8c699286b7a
--- /dev/null
+++ b/pkgs/top-level/lua-packages.nix
@@ -0,0 +1,53 @@
+/* This file defines the composition for Lua packages.  It has
+   been factored out of all-packages.nix because there are many of
+   them.  Also, because most Nix expressions for Lua packages are
+   trivial, most are actually defined here.  I.e. there's no function
+   for each package in a separate file: the call to the function would
+   be almost as must code as the function itself. */
+
+{ fetchurl, stdenv, lua, callPackage }:
+
+let
+ isLua51 = lua.luaversion == "5.1";
+ isLua52 = lua.luaversion == "5.2";
+ self = _self;
+ _self = with self; {
+  inherit (stdenv.lib) maintainers;
+
+  #define build lua package function
+  buildLuaPackage = callPackage ../development/lua-modules/generic lua;
+
+  filesystem = buildLuaPackage {
+    name = "filesystem-1.6.2";
+    src = fetchurl {
+      url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
+      sha256 = "1n8qdwa20ypbrny99vhkmx8q04zd2jjycdb5196xdhgvqzk10abz";
+    };  
+    meta = {
+      homepage = "https://github.com/keplerproject/luafilesystem";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = with maintainers; [ flosse ];
+    };
+  };
+
+  sockets = buildLuaPackage rec {
+    name = "sockets-${version}";
+    version = "2.0.2";
+    src = fetchurl {
+        url = "http://files.luaforge.net/releases/luasocket/luasocket/luasocket-${version}/luasocket-${version}.tar.gz";
+        sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
+    };
+    disabled = isLua52;
+    patchPhase = ''
+        sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua.luaversion}," \
+            -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua.luaversion}," \
+            -i config
+    '';
+    meta = {
+      homepage = "http://w3.impa.br/~diego/software/luasocket/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = with maintainers; [ mornfall ];
+    };
+  };
+
+}; in self
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index fb12a10e5df37..c1b0eafcb7d1e 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -4,7 +4,8 @@
   by-spec."Base64"."~0.2.0" =
     self.by-version."Base64"."0.2.1";
   by-version."Base64"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-Base64-0.2.1";
+    name = "Base64-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
@@ -14,8 +15,8 @@
     ];
     buildInputs =
       (self.nativeDeps."Base64" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "Base64" ];
@@ -23,7 +24,8 @@
   by-spec."JSONStream"."~0.7.1" =
     self.by-version."JSONStream"."0.7.4";
   by-version."JSONStream"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-JSONStream-0.7.4";
+    name = "JSONStream-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz";
@@ -33,10 +35,10 @@
     ];
     buildInputs =
       (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "JSONStream" ];
@@ -45,6 +47,7 @@
     self.by-version."JSONStream"."0.8.4";
   by-version."JSONStream"."0.8.4" = lib.makeOverridable self.buildNodePackage {
     name = "JSONStream-0.8.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
@@ -54,10 +57,10 @@
     ];
     buildInputs =
       (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "JSONStream" ];
@@ -67,7 +70,8 @@
   by-spec."StringScanner"."~0.0.3" =
     self.by-version."StringScanner"."0.0.3";
   by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-StringScanner-0.0.3";
+    name = "StringScanner-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz";
@@ -77,8 +81,8 @@
     ];
     buildInputs =
       (self.nativeDeps."StringScanner" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "StringScanner" ];
@@ -86,7 +90,8 @@
   by-spec."abbrev"."1" =
     self.by-version."abbrev"."1.0.5";
   by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-abbrev-1.0.5";
+    name = "abbrev-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
@@ -96,8 +101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."abbrev" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "abbrev" ];
@@ -109,7 +114,8 @@
   by-spec."accepts"."1.0.0" =
     self.by-version."accepts"."1.0.0";
   by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.0";
+    name = "accepts-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz";
@@ -119,18 +125,19 @@
     ];
     buildInputs =
       (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."negotiator"."0.3.0"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "accepts" ];
   };
-  by-spec."accepts"."~1.0.0" =
+  by-spec."accepts"."~1.0.7" =
     self.by-version."accepts"."1.0.7";
   by-version."accepts"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.7";
+    name = "accepts-1.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
@@ -140,24 +147,41 @@
     ];
     buildInputs =
       (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."negotiator"."0.4.7"
+    deps = {
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "accepts" ];
+  };
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.0";
+  by-version."accepts"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "accepts-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz";
+        name = "accepts-1.1.0.tgz";
+        sha1 = "43ba6d946374c80f91823eaec6bb43dc4955500b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."accepts" or []);
+    deps = {
+      "mime-types-2.0.1" = self.by-version."mime-types"."2.0.1";
+      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "accepts" ];
   };
-  by-spec."accepts"."~1.0.4" =
-    self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.0.5" =
-    self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.0.7" =
-    self.by-version."accepts"."1.0.7";
   by-spec."active-x-obfuscator"."0.0.1" =
     self.by-version."active-x-obfuscator"."0.0.1";
   by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-active-x-obfuscator-0.0.1";
+    name = "active-x-obfuscator-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
@@ -167,9 +191,9 @@
     ];
     buildInputs =
       (self.nativeDeps."active-x-obfuscator" or []);
-    deps = [
-      self.by-version."zeparser"."0.0.5"
-    ];
+    deps = {
+      "zeparser-0.0.5" = self.by-version."zeparser"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "active-x-obfuscator" ];
@@ -177,7 +201,8 @@
   by-spec."addressparser"."~0.2.1" =
     self.by-version."addressparser"."0.2.1";
   by-version."addressparser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-addressparser-0.2.1";
+    name = "addressparser-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
@@ -187,8 +212,8 @@
     ];
     buildInputs =
       (self.nativeDeps."addressparser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "addressparser" ];
@@ -196,7 +221,8 @@
   by-spec."adm-zip"."0.2.1" =
     self.by-version."adm-zip"."0.2.1";
   by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-adm-zip-0.2.1";
+    name = "adm-zip-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
@@ -206,8 +232,8 @@
     ];
     buildInputs =
       (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
@@ -215,7 +241,8 @@
   by-spec."adm-zip"."~0.4.3" =
     self.by-version."adm-zip"."0.4.4";
   by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-adm-zip-0.4.4";
+    name = "adm-zip-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
@@ -225,36 +252,38 @@
     ];
     buildInputs =
       (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
   by-spec."almond"."*" =
-    self.by-version."almond"."0.2.9";
-  by-version."almond"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-almond-0.2.9";
+    self.by-version."almond"."0.3.0";
+  by-version."almond"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "almond-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/almond/-/almond-0.2.9.tgz";
-        name = "almond-0.2.9.tgz";
-        sha1 = "ee4543d653a2306d682091c11050d441034f5ed8";
+        url = "http://registry.npmjs.org/almond/-/almond-0.3.0.tgz";
+        name = "almond-0.3.0.tgz";
+        sha1 = "701510c31038354f85ea31410b89ff3392058014";
       })
     ];
     buildInputs =
       (self.nativeDeps."almond" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "almond" ];
   };
-  "almond" = self.by-version."almond"."0.2.9";
+  "almond" = self.by-version."almond"."0.3.0";
   by-spec."amdefine"."*" =
     self.by-version."amdefine"."0.1.0";
   by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-amdefine-0.1.0";
+    name = "amdefine-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
@@ -264,8 +293,8 @@
     ];
     buildInputs =
       (self.nativeDeps."amdefine" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
@@ -276,7 +305,8 @@
   by-spec."ansi"."~0.3.0" =
     self.by-version."ansi"."0.3.0";
   by-version."ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-0.3.0";
+    name = "ansi-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz";
@@ -286,35 +316,17 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  by-spec."ansi-regex"."^0.1.0" =
-    self.by-version."ansi-regex"."0.1.0";
-  by-version."ansi-regex"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz";
-        name = "ansi-regex-0.1.0.tgz";
-        sha1 = "55ca60db6900857c423ae9297980026f941ed903";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-regex" ];
-  };
   by-spec."ansi-regex"."^0.2.0" =
     self.by-version."ansi-regex"."0.2.1";
   by-version."ansi-regex"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.2.1";
+    name = "ansi-regex-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
@@ -324,8 +336,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-regex" ];
@@ -335,7 +347,8 @@
   by-spec."ansi-remover"."*" =
     self.by-version."ansi-remover"."0.0.2";
   by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-remover-0.0.2";
+    name = "ansi-remover-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
@@ -345,8 +358,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-remover" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
@@ -355,7 +368,8 @@
   by-spec."ansi-styles"."^1.1.0" =
     self.by-version."ansi-styles"."1.1.0";
   by-version."ansi-styles"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.1.0";
+    name = "ansi-styles-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
@@ -365,8 +379,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
@@ -374,7 +388,8 @@
   by-spec."ansi-styles"."~1.0.0" =
     self.by-version."ansi-styles"."1.0.0";
   by-version."ansi-styles"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.0.0";
+    name = "ansi-styles-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
@@ -384,8 +399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
@@ -393,7 +408,8 @@
   by-spec."ansicolors"."~0.3.2" =
     self.by-version."ansicolors"."0.3.2";
   by-version."ansicolors"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansicolors-0.3.2";
+    name = "ansicolors-0.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
@@ -403,8 +419,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansicolors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
@@ -412,7 +428,8 @@
   by-spec."ansistyles"."~0.1.3" =
     self.by-version."ansistyles"."0.1.3";
   by-version."ansistyles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansistyles-0.1.3";
+    name = "ansistyles-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
@@ -422,8 +439,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ansistyles" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ansistyles" ];
@@ -431,7 +448,8 @@
   by-spec."apparatus".">= 0.0.6" =
     self.by-version."apparatus"."0.0.8";
   by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-apparatus-0.0.8";
+    name = "apparatus-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
@@ -441,35 +459,37 @@
     ];
     buildInputs =
       (self.nativeDeps."apparatus" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-    ];
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "apparatus" ];
   };
-  by-spec."archiver"."~0.10.0" =
-    self.by-version."archiver"."0.10.1";
-  by-version."archiver"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archiver-0.10.1";
+  by-spec."archiver"."~0.11.0" =
+    self.by-version."archiver"."0.11.0";
+  by-version."archiver"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "archiver-0.11.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/archiver/-/archiver-0.10.1.tgz";
-        name = "archiver-0.10.1.tgz";
-        sha1 = "c88a50fe114f744d059a07dfc4690f3a204146e4";
+        url = "http://registry.npmjs.org/archiver/-/archiver-0.11.0.tgz";
+        name = "archiver-0.11.0.tgz";
+        sha1 = "98177da7a6c0192b7f2798f30cd6eab8abd76690";
       })
     ];
     buildInputs =
       (self.nativeDeps."archiver" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."tar-stream"."0.4.5"
-      self.by-version."zip-stream"."0.3.7"
-      self.by-version."lazystream"."0.1.0"
-      self.by-version."file-utils"."0.2.0"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lazystream-0.1.0" = self.by-version."lazystream"."0.1.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "tar-stream-0.4.5" = self.by-version."tar-stream"."0.4.5";
+      "zip-stream-0.4.1" = self.by-version."zip-stream"."0.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "archiver" ];
@@ -477,7 +497,8 @@
   by-spec."archy"."0" =
     self.by-version."archy"."0.0.2";
   by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archy-0.0.2";
+    name = "archy-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
@@ -487,16 +508,19 @@
     ];
     buildInputs =
       (self.nativeDeps."archy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
+  by-spec."archy"."^0.0.2" =
+    self.by-version."archy"."0.0.2";
   by-spec."argparse"."0.1.15" =
     self.by-version."argparse"."0.1.15";
   by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-argparse-0.1.15";
+    name = "argparse-0.1.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
@@ -506,10 +530,10 @@
     ];
     buildInputs =
       (self.nativeDeps."argparse" or []);
-    deps = [
-      self.by-version."underscore"."1.4.4"
-      self.by-version."underscore.string"."2.3.3"
-    ];
+    deps = {
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
@@ -519,7 +543,8 @@
   by-spec."asap"."^1.0.0" =
     self.by-version."asap"."1.0.0";
   by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asap-1.0.0";
+    name = "asap-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
@@ -529,8 +554,8 @@
     ];
     buildInputs =
       (self.nativeDeps."asap" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "asap" ];
@@ -538,7 +563,8 @@
   by-spec."ascii-json"."~0.2" =
     self.by-version."ascii-json"."0.2.0";
   by-version."ascii-json"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ascii-json-0.2.0";
+    name = "ascii-json-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
@@ -548,8 +574,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ascii-json" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ascii-json" ];
@@ -557,7 +583,8 @@
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asn1-0.1.11";
+    name = "asn1-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
@@ -567,39 +594,41 @@
     ];
     buildInputs =
       (self.nativeDeps."asn1" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "asn1" ];
   };
   by-spec."assert"."*" =
-    self.by-version."assert"."1.1.1";
-  by-version."assert"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-1.1.1";
+    self.by-version."assert"."1.1.2";
+  by-version."assert"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "assert-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/assert/-/assert-1.1.1.tgz";
-        name = "assert-1.1.1.tgz";
-        sha1 = "766549ef4a6014b1e19c7c53f9816eabda440760";
+        url = "http://registry.npmjs.org/assert/-/assert-1.1.2.tgz";
+        name = "assert-1.1.2.tgz";
+        sha1 = "adaa04c46bb58c6dd1f294da3eb26e6228eb6e44";
       })
     ];
     buildInputs =
       (self.nativeDeps."assert" or []);
-    deps = [
-      self.by-version."util"."0.10.2"
-    ];
+    deps = {
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert" ];
   };
-  "assert" = self.by-version."assert"."1.1.1";
+  "assert" = self.by-version."assert"."1.1.2";
   by-spec."assert"."~1.1.0" =
-    self.by-version."assert"."1.1.1";
+    self.by-version."assert"."1.1.2";
   by-spec."assert-plus"."0.1.2" =
     self.by-version."assert-plus"."0.1.2";
   by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-plus-0.1.2";
+    name = "assert-plus-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
@@ -609,8 +638,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
@@ -618,7 +647,8 @@
   by-spec."assert-plus"."0.1.3" =
     self.by-version."assert-plus"."0.1.3";
   by-version."assert-plus"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-plus-0.1.3";
+    name = "assert-plus-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.3.tgz";
@@ -628,8 +658,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
@@ -637,7 +667,8 @@
   by-spec."assertion-error"."1.0.0" =
     self.by-version."assertion-error"."1.0.0";
   by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assertion-error-1.0.0";
+    name = "assertion-error-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
@@ -647,8 +678,8 @@
     ];
     buildInputs =
       (self.nativeDeps."assertion-error" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "assertion-error" ];
@@ -656,7 +687,8 @@
   by-spec."astw"."~1.1.0" =
     self.by-version."astw"."1.1.0";
   by-version."astw"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-astw-1.1.0";
+    name = "astw-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz";
@@ -666,9 +698,9 @@
     ];
     buildInputs =
       (self.nativeDeps."astw" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "astw" ];
@@ -676,7 +708,8 @@
   by-spec."async"."*" =
     self.by-version."async"."0.9.0";
   by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.9.0";
+    name = "async-0.9.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
@@ -686,36 +719,18 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
   "async" = self.by-version."async"."0.9.0";
-  by-spec."async"."0.1.15" =
-    self.by-version."async"."0.1.15";
-  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz";
-        name = "async-0.1.15.tgz";
-        sha1 = "2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
   by-spec."async"."0.1.22" =
     self.by-version."async"."0.1.22";
   by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.22";
+    name = "async-0.1.22";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
@@ -725,8 +740,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -736,7 +751,8 @@
   by-spec."async"."0.2.9" =
     self.by-version."async"."0.2.9";
   by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.9";
+    name = "async-0.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
@@ -746,8 +762,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -755,7 +771,8 @@
   by-spec."async"."0.2.x" =
     self.by-version."async"."0.2.10";
   by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.10";
+    name = "async-0.2.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
@@ -765,8 +782,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -777,6 +794,8 @@
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.1.22" =
     self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.0" =
+    self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.6" =
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.7" =
@@ -786,7 +805,8 @@
   by-spec."async"."~0.7.0" =
     self.by-version."async"."0.7.0";
   by-version."async"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.7.0";
+    name = "async-0.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz";
@@ -796,8 +816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
@@ -805,7 +825,8 @@
   by-spec."async"."~0.8" =
     self.by-version."async"."0.8.0";
   by-version."async"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.8.0";
+    name = "async-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async/-/async-0.8.0.tgz";
@@ -815,18 +836,19 @@
     ];
     buildInputs =
       (self.nativeDeps."async" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
   by-spec."async"."~0.9.0" =
     self.by-version."async"."0.9.0";
-  by-spec."async-some"."~1.0.0" =
+  by-spec."async-some"."~1.0.1" =
     self.by-version."async-some"."1.0.1";
   by-version."async-some"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-some-1.0.1";
+    name = "async-some-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz";
@@ -836,40 +858,42 @@
     ];
     buildInputs =
       (self.nativeDeps."async-some" or []);
-    deps = [
-      self.by-version."dezalgo"."1.0.0"
-    ];
+    deps = {
+      "dezalgo-1.0.0" = self.by-version."dezalgo"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "async-some" ];
   };
   by-spec."aws-sdk"."*" =
-    self.by-version."aws-sdk"."2.0.14";
-  by-version."aws-sdk"."2.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-2.0.14";
+    self.by-version."aws-sdk"."2.0.15";
+  by-version."aws-sdk"."2.0.15" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.15";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.14.tgz";
-        name = "aws-sdk-2.0.14.tgz";
-        sha1 = "ee6668b97d62924b3d27d577658411c06ad7f2ad";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.15.tgz";
+        name = "aws-sdk-2.0.15.tgz";
+        sha1 = "2448f90ed553ab9eba130e4e256b6797386293b2";
       })
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."aws-sdk-apis"."3.1.6"
-      self.by-version."xml2js"."0.2.6"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "aws-sdk-apis-3.1.7" = self.by-version."aws-sdk-apis"."3.1.7";
+      "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.by-version."aws-sdk"."2.0.14";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.15";
   by-spec."aws-sdk".">=1.2.0 <2" =
     self.by-version."aws-sdk"."1.18.0";
   by-version."aws-sdk"."1.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-1.18.0";
+    name = "aws-sdk-1.18.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
@@ -879,29 +903,30 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."xml2js"."0.2.4"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "xml2js-0.2.4" = self.by-version."xml2js"."0.2.4";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
   by-spec."aws-sdk-apis".">=3.1.0 <4.0.0" =
-    self.by-version."aws-sdk-apis"."3.1.6";
-  by-version."aws-sdk-apis"."3.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-apis-3.1.6";
+    self.by-version."aws-sdk-apis"."3.1.7";
+  by-version."aws-sdk-apis"."3.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-apis-3.1.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.6.tgz";
-        name = "aws-sdk-apis-3.1.6.tgz";
-        sha1 = "1831a16ef8d5dd7d7278c749aff3d33ee7b1dacb";
+        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.7.tgz";
+        name = "aws-sdk-apis-3.1.7.tgz";
+        sha1 = "646f59b8cf3e2b65b77aa3de2e66f3d1031aac61";
       })
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk-apis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk-apis" ];
@@ -909,7 +934,8 @@
   by-spec."aws-sign"."~0.2.0" =
     self.by-version."aws-sign"."0.2.0";
   by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign-0.2.0";
+    name = "aws-sign-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
@@ -919,8 +945,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
@@ -928,7 +954,8 @@
   by-spec."aws-sign"."~0.3.0" =
     self.by-version."aws-sign"."0.3.0";
   by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign-0.3.0";
+    name = "aws-sign-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
@@ -938,8 +965,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
@@ -947,7 +974,8 @@
   by-spec."aws-sign2"."~0.5.0" =
     self.by-version."aws-sign2"."0.5.0";
   by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign2-0.5.0";
+    name = "aws-sign2-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
@@ -957,8 +985,8 @@
     ];
     buildInputs =
       (self.nativeDeps."aws-sign2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign2" ];
@@ -966,7 +994,8 @@
   by-spec."backbone"."*" =
     self.by-version."backbone"."1.1.2";
   by-version."backbone"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backbone-1.1.2";
+    name = "backbone-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz";
@@ -976,9 +1005,9 @@
     ];
     buildInputs =
       (self.nativeDeps."backbone" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
@@ -987,7 +1016,8 @@
   by-spec."backoff"."2.1.0" =
     self.by-version."backoff"."2.1.0";
   by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backoff-2.1.0";
+    name = "backoff-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
@@ -997,8 +1027,8 @@
     ];
     buildInputs =
       (self.nativeDeps."backoff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
@@ -1006,7 +1036,8 @@
   by-spec."base62"."0.1.1" =
     self.by-version."base62"."0.1.1";
   by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base62-0.1.1";
+    name = "base62-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz";
@@ -1016,8 +1047,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base62" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base62" ];
@@ -1025,7 +1056,8 @@
   by-spec."base64-js"."~0.0.4" =
     self.by-version."base64-js"."0.0.7";
   by-version."base64-js"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-js-0.0.7";
+    name = "base64-js-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz";
@@ -1035,8 +1067,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base64-js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64-js" ];
@@ -1044,7 +1076,8 @@
   by-spec."base64-url"."1" =
     self.by-version."base64-url"."1.0.0";
   by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-url-1.0.0";
+    name = "base64-url-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
@@ -1054,16 +1087,19 @@
     ];
     buildInputs =
       (self.nativeDeps."base64-url" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64-url" ];
   };
+  by-spec."base64-url"."1.0.0" =
+    self.by-version."base64-url"."1.0.0";
   by-spec."base64id"."0.1.0" =
     self.by-version."base64id"."0.1.0";
   by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64id-0.1.0";
+    name = "base64id-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
@@ -1073,8 +1109,8 @@
     ];
     buildInputs =
       (self.nativeDeps."base64id" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
@@ -1082,7 +1118,8 @@
   by-spec."basic-auth"."1.0.0" =
     self.by-version."basic-auth"."1.0.0";
   by-version."basic-auth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-1.0.0";
+    name = "basic-auth-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
@@ -1092,8 +1129,8 @@
     ];
     buildInputs =
       (self.nativeDeps."basic-auth" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "basic-auth" ];
@@ -1101,7 +1138,8 @@
   by-spec."basic-auth-connect"."1.0.0" =
     self.by-version."basic-auth-connect"."1.0.0";
   by-version."basic-auth-connect"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-connect-1.0.0";
+    name = "basic-auth-connect-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
@@ -1111,8 +1149,8 @@
     ];
     buildInputs =
       (self.nativeDeps."basic-auth-connect" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "basic-auth-connect" ];
@@ -1120,7 +1158,8 @@
   by-spec."batch"."0.5.0" =
     self.by-version."batch"."0.5.0";
   by-version."batch"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.0";
+    name = "batch-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
@@ -1130,8 +1169,8 @@
     ];
     buildInputs =
       (self.nativeDeps."batch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "batch" ];
@@ -1139,7 +1178,8 @@
   by-spec."batch"."0.5.1" =
     self.by-version."batch"."0.5.1";
   by-version."batch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.1";
+    name = "batch-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/batch/-/batch-0.5.1.tgz";
@@ -1149,8 +1189,8 @@
     ];
     buildInputs =
       (self.nativeDeps."batch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "batch" ];
@@ -1158,7 +1198,8 @@
   by-spec."bcrypt"."*" =
     self.by-version."bcrypt"."0.8.0";
   by-version."bcrypt"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bcrypt-0.8.0";
+    name = "bcrypt-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.0.tgz";
@@ -1168,10 +1209,10 @@
     ];
     buildInputs =
       (self.nativeDeps."bcrypt" or []);
-    deps = [
-      self.by-version."bindings"."1.0.0"
-      self.by-version."nan"."1.3.0"
-    ];
+    deps = {
+      "bindings-1.0.0" = self.by-version."bindings"."1.0.0";
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
@@ -1180,7 +1221,8 @@
   by-spec."bindings"."*" =
     self.by-version."bindings"."1.2.1";
   by-version."bindings"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.2.1";
+    name = "bindings-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
@@ -1190,8 +1232,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1199,7 +1241,8 @@
   by-spec."bindings"."1.0.0" =
     self.by-version."bindings"."1.0.0";
   by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.0.0";
+    name = "bindings-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
@@ -1209,8 +1252,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1218,7 +1261,8 @@
   by-spec."bindings"."1.1.1" =
     self.by-version."bindings"."1.1.1";
   by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.1.1";
+    name = "bindings-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
@@ -1228,8 +1272,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
@@ -1239,29 +1283,33 @@
   by-spec."bindings"."~1.2.1" =
     self.by-version."bindings"."1.2.1";
   by-spec."bl"."^0.9.0" =
-    self.by-version."bl"."0.9.1";
-  by-version."bl"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bl-0.9.1";
+    self.by-version."bl"."0.9.3";
+  by-version."bl"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bl-0.9.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bl/-/bl-0.9.1.tgz";
-        name = "bl-0.9.1.tgz";
-        sha1 = "d262c5b83aa5cf4386cea1d998c82b36d7ae2942";
+        url = "http://registry.npmjs.org/bl/-/bl-0.9.3.tgz";
+        name = "bl-0.9.3.tgz";
+        sha1 = "c41eff3e7cb31bde107c8f10076d274eff7f7d44";
       })
     ];
     buildInputs =
       (self.nativeDeps."bl" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bl" ];
   };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.3";
   by-spec."block-stream"."*" =
     self.by-version."block-stream"."0.0.7";
   by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-block-stream-0.0.7";
+    name = "block-stream-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
@@ -1271,9 +1319,9 @@
     ];
     buildInputs =
       (self.nativeDeps."block-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
@@ -1281,20 +1329,21 @@
   by-spec."block-stream"."0.0.7" =
     self.by-version."block-stream"."0.0.7";
   by-spec."bluebird".">= 1.2.1" =
-    self.by-version."bluebird"."2.3.0";
-  by-version."bluebird"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bluebird-2.3.0";
+    self.by-version."bluebird"."2.3.2";
+  by-version."bluebird"."2.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bluebird-2.3.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.0.tgz";
-        name = "bluebird-2.3.0.tgz";
-        sha1 = "0d9260735ca30c8a28b3427a291fe2b9287da0f8";
+        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.2.tgz";
+        name = "bluebird-2.3.2.tgz";
+        sha1 = "7475ac7ca0c1674077ac3dd4092ddb80233cf26b";
       })
     ];
     buildInputs =
       (self.nativeDeps."bluebird" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bluebird" ];
@@ -1302,7 +1351,8 @@
   by-spec."blueimp-md5"."~1.1.0" =
     self.by-version."blueimp-md5"."1.1.0";
   by-version."blueimp-md5"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-blueimp-md5-1.1.0";
+    name = "blueimp-md5-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
@@ -1312,61 +1362,64 @@
     ];
     buildInputs =
       (self.nativeDeps."blueimp-md5" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "blueimp-md5" ];
   };
-  by-spec."body-parser"."~1.4.3" =
-    self.by-version."body-parser"."1.4.3";
-  by-version."body-parser"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.4.3";
+  by-spec."body-parser"."~1.6.5" =
+    self.by-version."body-parser"."1.6.7";
+  by-version."body-parser"."1.6.7" = lib.makeOverridable self.buildNodePackage {
+    name = "body-parser-1.6.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.4.3.tgz";
-        name = "body-parser-1.4.3.tgz";
-        sha1 = "4727952cff4af0773eefa4b226c2f4122f5e234d";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+        name = "body-parser-1.6.7.tgz";
+        sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
       })
     ];
     buildInputs =
       (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.3.0"
-      self.by-version."iconv-lite"."0.4.3"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."raw-body"."1.2.2"
-      self.by-version."type-is"."1.3.1"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "qs-2.2.2" = self.by-version."qs"."2.2.2";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "body-parser" ];
   };
-  by-spec."body-parser"."~1.6.5" =
-    self.by-version."body-parser"."1.6.5";
-  by-version."body-parser"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.6.5";
+  by-spec."body-parser"."~1.8.1" =
+    self.by-version."body-parser"."1.8.1";
+  by-version."body-parser"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "body-parser-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.6.5.tgz";
-        name = "body-parser-1.6.5.tgz";
-        sha1 = "536f01e08ee2b6df6a941d6c8c9647ee99ee4de7";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.1.tgz";
+        name = "body-parser-1.8.1.tgz";
+        sha1 = "f9f96d221c435c95d18aeaad2bcdea1371902aad";
       })
     ];
     buildInputs =
       (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."iconv-lite"."0.4.4"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."raw-body"."1.3.0"
-      self.by-version."type-is"."1.3.2"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "body-parser" ];
@@ -1374,7 +1427,8 @@
   by-spec."boom"."0.3.x" =
     self.by-version."boom"."0.3.8";
   by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.3.8";
+    name = "boom-0.3.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
@@ -1384,9 +1438,9 @@
     ];
     buildInputs =
       (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
@@ -1394,7 +1448,8 @@
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.4.2";
+    name = "boom-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
@@ -1404,9 +1459,9 @@
     ];
     buildInputs =
       (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
@@ -1414,7 +1469,8 @@
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-broadway-0.2.9";
+    name = "broadway-0.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz";
@@ -1424,23 +1480,47 @@
     ];
     buildInputs =
       (self.nativeDeps."broadway" or []);
-    deps = [
-      self.by-version."cliff"."0.1.8"
-      self.by-version."eventemitter2"."0.4.12"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."winston"."0.7.2"
-      self.by-version."utile"."0.2.1"
-    ];
+    deps = {
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "eventemitter2-0.4.12" = self.by-version."eventemitter2"."0.4.12";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.7.2" = self.by-version."winston"."0.7.2";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
   by-spec."broadway"."0.2.x" =
-    self.by-version."broadway"."0.2.9";
+    self.by-version."broadway"."0.2.10";
+  by-version."broadway"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "broadway-0.2.10";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.10.tgz";
+        name = "broadway-0.2.10.tgz";
+        sha1 = "0f58532be140426e9000e49a93e242a0d1263238";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."broadway" or []);
+    deps = {
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.7.2" = self.by-version."winston"."0.7.2";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "broadway" ];
+  };
   by-spec."browser-pack"."^3.0.0" =
     self.by-version."browser-pack"."3.1.1";
   by-version."browser-pack"."3.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "browser-pack-3.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.1.1.tgz";
@@ -1450,13 +1530,13 @@
     ];
     buildInputs =
       (self.nativeDeps."browser-pack" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."combine-source-map"."0.3.0"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."through2"."0.5.1"
-      self.by-version."umd"."2.1.0"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browser-pack" ];
@@ -1464,7 +1544,8 @@
   by-spec."browser-resolve"."^1.3.0" =
     self.by-version."browser-resolve"."1.3.2";
   by-version."browser-resolve"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browser-resolve-1.3.2";
+    name = "browser-resolve-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.3.2.tgz";
@@ -1474,9 +1555,9 @@
     ];
     buildInputs =
       (self.nativeDeps."browser-resolve" or []);
-    deps = [
-      self.by-version."resolve"."0.7.4"
-    ];
+    deps = {
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browser-resolve" ];
@@ -1486,7 +1567,8 @@
   by-spec."browserchannel"."*" =
     self.by-version."browserchannel"."2.0.0";
   by-version."browserchannel"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserchannel-2.0.0";
+    name = "browserchannel-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browserchannel/-/browserchannel-2.0.0.tgz";
@@ -1496,91 +1578,93 @@
     ];
     buildInputs =
       (self.nativeDeps."browserchannel" or []);
-    deps = [
-      self.by-version."hat"."0.0.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."request"."2.40.0"
-      self.by-version."ascii-json"."0.2.0"
-    ];
+    deps = {
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "connect-2.26.0" = self.by-version."connect"."2.26.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "ascii-json-0.2.0" = self.by-version."ascii-json"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
   "browserchannel" = self.by-version."browserchannel"."2.0.0";
   by-spec."browserify"."*" =
-    self.by-version."browserify"."5.10.1";
-  by-version."browserify"."5.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "browserify-5.10.1";
+    self.by-version."browserify"."5.11.1";
+  by-version."browserify"."5.11.1" = lib.makeOverridable self.buildNodePackage {
+    name = "browserify-5.11.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browserify/-/browserify-5.10.1.tgz";
-        name = "browserify-5.10.1.tgz";
-        sha1 = "a79cc8b647d6bfe25f96434ff8ecaeb5c01f6bae";
+        url = "http://registry.npmjs.org/browserify/-/browserify-5.11.1.tgz";
+        name = "browserify-5.11.1.tgz";
+        sha1 = "138119e82ae8fe7e6d9d518ee1720971b5926fcc";
       })
     ];
     buildInputs =
       (self.nativeDeps."browserify" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."assert"."1.1.1"
-      self.by-version."browser-pack"."3.1.1"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."browserify-zlib"."0.1.4"
-      self.by-version."buffer"."2.5.0"
-      self.by-version."builtins"."0.0.5"
-      self.by-version."commondir"."0.0.1"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."constants-browserify"."0.0.1"
-      self.by-version."crypto-browserify"."3.0.1"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."defined"."0.0.0"
-      self.by-version."deps-sort"."1.3.5"
-      self.by-version."domain-browser"."1.1.2"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."events"."1.0.1"
-      self.by-version."glob"."4.0.5"
-      self.by-version."http-browserify"."1.5.0"
-      self.by-version."https-browserify"."0.0.0"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."insert-module-globals"."6.1.0"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."labeled-stream-splicer"."1.0.0"
-      self.by-version."module-deps"."3.5.5"
-      self.by-version."os-browserify"."0.1.2"
-      self.by-version."parents"."0.0.3"
-      self.by-version."path-browserify"."0.0.0"
-      self.by-version."process"."0.7.0"
-      self.by-version."punycode"."1.2.4"
-      self.by-version."querystring-es3"."0.2.1-0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."shell-quote"."0.0.1"
-      self.by-version."stream-browserify"."1.0.0"
-      self.by-version."stream-combiner"."0.0.4"
-      self.by-version."string_decoder"."0.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."syntax-error"."1.1.1"
-      self.by-version."through2"."1.1.1"
-      self.by-version."timers-browserify"."1.0.3"
-      self.by-version."tty-browserify"."0.0.0"
-      self.by-version."umd"."2.1.0"
-      self.by-version."url"."0.10.1"
-      self.by-version."util"."0.10.3"
-      self.by-version."vm-browserify"."0.0.4"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "assert-1.1.2" = self.by-version."assert"."1.1.2";
+      "browser-pack-3.1.1" = self.by-version."browser-pack"."3.1.1";
+      "browser-resolve-1.3.2" = self.by-version."browser-resolve"."1.3.2";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+      "buffer-2.5.0" = self.by-version."buffer"."2.5.0";
+      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "crypto-browserify-3.0.2" = self.by-version."crypto-browserify"."3.0.2";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "deps-sort-1.3.5" = self.by-version."deps-sort"."1.3.5";
+      "domain-browser-1.1.2" = self.by-version."domain-browser"."1.1.2";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "http-browserify-1.6.0" = self.by-version."http-browserify"."1.6.0";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "insert-module-globals-6.1.0" = self.by-version."insert-module-globals"."6.1.0";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "labeled-stream-splicer-1.0.0" = self.by-version."labeled-stream-splicer"."1.0.0";
+      "module-deps-3.5.5" = self.by-version."module-deps"."3.5.5";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "parents-0.0.3" = self.by-version."parents"."0.0.3";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "process-0.7.0" = self.by-version."process"."0.7.0";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "querystring-es3-0.2.1-0" = self.by-version."querystring-es3"."0.2.1-0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "shasum-1.0.0" = self.by-version."shasum"."1.0.0";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+      "string_decoder-0.0.1" = self.by-version."string_decoder"."0.0.1";
+      "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
+      "syntax-error-1.1.1" = self.by-version."syntax-error"."1.1.1";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "timers-browserify-1.1.0" = self.by-version."timers-browserify"."1.1.0";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+      "url-0.10.1" = self.by-version."url"."0.10.1";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserify" ];
   };
-  "browserify" = self.by-version."browserify"."5.10.1";
+  "browserify" = self.by-version."browserify"."5.11.1";
   by-spec."browserify-zlib"."^0.1.4" =
     self.by-version."browserify-zlib"."0.1.4";
   by-version."browserify-zlib"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserify-zlib-0.1.4";
+    name = "browserify-zlib-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
@@ -1590,9 +1674,9 @@
     ];
     buildInputs =
       (self.nativeDeps."browserify-zlib" or []);
-    deps = [
-      self.by-version."pako"."0.2.5"
-    ];
+    deps = {
+      "pako-0.2.5" = self.by-version."pako"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "browserify-zlib" ];
@@ -1602,7 +1686,8 @@
   by-spec."bson"."0.1.8" =
     self.by-version."bson"."0.1.8";
   by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.1.8";
+    name = "bson-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
@@ -1612,28 +1697,29 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  by-spec."bson"."0.2.11" =
-    self.by-version."bson"."0.2.11";
-  by-version."bson"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.11";
+  by-spec."bson"."0.2.12" =
+    self.by-version."bson"."0.2.12";
+  by-version."bson"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "bson-0.2.12";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.11.tgz";
-        name = "bson-0.2.11.tgz";
-        sha1 = "7a1b9df70b36a247ada83d795e566a049f78bbb8";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.12.tgz";
+        name = "bson-0.2.12.tgz";
+        sha1 = "78bedbef1fd1f629b1c3b8d2f2d1fd87b8d64dd2";
       })
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.2.0"
-    ];
+    deps = {
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1641,7 +1727,8 @@
   by-spec."bson"."0.2.2" =
     self.by-version."bson"."0.2.2";
   by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.2";
+    name = "bson-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
@@ -1651,8 +1738,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1660,7 +1747,8 @@
   by-spec."bson"."0.2.5" =
     self.by-version."bson"."0.2.5";
   by-version."bson"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.5";
+    name = "bson-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bson/-/bson-0.2.5.tgz";
@@ -1670,28 +1758,29 @@
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  by-spec."bson"."0.2.9" =
-    self.by-version."bson"."0.2.9";
-  by-version."bson"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.9";
+  by-spec."bson"."~0.2" =
+    self.by-version."bson"."0.2.15";
+  by-version."bson"."0.2.15" = lib.makeOverridable self.buildNodePackage {
+    name = "bson-0.2.15";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.9.tgz";
-        name = "bson-0.2.9.tgz";
-        sha1 = "ee3716a52c985ff3074b6ece3257c75ee12f3a05";
+        url = "http://registry.npmjs.org/bson/-/bson-0.2.15.tgz";
+        name = "bson-0.2.15.tgz";
+        sha1 = "556402c74bf33d8008122cc3091dc8b3b90e330c";
       })
     ];
     buildInputs =
       (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
+    deps = {
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
@@ -1699,7 +1788,8 @@
   by-spec."buffer"."^2.3.0" =
     self.by-version."buffer"."2.5.0";
   by-version."buffer"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.5.0";
+    name = "buffer-2.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer/-/buffer-2.5.0.tgz";
@@ -1709,10 +1799,10 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
+    deps = {
+      "base64-js-0.0.7" = self.by-version."base64-js"."0.0.7";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer" ];
@@ -1720,7 +1810,8 @@
   by-spec."buffer"."~2.3.2" =
     self.by-version."buffer"."2.3.4";
   by-version."buffer"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.3.4";
+    name = "buffer-2.3.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer/-/buffer-2.3.4.tgz";
@@ -1730,10 +1821,10 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
+    deps = {
+      "base64-js-0.0.7" = self.by-version."base64-js"."0.0.7";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer" ];
@@ -1741,7 +1832,8 @@
   by-spec."buffer-crc32"."0.1.1" =
     self.by-version."buffer-crc32"."0.1.1";
   by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.1.1";
+    name = "buffer-crc32-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
@@ -1751,8 +1843,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1760,7 +1852,8 @@
   by-spec."buffer-crc32"."0.2.1" =
     self.by-version."buffer-crc32"."0.2.1";
   by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.2.1";
+    name = "buffer-crc32-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
@@ -1770,8 +1863,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1779,7 +1872,8 @@
   by-spec."buffer-crc32"."0.2.3" =
     self.by-version."buffer-crc32"."0.2.3";
   by-version."buffer-crc32"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.2.3";
+    name = "buffer-crc32-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
@@ -1789,8 +1883,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
@@ -1800,7 +1894,8 @@
   by-spec."buffertools"."*" =
     self.by-version."buffertools"."2.1.2";
   by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-2.1.2";
+    name = "buffertools-2.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz";
@@ -1810,8 +1905,8 @@
     ];
     buildInputs =
       (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
@@ -1820,7 +1915,8 @@
   by-spec."buffertools".">=1.1.1 <2.0.0" =
     self.by-version."buffertools"."1.1.1";
   by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-1.1.1";
+    name = "buffertools-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
@@ -1830,27 +1926,28 @@
     ];
     buildInputs =
       (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
   by-spec."builtins"."~0.0.3" =
-    self.by-version."builtins"."0.0.5";
-  by-version."builtins"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-builtins-0.0.5";
+    self.by-version."builtins"."0.0.7";
+  by-version."builtins"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "builtins-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.5.tgz";
-        name = "builtins-0.0.5.tgz";
-        sha1 = "86dd881f9862856e62fd7ed7767b438c4d79b7ab";
+        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz";
+        name = "builtins-0.0.7.tgz";
+        sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
       })
     ];
     buildInputs =
       (self.nativeDeps."builtins" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "builtins" ];
@@ -1859,6 +1956,7 @@
     self.by-version."bunyan"."0.21.1";
   by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
     name = "bunyan-0.21.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
@@ -1868,10 +1966,10 @@
     ];
     buildInputs =
       (self.nativeDeps."bunyan" or []);
-    deps = [
-      self.by-version."mv"."0.0.5"
-      self.by-version."dtrace-provider"."0.2.8"
-    ];
+    deps = {
+      "mv-0.0.5" = self.by-version."mv"."0.0.5";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bunyan" ];
@@ -1879,7 +1977,8 @@
   by-spec."bytes"."0.1.0" =
     self.by-version."bytes"."0.1.0";
   by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.1.0";
+    name = "bytes-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
@@ -1889,8 +1988,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1898,7 +1997,8 @@
   by-spec."bytes"."0.2.0" =
     self.by-version."bytes"."0.2.0";
   by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.0";
+    name = "bytes-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
@@ -1908,8 +2008,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1917,7 +2017,8 @@
   by-spec."bytes"."0.2.1" =
     self.by-version."bytes"."0.2.1";
   by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.1";
+    name = "bytes-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
@@ -1927,8 +2028,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1936,7 +2037,8 @@
   by-spec."bytes"."1" =
     self.by-version."bytes"."1.0.0";
   by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-1.0.0";
+    name = "bytes-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
@@ -1946,8 +2048,8 @@
     ];
     buildInputs =
       (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
@@ -1959,7 +2061,8 @@
   by-spec."callsite"."~1.0.0" =
     self.by-version."callsite"."1.0.0";
   by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-callsite-1.0.0";
+    name = "callsite-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
@@ -1969,16 +2072,37 @@
     ];
     buildInputs =
       (self.nativeDeps."callsite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "callsite" ];
   };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "caseless-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+        name = "caseless-0.6.0.tgz";
+        sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."caseless" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "caseless" ];
+  };
   by-spec."chai"."*" =
     self.by-version."chai"."1.9.1";
   by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chai-1.9.1";
+    name = "chai-1.9.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz";
@@ -1988,10 +2112,10 @@
     ];
     buildInputs =
       (self.nativeDeps."chai" or []);
-    deps = [
-      self.by-version."assertion-error"."1.0.0"
-      self.by-version."deep-eql"."0.1.3"
-    ];
+    deps = {
+      "assertion-error-1.0.0" = self.by-version."assertion-error"."1.0.0";
+      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
@@ -2000,7 +2124,8 @@
   by-spec."chalk"."^0.4.0" =
     self.by-version."chalk"."0.4.0";
   by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.4.0";
+    name = "chalk-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
@@ -2010,11 +2135,11 @@
     ];
     buildInputs =
       (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."has-color"."0.1.7"
-      self.by-version."ansi-styles"."1.0.0"
-      self.by-version."strip-ansi"."0.1.1"
-    ];
+    deps = {
+      "has-color-0.1.7" = self.by-version."has-color"."0.1.7";
+      "ansi-styles-1.0.0" = self.by-version."ansi-styles"."1.0.0";
+      "strip-ansi-0.1.1" = self.by-version."strip-ansi"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
@@ -2022,7 +2147,8 @@
   by-spec."chalk"."^0.5.0" =
     self.by-version."chalk"."0.5.1";
   by-version."chalk"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.5.1";
+    name = "chalk-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
@@ -2032,13 +2158,13 @@
     ];
     buildInputs =
       (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."ansi-styles"."1.1.0"
-      self.by-version."escape-string-regexp"."1.0.1"
-      self.by-version."has-ansi"."0.1.0"
-      self.by-version."strip-ansi"."0.3.0"
-      self.by-version."supports-color"."0.2.0"
-    ];
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.1" = self.by-version."escape-string-regexp"."1.0.1";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
@@ -2050,7 +2176,8 @@
   by-spec."char-spinner"."~1.0.1" =
     self.by-version."char-spinner"."1.0.1";
   by-version."char-spinner"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-char-spinner-1.0.1";
+    name = "char-spinner-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
@@ -2060,8 +2187,8 @@
     ];
     buildInputs =
       (self.nativeDeps."char-spinner" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "char-spinner" ];
@@ -2069,7 +2196,8 @@
   by-spec."character-parser"."1.2.0" =
     self.by-version."character-parser"."1.2.0";
   by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-character-parser-1.2.0";
+    name = "character-parser-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
@@ -2079,8 +2207,8 @@
     ];
     buildInputs =
       (self.nativeDeps."character-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "character-parser" ];
@@ -2088,7 +2216,8 @@
   by-spec."child-process-close"."~0.1.1" =
     self.by-version."child-process-close"."0.1.1";
   by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-child-process-close-0.1.1";
+    name = "child-process-close-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
@@ -2098,8 +2227,8 @@
     ];
     buildInputs =
       (self.nativeDeps."child-process-close" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
@@ -2107,7 +2236,8 @@
   by-spec."chmodr"."~0.1.0" =
     self.by-version."chmodr"."0.1.0";
   by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chmodr-0.1.0";
+    name = "chmodr-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
@@ -2117,8 +2247,8 @@
     ];
     buildInputs =
       (self.nativeDeps."chmodr" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
@@ -2126,7 +2256,8 @@
   by-spec."chokidar".">=0.8.2" =
     self.by-version."chokidar"."0.8.4";
   by-version."chokidar"."0.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chokidar-0.8.4";
+    name = "chokidar-0.8.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz";
@@ -2136,10 +2267,10 @@
     ];
     buildInputs =
       (self.nativeDeps."chokidar" or []);
-    deps = [
-      self.by-version."fsevents"."0.2.1"
-      self.by-version."recursive-readdir"."0.0.2"
-    ];
+    deps = {
+      "fsevents-0.2.1" = self.by-version."fsevents"."0.2.1";
+      "recursive-readdir-0.0.2" = self.by-version."recursive-readdir"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
@@ -2147,7 +2278,8 @@
   by-spec."chownr"."0" =
     self.by-version."chownr"."0.0.1";
   by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chownr-0.0.1";
+    name = "chownr-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
@@ -2157,69 +2289,53 @@
     ];
     buildInputs =
       (self.nativeDeps."chownr" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  by-spec."clean-css"."2.1.x" =
-    self.by-version."clean-css"."2.1.8";
-  by-version."clean-css"."2.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.1.8";
+  by-spec."clean-css"."2.2.x" =
+    self.by-version."clean-css"."2.2.15";
+  by-version."clean-css"."2.2.15" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.2.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz";
-        name = "clean-css-2.1.8.tgz";
-        sha1 = "2b4b2fd60f32441096216ae25a21faa74580dc83";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.15.tgz";
+        name = "clean-css-2.2.15.tgz";
+        sha1 = "0de5c85219cce60f5cc9e11b3c8ae621a25ff613";
       })
     ];
     buildInputs =
       (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-    ];
+    deps = {
+      "commander-2.2.0" = self.by-version."commander"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
   by-spec."clean-css"."~2.2.0" =
-    self.by-version."clean-css"."2.2.13";
-  by-version."clean-css"."2.2.13" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.13.tgz";
-        name = "clean-css-2.2.13.tgz";
-        sha1 = "c63aba2723a410f79ed7b34ff163aaa627bc2362";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clean-css" ];
-  };
+    self.by-version."clean-css"."2.2.15";
   by-spec."cli"."0.6.x" =
-    self.by-version."cli"."0.6.3";
-  by-version."cli"."0.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cli-0.6.3";
+    self.by-version."cli"."0.6.4";
+  by-version."cli"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cli-0.6.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cli/-/cli-0.6.3.tgz";
-        name = "cli-0.6.3.tgz";
-        sha1 = "31418ed08d60a1b02cf180c6d6fee3204bfe65cd";
+        url = "http://registry.npmjs.org/cli/-/cli-0.6.4.tgz";
+        name = "cli-0.6.4.tgz";
+        sha1 = "105c4e9b29ecdbc1ee0c8e418276f62d8351f88e";
       })
     ];
     buildInputs =
       (self.nativeDeps."cli" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."exit"."0.1.2"
-    ];
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
@@ -2227,7 +2343,8 @@
   by-spec."cliff"."0.1.8" =
     self.by-version."cliff"."0.1.8";
   by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cliff-0.1.8";
+    name = "cliff-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
@@ -2237,11 +2354,11 @@
     ];
     buildInputs =
       (self.nativeDeps."cliff" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."winston"."0.6.2"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
@@ -2249,7 +2366,8 @@
   by-spec."clone"."0.1.5" =
     self.by-version."clone"."0.1.5";
   by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.5";
+    name = "clone-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
@@ -2259,8 +2377,8 @@
     ];
     buildInputs =
       (self.nativeDeps."clone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
@@ -2268,7 +2386,8 @@
   by-spec."clone"."0.1.6" =
     self.by-version."clone"."0.1.6";
   by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.6";
+    name = "clone-0.1.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
@@ -2278,16 +2397,37 @@
     ];
     buildInputs =
       (self.nativeDeps."clone" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "clone" ];
+  };
+  by-spec."clone"."~0.1.5" =
+    self.by-version."clone"."0.1.18";
+  by-version."clone"."0.1.18" = lib.makeOverridable self.buildNodePackage {
+    name = "clone-0.1.18";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clone/-/clone-0.1.18.tgz";
+        name = "clone-0.1.18.tgz";
+        sha1 = "64a0d5d57eaa85a1a8af380cd1db8c7b3a895f66";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clone" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  by-spec."clone-stats"."~0.0.1" =
+  by-spec."clone-stats"."^0.0.1" =
     self.by-version."clone-stats"."0.0.1";
   by-version."clone-stats"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-stats-0.0.1";
+    name = "clone-stats-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
@@ -2297,29 +2437,32 @@
     ];
     buildInputs =
       (self.nativeDeps."clone-stats" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "clone-stats" ];
   };
-  by-spec."cmd-shim"."~1.1.1" =
-    self.by-version."cmd-shim"."1.1.2";
-  by-version."cmd-shim"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmd-shim-1.1.2";
+  by-spec."clone-stats"."~0.0.1" =
+    self.by-version."clone-stats"."0.0.1";
+  by-spec."cmd-shim"."~2.0.0" =
+    self.by-version."cmd-shim"."2.0.1";
+  by-version."cmd-shim"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "cmd-shim-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.2.tgz";
-        name = "cmd-shim-1.1.2.tgz";
-        sha1 = "e4f9198802e361e8eb43b591959ef4dc6cdb6754";
+        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz";
+        name = "cmd-shim-2.0.1.tgz";
+        sha1 = "4512a373d2391679aec51ad1d4733559e9b85d4a";
       })
     ];
     buildInputs =
       (self.nativeDeps."cmd-shim" or []);
-    deps = [
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."graceful-fs"."2.0.3"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
@@ -2327,7 +2470,8 @@
   by-spec."cmdln"."1.3.2" =
     self.by-version."cmdln"."1.3.2";
   by-version."cmdln"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmdln-1.3.2";
+    name = "cmdln-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cmdln/-/cmdln-1.3.2.tgz";
@@ -2337,60 +2481,43 @@
     ];
     buildInputs =
       (self.nativeDeps."cmdln" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.3"
-      self.by-version."extsprintf"."1.0.2"
-      self.by-version."verror"."1.3.6"
-      self.by-version."dashdash"."1.3.2"
-    ];
+    deps = {
+      "assert-plus-0.1.3" = self.by-version."assert-plus"."0.1.3";
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+      "dashdash-1.3.2" = self.by-version."dashdash"."1.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cmdln" ];
   };
-  by-spec."co"."~3.1.0" =
-    self.by-version."co"."3.1.0";
-  by-version."co"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-co-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/co/-/co-3.1.0.tgz";
-        name = "co-3.1.0.tgz";
-        sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."co" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "co" ];
-  };
   by-spec."coffee-script"."*" =
-    self.by-version."coffee-script"."1.7.1";
-  by-version."coffee-script"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.7.1";
+    self.by-version."coffee-script"."1.8.0";
+  by-version."coffee-script"."1.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-1.8.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz";
-        name = "coffee-script-1.7.1.tgz";
-        sha1 = "62996a861780c75e6d5069d13822723b73404bfc";
+        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.8.0.tgz";
+        name = "coffee-script-1.8.0.tgz";
+        sha1 = "9c9f1d2b4a52a000ded15b659791703648263c1d";
       })
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  "coffee-script" = self.by-version."coffee-script"."1.7.1";
+  "coffee-script" = self.by-version."coffee-script"."1.8.0";
   by-spec."coffee-script"."1.6.3" =
     self.by-version."coffee-script"."1.6.3";
   by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.6.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
@@ -2400,20 +2527,21 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
   by-spec."coffee-script".">= 0.0.1" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.8.0";
   by-spec."coffee-script".">=1.2.0" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.8.0";
   by-spec."coffee-script"."~1.3.3" =
     self.by-version."coffee-script"."1.3.3";
   by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.3.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
@@ -2423,8 +2551,8 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
@@ -2433,6 +2561,7 @@
     self.by-version."coffee-script-redux"."2.0.0-beta8";
   by-version."coffee-script-redux"."2.0.0-beta8" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-redux-2.0.0-beta8";
+    bin = true;
     src = [
       (self.patchSource fetchurl {
         url = "http://registry.npmjs.org/coffee-script-redux/-/coffee-script-redux-2.0.0-beta8.tgz";
@@ -2442,14 +2571,14 @@
     ];
     buildInputs =
       (self.nativeDeps."coffee-script-redux" or []);
-    deps = [
-      self.by-version."StringScanner"."0.0.3"
-      self.by-version."nopt"."2.1.2"
-      self.by-version."esmangle"."0.0.17"
-      self.by-version."source-map"."0.1.11"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."cscodegen"."0.1.0"
-    ];
+    deps = {
+      "StringScanner-0.0.3" = self.by-version."StringScanner"."0.0.3";
+      "nopt-2.1.2" = self.by-version."nopt"."2.1.2";
+      "esmangle-0.0.17" = self.by-version."esmangle"."0.0.17";
+      "source-map-0.1.11" = self.by-version."source-map"."0.1.11";
+      "escodegen-0.0.28" = self.by-version."escodegen"."0.0.28";
+      "cscodegen-0.1.0" = self.by-version."cscodegen"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script-redux" ];
@@ -2457,7 +2586,8 @@
   by-spec."collections".">=2.0.1 <3.0.0" =
     self.by-version."collections"."2.0.1";
   by-version."collections"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-collections-2.0.1";
+    name = "collections-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/collections/-/collections-2.0.1.tgz";
@@ -2467,69 +2597,72 @@
     ];
     buildInputs =
       (self.nativeDeps."collections" or []);
-    deps = [
-      self.by-version."weak-map"."1.0.5"
-    ];
+    deps = {
+      "weak-map-1.0.5" = self.by-version."weak-map"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "collections" ];
   };
-  by-spec."color"."~0.6.0" =
-    self.by-version."color"."0.6.0";
-  by-version."color"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-0.6.0";
+  by-spec."color"."~0.7.1" =
+    self.by-version."color"."0.7.1";
+  by-version."color"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "color-0.7.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color/-/color-0.6.0.tgz";
-        name = "color-0.6.0.tgz";
-        sha1 = "53f4b27698e1fe42a19423dc092dd8ee529b4267";
+        url = "http://registry.npmjs.org/color/-/color-0.7.1.tgz";
+        name = "color-0.7.1.tgz";
+        sha1 = "a2676f19c6ccb708b7586dc98b5c6e37dc9a199c";
       })
     ];
     buildInputs =
       (self.nativeDeps."color" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-      self.by-version."color-string"."0.1.3"
-    ];
+    deps = {
+      "color-convert-0.5.0" = self.by-version."color-convert"."0.5.0";
+      "color-string-0.2.1" = self.by-version."color-string"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color" ];
   };
-  by-spec."color-convert"."0.2.x" =
-    self.by-version."color-convert"."0.2.1";
-  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-convert-0.2.1";
+  by-spec."color-convert"."0.5.x" =
+    self.by-version."color-convert"."0.5.0";
+  by-version."color-convert"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "color-convert-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz";
-        name = "color-convert-0.2.1.tgz";
-        sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c";
+        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.5.0.tgz";
+        name = "color-convert-0.5.0.tgz";
+        sha1 = "4032cab2128c81670c7b394d77b6783f49caaaf7";
       })
     ];
     buildInputs =
       (self.nativeDeps."color-convert" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color-convert" ];
   };
-  by-spec."color-string"."0.1.x" =
-    self.by-version."color-string"."0.1.3";
-  by-version."color-string"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-string-0.1.3";
+  by-spec."color-string"."0.2.x" =
+    self.by-version."color-string"."0.2.1";
+  by-version."color-string"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "color-string-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/color-string/-/color-string-0.1.3.tgz";
-        name = "color-string-0.1.3.tgz";
-        sha1 = "e865d2e3e59f665c3af0de14383f6bf0705685f3";
+        url = "http://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz";
+        name = "color-string-0.2.1.tgz";
+        sha1 = "2f3c1e6c1d04ddf751633b28db7fbc152055d34e";
       })
     ];
     buildInputs =
       (self.nativeDeps."color-string" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-    ];
+    deps = {
+      "color-convert-0.5.0" = self.by-version."color-convert"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "color-string" ];
@@ -2537,7 +2670,8 @@
   by-spec."colors"."0.5.x" =
     self.by-version."colors"."0.5.1";
   by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.5.1";
+    name = "colors-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
@@ -2547,8 +2681,8 @@
     ];
     buildInputs =
       (self.nativeDeps."colors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
@@ -2556,7 +2690,8 @@
   by-spec."colors"."0.6.x" =
     self.by-version."colors"."0.6.2";
   by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.6.2";
+    name = "colors-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
@@ -2566,8 +2701,8 @@
     ];
     buildInputs =
       (self.nativeDeps."colors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
@@ -2576,23 +2711,24 @@
     self.by-version."colors"."0.6.2";
   by-spec."colors"."~0.6.2" =
     self.by-version."colors"."0.6.2";
-  by-spec."columnify"."~1.1.0" =
-    self.by-version."columnify"."1.1.0";
-  by-version."columnify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-columnify-1.1.0";
+  by-spec."columnify"."~1.2.1" =
+    self.by-version."columnify"."1.2.1";
+  by-version."columnify"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "columnify-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/columnify/-/columnify-1.1.0.tgz";
-        name = "columnify-1.1.0.tgz";
-        sha1 = "0b908e6d4f1c80194358a1933aaf9dc49271c679";
+        url = "http://registry.npmjs.org/columnify/-/columnify-1.2.1.tgz";
+        name = "columnify-1.2.1.tgz";
+        sha1 = "921ec51c178f4126d3c07e9acecd67a55c7953e4";
       })
     ];
     buildInputs =
       (self.nativeDeps."columnify" or []);
-    deps = [
-      self.by-version."strip-ansi"."0.2.2"
-      self.by-version."wcwidth.js"."0.0.4"
-    ];
+    deps = {
+      "strip-ansi-1.0.0" = self.by-version."strip-ansi"."1.0.0";
+      "wcwidth-1.0.0" = self.by-version."wcwidth"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "columnify" ];
@@ -2600,7 +2736,8 @@
   by-spec."combine-source-map"."~0.3.0" =
     self.by-version."combine-source-map"."0.3.0";
   by-version."combine-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combine-source-map-0.3.0";
+    name = "combine-source-map-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
@@ -2610,11 +2747,11 @@
     ];
     buildInputs =
       (self.nativeDeps."combine-source-map" or []);
-    deps = [
-      self.by-version."inline-source-map"."0.3.0"
-      self.by-version."convert-source-map"."0.3.5"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "inline-source-map-0.3.0" = self.by-version."inline-source-map"."0.3.0";
+      "convert-source-map-0.3.5" = self.by-version."convert-source-map"."0.3.5";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "combine-source-map" ];
@@ -2622,7 +2759,8 @@
   by-spec."combined-stream"."~0.0.4" =
     self.by-version."combined-stream"."0.0.5";
   by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combined-stream-0.0.5";
+    name = "combined-stream-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
@@ -2632,9 +2770,9 @@
     ];
     buildInputs =
       (self.nativeDeps."combined-stream" or []);
-    deps = [
-      self.by-version."delayed-stream"."0.0.5"
-    ];
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "combined-stream" ];
@@ -2642,7 +2780,8 @@
   by-spec."commander"."0.6.1" =
     self.by-version."commander"."0.6.1";
   by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-0.6.1";
+    name = "commander-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
@@ -2652,8 +2791,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2661,7 +2800,8 @@
   by-spec."commander"."1.3.1" =
     self.by-version."commander"."1.3.1";
   by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.1";
+    name = "commander-1.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
@@ -2671,9 +2811,9 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2681,7 +2821,8 @@
   by-spec."commander"."1.3.2" =
     self.by-version."commander"."1.3.2";
   by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.2";
+    name = "commander-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
@@ -2691,9 +2832,9 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2701,7 +2842,8 @@
   by-spec."commander"."2.0.0" =
     self.by-version."commander"."2.0.0";
   by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.0.0";
+    name = "commander-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
@@ -2711,8 +2853,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2720,7 +2862,8 @@
   by-spec."commander"."2.1.0" =
     self.by-version."commander"."2.1.0";
   by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.1.0";
+    name = "commander-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
@@ -2730,18 +2873,17 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  by-spec."commander"."2.1.x" =
-    self.by-version."commander"."2.1.0";
   by-spec."commander"."2.2.x" =
     self.by-version."commander"."2.2.0";
   by-version."commander"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.2.0";
+    name = "commander-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.2.0.tgz";
@@ -2751,8 +2893,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2760,7 +2902,8 @@
   by-spec."commander"."2.x" =
     self.by-version."commander"."2.3.0";
   by-version."commander"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.3.0";
+    name = "commander-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
@@ -2770,8 +2913,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commander" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
@@ -2783,7 +2926,8 @@
   by-spec."commondir"."0.0.1" =
     self.by-version."commondir"."0.0.1";
   by-version."commondir"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commondir-0.0.1";
+    name = "commondir-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
@@ -2793,8 +2937,8 @@
     ];
     buildInputs =
       (self.nativeDeps."commondir" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "commondir" ];
@@ -2802,7 +2946,8 @@
   by-spec."component-emitter"."1.1.2" =
     self.by-version."component-emitter"."1.1.2";
   by-version."component-emitter"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-component-emitter-1.1.2";
+    name = "component-emitter-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
@@ -2812,52 +2957,78 @@
     ];
     buildInputs =
       (self.nativeDeps."component-emitter" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "component-emitter" ];
   };
-  by-spec."compressible"."~1.1.1" =
-    self.by-version."compressible"."1.1.1";
-  by-version."compressible"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compressible-1.1.1";
+  by-spec."compress-commons"."~0.1.0" =
+    self.by-version."compress-commons"."0.1.6";
+  by-version."compress-commons"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "compress-commons-0.1.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/compressible/-/compressible-1.1.1.tgz";
-        name = "compressible-1.1.1.tgz";
-        sha1 = "23b71ea90ea6c6a66289701a918182c24d0729ef";
+        url = "http://registry.npmjs.org/compress-commons/-/compress-commons-0.1.6.tgz";
+        name = "compress-commons-0.1.6.tgz";
+        sha1 = "0c740870fde58cba516f0ac0c822e33a0b85dfa3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."compressible" or []);
-    deps = [
+      (self.nativeDeps."compress-commons" or []);
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "crc32-stream-0.3.1" = self.by-version."crc32-stream"."0.3.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "compress-commons" ];
+  };
+  by-spec."compressible"."~2.0.0" =
+    self.by-version."compressible"."2.0.0";
+  by-version."compressible"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "compressible-2.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/compressible/-/compressible-2.0.0.tgz";
+        name = "compressible-2.0.0.tgz";
+        sha1 = "90086ce57102e9e2427ee945a5fb2a98dd51dfb4";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."compressible" or []);
+    deps = {
+      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "compressible" ];
   };
-  by-spec."compression"."~1.0.11" =
-    self.by-version."compression"."1.0.11";
-  by-version."compression"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compression-1.0.11";
+  by-spec."compression"."~1.1.0" =
+    self.by-version."compression"."1.1.0";
+  by-version."compression"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "compression-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/compression/-/compression-1.0.11.tgz";
-        name = "compression-1.0.11.tgz";
-        sha1 = "69700cf1ee8963454356ac192a6e5e91e232bffb";
+        url = "http://registry.npmjs.org/compression/-/compression-1.1.0.tgz";
+        name = "compression-1.1.0.tgz";
+        sha1 = "58243eded272fc531d7c744d8e8daa7cc0b99215";
       })
     ];
     buildInputs =
       (self.nativeDeps."compression" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."compressible"."1.1.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."vary"."1.0.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "compressible-2.0.0" = self.by-version."compressible"."2.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "compression" ];
@@ -2865,7 +3036,8 @@
   by-spec."concat-stream"."^1.4.1" =
     self.by-version."concat-stream"."1.4.6";
   by-version."concat-stream"."1.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-concat-stream-1.4.6";
+    name = "concat-stream-1.4.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz";
@@ -2875,11 +3047,11 @@
     ];
     buildInputs =
       (self.nativeDeps."concat-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."typedarray"."0.0.6"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "concat-stream" ];
@@ -2891,7 +3063,8 @@
   by-spec."config"."0.4.15" =
     self.by-version."config"."0.4.15";
   by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-config-0.4.15";
+    name = "config-0.4.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
@@ -2901,11 +3074,11 @@
     ];
     buildInputs =
       (self.nativeDeps."config" or []);
-    deps = [
-      self.by-version."js-yaml"."0.3.7"
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."vows"."0.7.0"
-    ];
+    deps = {
+      "js-yaml-0.3.7" = self.by-version."js-yaml"."0.3.7";
+      "coffee-script-1.8.0" = self.by-version."coffee-script"."1.8.0";
+      "vows-0.7.0" = self.by-version."vows"."0.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
@@ -2913,7 +3086,8 @@
   by-spec."config-chain"."~1.1.1" =
     self.by-version."config-chain"."1.1.8";
   by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-config-chain-1.1.8";
+    name = "config-chain-1.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz";
@@ -2923,10 +3097,10 @@
     ];
     buildInputs =
       (self.nativeDeps."config-chain" or []);
-    deps = [
-      self.by-version."proto-list"."1.2.3"
-      self.by-version."ini"."1.2.1"
-    ];
+    deps = {
+      "proto-list-1.2.3" = self.by-version."proto-list"."1.2.3";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
@@ -2936,7 +3110,8 @@
   by-spec."configstore"."^0.3.0" =
     self.by-version."configstore"."0.3.1";
   by-version."configstore"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-configstore-0.3.1";
+    name = "configstore-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/configstore/-/configstore-0.3.1.tgz";
@@ -2946,45 +3121,23 @@
     ];
     buildInputs =
       (self.nativeDeps."configstore" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."js-yaml"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."object-assign"."0.3.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."uuid"."1.4.1"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "js-yaml-3.0.2" = self.by-version."js-yaml"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "object-assign-0.3.1" = self.by-version."object-assign"."0.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "uuid-1.4.1" = self.by-version."uuid"."1.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  by-spec."connect"."*" =
-    self.by-version."connect"."3.1.1";
-  by-version."connect"."3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-3.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-3.1.1.tgz";
-        name = "connect-3.1.1.tgz";
-        sha1 = "a73e2449c3efc2dfd1661865977a09184d120196";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
   by-spec."connect"."1.x" =
     self.by-version."connect"."1.9.2";
   by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-1.9.2";
+    name = "connect-1.9.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
@@ -2994,11 +3147,11 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."1.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."formidable"."1.0.15"
-    ];
+    deps = {
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "formidable-1.0.15" = self.by-version."formidable"."1.0.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3006,7 +3159,8 @@
   by-spec."connect"."2.11.0" =
     self.by-version."connect"."2.11.0";
   by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.11.0";
+    name = "connect-2.11.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
@@ -3016,70 +3170,71 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.6.5"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."bytes"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."uid2"."0.0.3"
-      self.by-version."debug"."1.0.4"
-      self.by-version."methods"."0.0.1"
-      self.by-version."raw-body"."0.0.3"
-      self.by-version."negotiator"."0.3.0"
-      self.by-version."multiparty"."2.2.0"
-    ];
+    deps = {
+      "qs-0.6.5" = self.by-version."qs"."0.6.5";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "raw-body-0.0.3" = self.by-version."raw-body"."0.0.3";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  by-spec."connect"."2.25.7" =
-    self.by-version."connect"."2.25.7";
-  by-version."connect"."2.25.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.25.7";
+  by-spec."connect"."2.26.0" =
+    self.by-version."connect"."2.26.0";
+  by-version."connect"."2.26.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.26.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.25.7.tgz";
-        name = "connect-2.25.7.tgz";
-        sha1 = "22a29ebf710c6379ca0e20f0974c268a15ec4d29";
+        url = "http://registry.npmjs.org/connect/-/connect-2.26.0.tgz";
+        name = "connect-2.26.0.tgz";
+        sha1 = "998bebbf54d81225f7794d2fabd076d0f9f0e712";
       })
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."basic-auth-connect"."1.0.0"
-      self.by-version."body-parser"."1.6.5"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."compression"."1.0.11"
-      self.by-version."connect-timeout"."1.2.2"
-      self.by-version."csurf"."1.4.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."errorhandler"."1.1.1"
-      self.by-version."express-session"."1.7.6"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."method-override"."2.1.3"
-      self.by-version."morgan"."1.2.3"
-      self.by-version."multiparty"."3.3.2"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."response-time"."2.0.1"
-      self.by-version."serve-favicon"."2.0.1"
-      self.by-version."serve-index"."1.1.6"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vhost"."2.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.8.1" = self.by-version."body-parser"."1.8.1";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.3" = self.by-version."cookie-parser"."1.3.3";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "compression-1.1.0" = self.by-version."compression"."1.1.0";
+      "connect-timeout-1.3.0" = self.by-version."connect-timeout"."1.3.0";
+      "csurf-1.6.1" = self.by-version."csurf"."1.6.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "errorhandler-1.2.0" = self.by-version."errorhandler"."1.2.0";
+      "express-session-1.8.1" = self.by-version."express-session"."1.8.1";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "method-override-2.2.0" = self.by-version."method-override"."2.2.0";
+      "morgan-1.3.0" = self.by-version."morgan"."1.3.0";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "response-time-2.0.1" = self.by-version."response-time"."2.0.1";
+      "serve-favicon-2.1.3" = self.by-version."serve-favicon"."2.1.3";
+      "serve-index-1.2.1" = self.by-version."serve-index"."1.2.1";
+      "serve-static-1.6.1" = self.by-version."serve-static"."1.6.1";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3087,7 +3242,8 @@
   by-spec."connect"."2.3.x" =
     self.by-version."connect"."2.3.9";
   by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.3.9";
+    name = "connect-2.3.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
@@ -3097,16 +3253,16 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.4.2"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."crc"."0.2.0"
-      self.by-version."cookie"."0.0.4"
-      self.by-version."bytes"."0.1.0"
-      self.by-version."send"."0.0.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "crc-0.2.0" = self.by-version."crc"."0.2.0";
+      "cookie-0.0.4" = self.by-version."cookie"."0.0.4";
+      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
+      "send-0.0.3" = self.by-version."send"."0.0.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3114,7 +3270,8 @@
   by-spec."connect"."2.7.5" =
     self.by-version."connect"."2.7.5";
   by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.5";
+    name = "connect-2.7.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
@@ -3124,18 +3281,18 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.5.1"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."cookie-signature"."1.0.0"
-      self.by-version."buffer-crc32"."0.1.1"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."send"."0.1.0"
-      self.by-version."bytes"."0.2.0"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3143,7 +3300,8 @@
   by-spec."connect"."2.7.6" =
     self.by-version."connect"."2.7.6";
   by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.6";
+    name = "connect-2.7.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
@@ -3153,28 +3311,29 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.5.1"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.1.1"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."send"."0.1.0"
-      self.by-version."bytes"."0.2.0"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
   by-spec."connect"."~2" =
-    self.by-version."connect"."2.25.7";
+    self.by-version."connect"."2.26.0";
   by-spec."connect"."~2.12.0" =
     self.by-version."connect"."2.12.0";
   by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.12.0";
+    name = "connect-2.12.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz";
@@ -3184,23 +3343,23 @@
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."batch"."0.5.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."bytes"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."uid2"."0.0.3"
-      self.by-version."debug"."0.8.1"
-      self.by-version."methods"."0.1.0"
-      self.by-version."raw-body"."1.1.2"
-      self.by-version."negotiator"."0.3.0"
-      self.by-version."multiparty"."2.2.0"
-    ];
+    deps = {
+      "batch-0.5.0" = self.by-version."batch"."0.5.0";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "raw-body-1.1.2" = self.by-version."raw-body"."1.1.2";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
@@ -3208,7 +3367,8 @@
   by-spec."connect-flash"."*" =
     self.by-version."connect-flash"."0.1.1";
   by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-flash-0.1.1";
+    name = "connect-flash-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
@@ -3218,8 +3378,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
@@ -3228,7 +3388,8 @@
   by-spec."connect-flash"."0.1.0" =
     self.by-version."connect-flash"."0.1.0";
   by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-flash-0.1.0";
+    name = "connect-flash-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
@@ -3238,8 +3399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
@@ -3247,7 +3408,8 @@
   by-spec."connect-jade-static"."*" =
     self.by-version."connect-jade-static"."0.1.3";
   by-version."connect-jade-static"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-jade-static-0.1.3";
+    name = "connect-jade-static-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.3.tgz";
@@ -3257,9 +3419,9 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-jade-static" or []);
-    deps = [
-      self.by-version."jade"."1.5.0"
-    ];
+    deps = {
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
@@ -3268,7 +3430,8 @@
   by-spec."connect-mongo"."*" =
     self.by-version."connect-mongo"."0.4.1";
   by-version."connect-mongo"."0.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-mongo-0.4.1";
+    name = "connect-mongo-0.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.1.tgz";
@@ -3278,32 +3441,33 @@
     ];
     buildInputs =
       (self.nativeDeps."connect-mongo" or []);
-    deps = [
-      self.by-version."mongodb"."1.3.23"
-    ];
+    deps = {
+      "mongodb-1.3.23" = self.by-version."mongodb"."1.3.23";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
   "connect-mongo" = self.by-version."connect-mongo"."0.4.1";
-  by-spec."connect-timeout"."~1.2.2" =
-    self.by-version."connect-timeout"."1.2.2";
-  by-version."connect-timeout"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-timeout-1.2.2";
+  by-spec."connect-timeout"."~1.3.0" =
+    self.by-version."connect-timeout"."1.3.0";
+  by-version."connect-timeout"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-timeout-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.2.2.tgz";
-        name = "connect-timeout-1.2.2.tgz";
-        sha1 = "5953602bb66abfd5fa21ae911a7221c5e825a1c0";
+        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.3.0.tgz";
+        name = "connect-timeout-1.3.0.tgz";
+        sha1 = "d9d1d2df2900d490ed54190809f37e6b4508a1ec";
       })
     ];
     buildInputs =
       (self.nativeDeps."connect-timeout" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-headers"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connect-timeout" ];
@@ -3311,7 +3475,8 @@
   by-spec."connection-parse"."0.0.x" =
     self.by-version."connection-parse"."0.0.7";
   by-version."connection-parse"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connection-parse-0.0.7";
+    name = "connection-parse-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
@@ -3321,8 +3486,8 @@
     ];
     buildInputs =
       (self.nativeDeps."connection-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "connection-parse" ];
@@ -3330,7 +3495,8 @@
   by-spec."console-browserify"."1.1.x" =
     self.by-version."console-browserify"."1.1.0";
   by-version."console-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-console-browserify-1.1.0";
+    name = "console-browserify-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
@@ -3340,9 +3506,9 @@
     ];
     buildInputs =
       (self.nativeDeps."console-browserify" or []);
-    deps = [
-      self.by-version."date-now"."0.1.4"
-    ];
+    deps = {
+      "date-now-0.1.4" = self.by-version."date-now"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
@@ -3352,7 +3518,8 @@
   by-spec."constantinople"."~1.0.1" =
     self.by-version."constantinople"."1.0.2";
   by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-1.0.2";
+    name = "constantinople-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
@@ -3362,9 +3529,9 @@
     ];
     buildInputs =
       (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
@@ -3374,7 +3541,8 @@
   by-spec."constantinople"."~2.0.0" =
     self.by-version."constantinople"."2.0.1";
   by-version."constantinople"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-2.0.1";
+    name = "constantinople-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constantinople/-/constantinople-2.0.1.tgz";
@@ -3384,9 +3552,9 @@
     ];
     buildInputs =
       (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
@@ -3394,7 +3562,8 @@
   by-spec."constants-browserify"."~0.0.1" =
     self.by-version."constants-browserify"."0.0.1";
   by-version."constants-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constants-browserify-0.0.1";
+    name = "constants-browserify-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
@@ -3404,8 +3573,8 @@
     ];
     buildInputs =
       (self.nativeDeps."constants-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "constants-browserify" ];
@@ -3413,7 +3582,8 @@
   by-spec."convert-source-map"."~0.3.0" =
     self.by-version."convert-source-map"."0.3.5";
   by-version."convert-source-map"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-convert-source-map-0.3.5";
+    name = "convert-source-map-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
@@ -3423,8 +3593,8 @@
     ];
     buildInputs =
       (self.nativeDeps."convert-source-map" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "convert-source-map" ];
@@ -3432,7 +3602,8 @@
   by-spec."cookie"."0.0.4" =
     self.by-version."cookie"."0.0.4";
   by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.4";
+    name = "cookie-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
@@ -3442,8 +3613,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3451,7 +3622,8 @@
   by-spec."cookie"."0.0.5" =
     self.by-version."cookie"."0.0.5";
   by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.5";
+    name = "cookie-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
@@ -3461,8 +3633,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3470,7 +3642,8 @@
   by-spec."cookie"."0.1.0" =
     self.by-version."cookie"."0.1.0";
   by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.0";
+    name = "cookie-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
@@ -3480,8 +3653,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3489,7 +3662,8 @@
   by-spec."cookie"."0.1.2" =
     self.by-version."cookie"."0.1.2";
   by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.2";
+    name = "cookie-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
@@ -3499,8 +3673,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
@@ -3508,7 +3682,8 @@
   by-spec."cookie-jar"."~0.2.0" =
     self.by-version."cookie-jar"."0.2.0";
   by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-jar-0.2.0";
+    name = "cookie-jar-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
@@ -3518,8 +3693,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
@@ -3527,7 +3702,8 @@
   by-spec."cookie-jar"."~0.3.0" =
     self.by-version."cookie-jar"."0.3.0";
   by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-jar-0.3.0";
+    name = "cookie-jar-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
@@ -3537,39 +3713,41 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  by-spec."cookie-parser"."1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
-  by-version."cookie-parser"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-parser-1.3.2";
+  by-spec."cookie-parser"."~1.3.2" =
+    self.by-version."cookie-parser"."1.3.3";
+  by-version."cookie-parser"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-parser-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.2.tgz";
-        name = "cookie-parser-1.3.2.tgz";
-        sha1 = "52211cc82c955d79ff0c088954407724e19cf562";
+        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.3.tgz";
+        name = "cookie-parser-1.3.3.tgz";
+        sha1 = "7e3a2c745f4b460d5a340e578a0baa5d7725fe37";
       })
     ];
     buildInputs =
       (self.nativeDeps."cookie-parser" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-    ];
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-parser" ];
   };
-  by-spec."cookie-parser"."~1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
+  by-spec."cookie-parser"."~1.3.3" =
+    self.by-version."cookie-parser"."1.3.3";
   by-spec."cookie-signature"."1.0.0" =
     self.by-version."cookie-signature"."1.0.0";
   by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.0";
+    name = "cookie-signature-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
@@ -3579,8 +3757,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3588,7 +3766,8 @@
   by-spec."cookie-signature"."1.0.1" =
     self.by-version."cookie-signature"."1.0.1";
   by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.1";
+    name = "cookie-signature-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
@@ -3598,8 +3777,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3607,7 +3786,8 @@
   by-spec."cookie-signature"."1.0.3" =
     self.by-version."cookie-signature"."1.0.3";
   by-version."cookie-signature"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.3";
+    name = "cookie-signature-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
@@ -3617,8 +3797,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3626,7 +3806,8 @@
   by-spec."cookie-signature"."1.0.4" =
     self.by-version."cookie-signature"."1.0.4";
   by-version."cookie-signature"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.4";
+    name = "cookie-signature-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
@@ -3636,8 +3817,28 @@
     ];
     buildInputs =
       (self.nativeDeps."cookie-signature" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
@@ -3645,7 +3846,8 @@
   by-spec."cookiejar"."1.3.0" =
     self.by-version."cookiejar"."1.3.0";
   by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.0";
+    name = "cookiejar-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
@@ -3655,8 +3857,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3664,7 +3866,8 @@
   by-spec."cookiejar"."1.3.2" =
     self.by-version."cookiejar"."1.3.2";
   by-version."cookiejar"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.2";
+    name = "cookiejar-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz";
@@ -3674,8 +3877,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3683,7 +3886,8 @@
   by-spec."cookiejar"."2.0.1" =
     self.by-version."cookiejar"."2.0.1";
   by-version."cookiejar"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-2.0.1";
+    name = "cookiejar-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
@@ -3693,8 +3897,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
@@ -3702,7 +3906,8 @@
   by-spec."cookies".">= 0.2.2" =
     self.by-version."cookies"."0.5.0";
   by-version."cookies"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookies-0.5.0";
+    name = "cookies-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cookies/-/cookies-0.5.0.tgz";
@@ -3712,19 +3917,18 @@
     ];
     buildInputs =
       (self.nativeDeps."cookies" or []);
-    deps = [
-      self.by-version."keygrip"."1.0.1"
-    ];
+    deps = {
+      "keygrip-1.0.1" = self.by-version."keygrip"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  by-spec."cookies"."~0.5.0" =
-    self.by-version."cookies"."0.5.0";
   by-spec."core-util-is"."~1.0.0" =
     self.by-version."core-util-is"."1.0.1";
   by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-core-util-is-1.0.1";
+    name = "core-util-is-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
@@ -3734,8 +3938,8 @@
     ];
     buildInputs =
       (self.nativeDeps."core-util-is" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "core-util-is" ];
@@ -3743,7 +3947,8 @@
   by-spec."couch-login"."~0.1.15" =
     self.by-version."couch-login"."0.1.20";
   by-version."couch-login"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-couch-login-0.1.20";
+    name = "couch-login-0.1.20";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
@@ -3753,9 +3958,9 @@
     ];
     buildInputs =
       (self.nativeDeps."couch-login" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-    ];
+    deps = {
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
@@ -3764,6 +3969,7 @@
     self.by-version."coveralls"."2.11.1";
   by-version."coveralls"."2.11.1" = lib.makeOverridable self.buildNodePackage {
     name = "coveralls-2.11.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.1.tgz";
@@ -3773,12 +3979,12 @@
     ];
     buildInputs =
       (self.nativeDeps."coveralls" or []);
-    deps = [
-      self.by-version."js-yaml"."3.0.1"
-      self.by-version."lcov-parse"."0.0.6"
-      self.by-version."log-driver"."1.2.4"
-      self.by-version."request"."2.36.0"
-    ];
+    deps = {
+      "js-yaml-3.0.1" = self.by-version."js-yaml"."3.0.1";
+      "lcov-parse-0.0.6" = self.by-version."lcov-parse"."0.0.6";
+      "log-driver-1.2.4" = self.by-version."log-driver"."1.2.4";
+      "request-2.36.0" = self.by-version."request"."2.36.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
@@ -3787,7 +3993,8 @@
   by-spec."crc"."0.2.0" =
     self.by-version."crc"."0.2.0";
   by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc-0.2.0";
+    name = "crc-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
@@ -3797,29 +4004,30 @@
     ];
     buildInputs =
       (self.nativeDeps."crc" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crc" ];
   };
-  by-spec."crc32-stream"."~0.2.0" =
-    self.by-version."crc32-stream"."0.2.0";
-  by-version."crc32-stream"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc32-stream-0.2.0";
+  by-spec."crc32-stream"."~0.3.1" =
+    self.by-version."crc32-stream"."0.3.1";
+  by-version."crc32-stream"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "crc32-stream-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.2.0.tgz";
-        name = "crc32-stream-0.2.0.tgz";
-        sha1 = "5c80d480c8682f904b6f15530dbbe0b8c063dbbe";
+        url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.1.tgz";
+        name = "crc32-stream-0.3.1.tgz";
+        sha1 = "615fcf05ed08342a3d1e938041aed84430ce7837";
       })
     ];
     buildInputs =
       (self.nativeDeps."crc32-stream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crc32-stream" ];
@@ -3827,7 +4035,8 @@
   by-spec."crossroads"."~0.12.0" =
     self.by-version."crossroads"."0.12.0";
   by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crossroads-0.12.0";
+    name = "crossroads-0.12.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz";
@@ -3837,9 +4046,9 @@
     ];
     buildInputs =
       (self.nativeDeps."crossroads" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
@@ -3847,7 +4056,8 @@
   by-spec."cryptiles"."0.1.x" =
     self.by-version."cryptiles"."0.1.3";
   by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.1.3";
+    name = "cryptiles-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
@@ -3857,9 +4067,9 @@
     ];
     buildInputs =
       (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.3.8"
-    ];
+    deps = {
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
@@ -3867,7 +4077,8 @@
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.2.2";
+    name = "cryptiles-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
@@ -3877,9 +4088,9 @@
     ];
     buildInputs =
       (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.4.2"
-    ];
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
@@ -3887,7 +4098,8 @@
   by-spec."crypto"."0.0.3" =
     self.by-version."crypto"."0.0.3";
   by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-0.0.3";
+    name = "crypto-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
@@ -3897,29 +4109,30 @@
     ];
     buildInputs =
       (self.nativeDeps."crypto" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crypto" ];
   };
   by-spec."crypto-browserify"."^3.0.0" =
-    self.by-version."crypto-browserify"."3.0.1";
-  by-version."crypto-browserify"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-browserify-3.0.1";
+    self.by-version."crypto-browserify"."3.0.2";
+  by-version."crypto-browserify"."3.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "crypto-browserify-3.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.1.tgz";
-        name = "crypto-browserify-3.0.1.tgz";
-        sha1 = "770fd68e8422f9b1e53d6812f1c2ce2ea7ab917c";
+        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.2.tgz";
+        name = "crypto-browserify-3.0.2.tgz";
+        sha1 = "43218365d9d086e8c1b88f968fb7134f13505c84";
       })
     ];
     buildInputs =
       (self.nativeDeps."crypto-browserify" or []);
-    deps = [
-      self.by-version."ripemd160"."0.2.0"
-      self.by-version."sha.js"."2.1.7"
-    ];
+    deps = {
+      "ripemd160-0.2.0" = self.by-version."ripemd160"."0.2.0";
+      "sha.js-2.1.8" = self.by-version."sha.js"."2.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "crypto-browserify" ];
@@ -3928,6 +4141,7 @@
     self.by-version."cscodegen"."0.1.0";
   by-version."cscodegen"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "cscodegen-0.1.0";
+    bin = true;
     src = [
       (fetchgit {
         url = "git://github.com/michaelficarra/cscodegen.git";
@@ -3937,39 +4151,41 @@
     ];
     buildInputs =
       (self.nativeDeps."cscodegen" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cscodegen" ];
   };
-  by-spec."csrf-tokens"."~2.0.0" =
-    self.by-version."csrf-tokens"."2.0.0";
-  by-version."csrf-tokens"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csrf-tokens-2.0.0";
+  by-spec."csrf"."~2.0.1" =
+    self.by-version."csrf"."2.0.1";
+  by-version."csrf"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "csrf-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/csrf-tokens/-/csrf-tokens-2.0.0.tgz";
-        name = "csrf-tokens-2.0.0.tgz";
-        sha1 = "c821003fb8b6ad17bc977d6fd1a84bedc3ed619b";
+        url = "http://registry.npmjs.org/csrf/-/csrf-2.0.1.tgz";
+        name = "csrf-2.0.1.tgz";
+        sha1 = "d673a2efb4db7d0e6805dadd838c57e30ae0ee73";
       })
     ];
     buildInputs =
-      (self.nativeDeps."csrf-tokens" or []);
-    deps = [
-      self.by-version."rndm"."1.0.0"
-      self.by-version."scmp"."0.0.3"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
+      (self.nativeDeps."csrf" or []);
+    deps = {
+      "rndm-1.0.0" = self.by-version."rndm"."1.0.0";
+      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "csrf-tokens" ];
+    passthru.names = [ "csrf" ];
   };
   by-spec."css"."~1.0.8" =
     self.by-version."css"."1.0.8";
   by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-1.0.8";
+    name = "css-1.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
@@ -3979,10 +4195,10 @@
     ];
     buildInputs =
       (self.nativeDeps."css" or []);
-    deps = [
-      self.by-version."css-parse"."1.0.4"
-      self.by-version."css-stringify"."1.0.5"
-    ];
+    deps = {
+      "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4";
+      "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
@@ -3990,7 +4206,8 @@
   by-spec."css-parse"."1.0.4" =
     self.by-version."css-parse"."1.0.4";
   by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-parse-1.0.4";
+    name = "css-parse-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
@@ -4000,8 +4217,8 @@
     ];
     buildInputs =
       (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
@@ -4009,7 +4226,8 @@
   by-spec."css-parse"."1.7.x" =
     self.by-version."css-parse"."1.7.0";
   by-version."css-parse"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-parse-1.7.0";
+    name = "css-parse-1.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
@@ -4019,8 +4237,8 @@
     ];
     buildInputs =
       (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
@@ -4028,7 +4246,8 @@
   by-spec."css-stringify"."1.0.5" =
     self.by-version."css-stringify"."1.0.5";
   by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-stringify-1.0.5";
+    name = "css-stringify-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
@@ -4038,30 +4257,31 @@
     ];
     buildInputs =
       (self.nativeDeps."css-stringify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  by-spec."csurf"."~1.4.0" =
-    self.by-version."csurf"."1.4.0";
-  by-version."csurf"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csurf-1.4.0";
+  by-spec."csurf"."~1.6.1" =
+    self.by-version."csurf"."1.6.1";
+  by-version."csurf"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "csurf-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/csurf/-/csurf-1.4.0.tgz";
-        name = "csurf-1.4.0.tgz";
-        sha1 = "035628ab6644d7709ac9d1adc78ef05a2d576efe";
+        url = "http://registry.npmjs.org/csurf/-/csurf-1.6.1.tgz";
+        name = "csurf-1.6.1.tgz";
+        sha1 = "78da376f016bcaa48275d553d133585e478f4054";
       })
     ];
     buildInputs =
       (self.nativeDeps."csurf" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."csrf-tokens"."2.0.0"
-    ];
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "csrf-2.0.1" = self.by-version."csrf"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "csurf" ];
@@ -4069,7 +4289,8 @@
   by-spec."ctype"."0.5.0" =
     self.by-version."ctype"."0.5.0";
   by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.0";
+    name = "ctype-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
@@ -4079,8 +4300,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
@@ -4088,7 +4309,8 @@
   by-spec."ctype"."0.5.2" =
     self.by-version."ctype"."0.5.2";
   by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.2";
+    name = "ctype-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
@@ -4098,8 +4320,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
@@ -4107,7 +4329,8 @@
   by-spec."cycle"."1.0.x" =
     self.by-version."cycle"."1.0.3";
   by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cycle-1.0.3";
+    name = "cycle-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
@@ -4117,8 +4340,8 @@
     ];
     buildInputs =
       (self.nativeDeps."cycle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
@@ -4126,7 +4349,8 @@
   by-spec."dashdash"."1.3.2" =
     self.by-version."dashdash"."1.3.2";
   by-version."dashdash"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.3.2";
+    name = "dashdash-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dashdash/-/dashdash-1.3.2.tgz";
@@ -4136,9 +4360,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dashdash" ];
@@ -4146,7 +4370,8 @@
   by-spec."dashdash"."1.5.0" =
     self.by-version."dashdash"."1.5.0";
   by-version."dashdash"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.5.0";
+    name = "dashdash-1.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dashdash/-/dashdash-1.5.0.tgz";
@@ -4156,9 +4381,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dashdash" ];
@@ -4166,7 +4391,8 @@
   by-spec."date-now"."^0.1.4" =
     self.by-version."date-now"."0.1.4";
   by-version."date-now"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-date-now-0.1.4";
+    name = "date-now-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
@@ -4176,8 +4402,8 @@
     ];
     buildInputs =
       (self.nativeDeps."date-now" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "date-now" ];
@@ -4185,7 +4411,8 @@
   by-spec."dateformat"."1.0.2-1.2.3" =
     self.by-version."dateformat"."1.0.2-1.2.3";
   by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dateformat-1.0.2-1.2.3";
+    name = "dateformat-1.0.2-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
@@ -4195,16 +4422,17 @@
     ];
     buildInputs =
       (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  by-spec."dateformat"."~1.0.6" =
+  by-spec."dateformat"."^1.0.7-1.2.3" =
     self.by-version."dateformat"."1.0.8-1.2.3";
   by-version."dateformat"."1.0.8-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dateformat-1.0.8-1.2.3";
+    name = "dateformat-1.0.8-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.8-1.2.3.tgz";
@@ -4214,28 +4442,31 @@
     ];
     buildInputs =
       (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.8-1.2.3";
   by-spec."debug"."*" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.4";
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        name = "debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
       })
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4243,7 +4474,8 @@
   by-spec."debug"."0.5.0" =
     self.by-version."debug"."0.5.0";
   by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.5.0";
+    name = "debug-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
@@ -4253,8 +4485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4262,7 +4494,8 @@
   by-spec."debug"."0.7.4" =
     self.by-version."debug"."0.7.4";
   by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.7.4";
+    name = "debug-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
@@ -4272,58 +4505,38 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  by-spec."debug"."1.0.2" =
-    self.by-version."debug"."1.0.2";
-  by-version."debug"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.2.tgz";
-        name = "debug-1.0.2.tgz";
-        sha1 = "3849591c10cce648476c3c7c2e2e3416db5963c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."debug"."1.0.3" =
-    self.by-version."debug"."1.0.3";
-  by-version."debug"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.3";
+  by-spec."debug"."1.0.4" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.3.tgz";
-        name = "debug-1.0.3.tgz";
-        sha1 = "fc8c6b2d6002804b4081c0208e0f6460ba1fa3e4";
+        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        name = "debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
       })
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  by-spec."debug"."1.0.4" =
-    self.by-version."debug"."1.0.4";
   by-spec."debug".">= 0.7.3 < 1" =
     self.by-version."debug"."0.8.1";
   by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.8.1";
+    name = "debug-0.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
@@ -4333,8 +4546,8 @@
     ];
     buildInputs =
       (self.nativeDeps."debug" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
@@ -4347,12 +4560,33 @@
     self.by-version."debug"."0.8.1";
   by-spec."debug"."~1.0.1" =
     self.by-version."debug"."1.0.4";
-  by-spec."debug"."~1.0.2" =
-    self.by-version."debug"."1.0.4";
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-spec."debuglog"."^1.0.1" =
+    self.by-version."debuglog"."1.0.1";
+  by-version."debuglog"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "debuglog-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
+        name = "debuglog-1.0.1.tgz";
+        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debuglog" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debuglog" ];
+  };
   by-spec."deep-eql"."0.1.3" =
     self.by-version."deep-eql"."0.1.3";
   by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-eql-0.1.3";
+    name = "deep-eql-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
@@ -4362,9 +4596,9 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-eql" or []);
-    deps = [
-      self.by-version."type-detect"."0.1.1"
-    ];
+    deps = {
+      "type-detect-0.1.1" = self.by-version."type-detect"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
@@ -4372,7 +4606,8 @@
   by-spec."deep-equal"."*" =
     self.by-version."deep-equal"."0.2.1";
   by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-equal-0.2.1";
+    name = "deep-equal-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
@@ -4382,8 +4617,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
@@ -4391,7 +4626,8 @@
   by-spec."deep-equal"."0.0.0" =
     self.by-version."deep-equal"."0.0.0";
   by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-equal-0.0.0";
+    name = "deep-equal-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
@@ -4401,8 +4637,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
@@ -4411,10 +4647,11 @@
     self.by-version."deep-equal"."0.0.0";
   by-spec."deep-equal"."~0.2.1" =
     self.by-version."deep-equal"."0.2.1";
-  by-spec."deep-extend"."~0.2.10" =
+  by-spec."deep-extend"."~0.2.11" =
     self.by-version."deep-extend"."0.2.11";
   by-version."deep-extend"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-extend-0.2.11";
+    name = "deep-extend-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
@@ -4424,8 +4661,8 @@
     ];
     buildInputs =
       (self.nativeDeps."deep-extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
@@ -4435,7 +4672,8 @@
   by-spec."deepmerge"."*" =
     self.by-version."deepmerge"."0.2.7";
   by-version."deepmerge"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deepmerge-0.2.7";
+    name = "deepmerge-0.2.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz";
@@ -4445,56 +4683,59 @@
     ];
     buildInputs =
       (self.nativeDeps."deepmerge" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deepmerge" ];
   };
   "deepmerge" = self.by-version."deepmerge"."0.2.7";
-  by-spec."defined"."~0.0.0" =
-    self.by-version."defined"."0.0.0";
-  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-defined-0.0.0";
+  by-spec."defaults"."^1.0.0" =
+    self.by-version."defaults"."1.0.0";
+  by-version."defaults"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "defaults-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
-        name = "defined-0.0.0.tgz";
-        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
+        url = "http://registry.npmjs.org/defaults/-/defaults-1.0.0.tgz";
+        name = "defaults-1.0.0.tgz";
+        sha1 = "3ae25f44416c6c01f9809a25fcdd285912d2a6b1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."defined" or []);
-    deps = [
-    ];
+      (self.nativeDeps."defaults" or []);
+    deps = {
+      "clone-0.1.18" = self.by-version."clone"."0.1.18";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "defined" ];
+    passthru.names = [ "defaults" ];
   };
-  by-spec."deflate-crc32-stream"."~0.1.0" =
-    self.by-version."deflate-crc32-stream"."0.1.1";
-  by-version."deflate-crc32-stream"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deflate-crc32-stream-0.1.1";
+  by-spec."defined"."~0.0.0" =
+    self.by-version."defined"."0.0.0";
+  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "defined-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deflate-crc32-stream/-/deflate-crc32-stream-0.1.1.tgz";
-        name = "deflate-crc32-stream-0.1.1.tgz";
-        sha1 = "5df9e343174f56e7d6056e8ba1f91e5576c02160";
+        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+        name = "defined-0.0.0.tgz";
+        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."deflate-crc32-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
+      (self.nativeDeps."defined" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "deflate-crc32-stream" ];
+    passthru.names = [ "defined" ];
   };
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
   by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-delayed-stream-0.0.5";
+    name = "delayed-stream-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
@@ -4504,73 +4745,57 @@
     ];
     buildInputs =
       (self.nativeDeps."delayed-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "delayed-stream" ];
   };
-  by-spec."delegates"."0.0.3" =
-    self.by-version."delegates"."0.0.3";
-  by-version."delegates"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-delegates-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delegates/-/delegates-0.0.3.tgz";
-        name = "delegates-0.0.3.tgz";
-        sha1 = "4f25cbf8e1c061967f834e003f3bd18ded4baeea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delegates" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "delegates" ];
-  };
-  by-spec."depd"."0.3.0" =
-    self.by-version."depd"."0.3.0";
-  by-version."depd"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.3.0";
+  by-spec."depd"."0.4.4" =
+    self.by-version."depd"."0.4.4";
+  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "depd-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.3.0.tgz";
-        name = "depd-0.3.0.tgz";
-        sha1 = "11c9bc28e425325fbd8b38940beff69fa5326883";
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        name = "depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
       })
     ];
     buildInputs =
       (self.nativeDeps."depd" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "depd" ];
   };
-  by-spec."depd"."0.4.4" =
-    self.by-version."depd"."0.4.4";
-  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.4.4";
+  by-spec."deprecated"."^0.0.1" =
+    self.by-version."deprecated"."0.0.1";
+  by-version."deprecated"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "deprecated-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
-        name = "depd-0.4.4.tgz";
-        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+        url = "http://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz";
+        name = "deprecated-0.0.1.tgz";
+        sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
       })
     ];
     buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = [
-    ];
+      (self.nativeDeps."deprecated" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "depd" ];
+    passthru.names = [ "deprecated" ];
   };
   by-spec."deps-sort"."^1.3.5" =
     self.by-version."deps-sort"."1.3.5";
   by-version."deps-sort"."1.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "deps-sort-1.3.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz";
@@ -4580,13 +4805,13 @@
     ];
     buildInputs =
       (self.nativeDeps."deps-sort" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."through2"."0.5.1"
-    ];
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "shasum-1.0.0" = self.by-version."shasum"."1.0.0";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "deps-sort" ];
@@ -4594,7 +4819,8 @@
   by-spec."destroy"."1.0.3" =
     self.by-version."destroy"."1.0.3";
   by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-destroy-1.0.3";
+    name = "destroy-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
@@ -4604,8 +4830,8 @@
     ];
     buildInputs =
       (self.nativeDeps."destroy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "destroy" ];
@@ -4613,7 +4839,8 @@
   by-spec."detective"."^3.1.0" =
     self.by-version."detective"."3.1.0";
   by-version."detective"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-detective-3.1.0";
+    name = "detective-3.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/detective/-/detective-3.1.0.tgz";
@@ -4623,37 +4850,19 @@
     ];
     buildInputs =
       (self.nativeDeps."detective" or []);
-    deps = [
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "escodegen-1.1.0" = self.by-version."escodegen"."1.1.0";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "detective" ];
   };
-  by-spec."dethroy"."~1.0.0" =
-    self.by-version."dethroy"."1.0.2";
-  by-version."dethroy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dethroy-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dethroy/-/dethroy-1.0.2.tgz";
-        name = "dethroy-1.0.2.tgz";
-        sha1 = "c82003317693dcbcda3f752b0182e3bf16dd4421";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dethroy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dethroy" ];
-  };
   by-spec."dezalgo"."^1.0.0" =
     self.by-version."dezalgo"."1.0.0";
   by-version."dezalgo"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dezalgo-1.0.0";
+    name = "dezalgo-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.0.tgz";
@@ -4663,9 +4872,9 @@
     ];
     buildInputs =
       (self.nativeDeps."dezalgo" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-    ];
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dezalgo" ];
@@ -4673,7 +4882,8 @@
   by-spec."di"."~0.0.1" =
     self.by-version."di"."0.0.1";
   by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-di-0.0.1";
+    name = "di-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
@@ -4683,8 +4893,8 @@
     ];
     buildInputs =
       (self.nativeDeps."di" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "di" ];
@@ -4692,7 +4902,8 @@
   by-spec."diff"."1.0.7" =
     self.by-version."diff"."1.0.7";
   by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.7";
+    name = "diff-1.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
@@ -4702,8 +4913,8 @@
     ];
     buildInputs =
       (self.nativeDeps."diff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
@@ -4711,7 +4922,8 @@
   by-spec."diff"."~1.0.3" =
     self.by-version."diff"."1.0.8";
   by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.8";
+    name = "diff-1.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
@@ -4721,8 +4933,8 @@
     ];
     buildInputs =
       (self.nativeDeps."diff" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
@@ -4732,7 +4944,8 @@
   by-spec."director"."1.1.10" =
     self.by-version."director"."1.1.10";
   by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-director-1.1.10";
+    name = "director-1.1.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
@@ -4742,8 +4955,8 @@
     ];
     buildInputs =
       (self.nativeDeps."director" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "director" ];
@@ -4751,7 +4964,8 @@
   by-spec."dkim-signer"."~0.1.1" =
     self.by-version."dkim-signer"."0.1.2";
   by-version."dkim-signer"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dkim-signer-0.1.2";
+    name = "dkim-signer-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.2.tgz";
@@ -4761,10 +4975,10 @@
     ];
     buildInputs =
       (self.nativeDeps."dkim-signer" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-      self.by-version."mimelib"."0.2.17"
-    ];
+    deps = {
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "mimelib-0.2.17" = self.by-version."mimelib"."0.2.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dkim-signer" ];
@@ -4772,7 +4986,8 @@
   by-spec."domain-browser"."~1.1.0" =
     self.by-version."domain-browser"."1.1.2";
   by-version."domain-browser"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domain-browser-1.1.2";
+    name = "domain-browser-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.2.tgz";
@@ -4782,8 +4997,8 @@
     ];
     buildInputs =
       (self.nativeDeps."domain-browser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domain-browser" ];
@@ -4791,7 +5006,8 @@
   by-spec."domelementtype"."1" =
     self.by-version."domelementtype"."1.1.1";
   by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domelementtype-1.1.1";
+    name = "domelementtype-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
@@ -4801,8 +5017,8 @@
     ];
     buildInputs =
       (self.nativeDeps."domelementtype" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domelementtype" ];
@@ -4810,7 +5026,8 @@
   by-spec."domhandler"."2.2" =
     self.by-version."domhandler"."2.2.0";
   by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domhandler-2.2.0";
+    name = "domhandler-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz";
@@ -4820,9 +5037,9 @@
     ];
     buildInputs =
       (self.nativeDeps."domhandler" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
+    deps = {
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domhandler" ];
@@ -4830,7 +5047,8 @@
   by-spec."domutils"."1.5" =
     self.by-version."domutils"."1.5.0";
   by-version."domutils"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domutils-1.5.0";
+    name = "domutils-1.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz";
@@ -4840,9 +5058,9 @@
     ];
     buildInputs =
       (self.nativeDeps."domutils" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
+    deps = {
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
@@ -4851,6 +5069,7 @@
     self.by-version."dox"."0.4.6";
   by-version."dox"."0.4.6" = lib.makeOverridable self.buildNodePackage {
     name = "dox-0.4.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dox/-/dox-0.4.6.tgz";
@@ -4860,10 +5079,10 @@
     ];
     buildInputs =
       (self.nativeDeps."dox" or []);
-    deps = [
-      self.by-version."marked"."0.3.2"
-      self.by-version."commander"."0.6.1"
-    ];
+    deps = {
+      "marked-0.3.2" = self.by-version."marked"."0.3.2";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dox" ];
@@ -4871,7 +5090,8 @@
   by-spec."dtrace-provider"."0.2.8" =
     self.by-version."dtrace-provider"."0.2.8";
   by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dtrace-provider-0.2.8";
+    name = "dtrace-provider-0.2.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
@@ -4881,8 +5101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."dtrace-provider" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "dtrace-provider" ];
@@ -4890,7 +5110,8 @@
   by-spec."duplexer"."~0.1.1" =
     self.by-version."duplexer"."0.1.1";
   by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer-0.1.1";
+    name = "duplexer-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
@@ -4900,8 +5121,8 @@
     ];
     buildInputs =
       (self.nativeDeps."duplexer" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "duplexer" ];
@@ -4909,7 +5130,8 @@
   by-spec."duplexer2"."0.0.2" =
     self.by-version."duplexer2"."0.0.2";
   by-version."duplexer2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer2-0.0.2";
+    name = "duplexer2-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
@@ -4919,9 +5141,9 @@
     ];
     buildInputs =
       (self.nativeDeps."duplexer2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "duplexer2" ];
@@ -4931,7 +5153,8 @@
   by-spec."editor"."~0.1.0" =
     self.by-version."editor"."0.1.0";
   by-version."editor"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-editor-0.1.0";
+    name = "editor-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/editor/-/editor-0.1.0.tgz";
@@ -4941,35 +5164,17 @@
     ];
     buildInputs =
       (self.nativeDeps."editor" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "editor" ];
   };
-  by-spec."ee-first"."1.0.3" =
-    self.by-version."ee-first"."1.0.3";
-  by-version."ee-first"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz";
-        name = "ee-first-1.0.3.tgz";
-        sha1 = "6c98c4089abecb5a7b85c1ac449aa603d3b3dabe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
-  };
   by-spec."ee-first"."1.0.5" =
     self.by-version."ee-first"."1.0.5";
   by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.5";
+    name = "ee-first-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
@@ -4979,8 +5184,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ee-first" ];
@@ -4988,7 +5193,8 @@
   by-spec."ejs"."0.8.3" =
     self.by-version."ejs"."0.8.3";
   by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ejs-0.8.3";
+    name = "ejs-0.8.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
@@ -4998,8 +5204,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ejs" ];
@@ -5007,7 +5213,8 @@
   by-spec."emitter-component"."0.0.6" =
     self.by-version."emitter-component"."0.0.6";
   by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-emitter-component-0.0.6";
+    name = "emitter-component-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz";
@@ -5017,8 +5224,8 @@
     ];
     buildInputs =
       (self.nativeDeps."emitter-component" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
@@ -5026,7 +5233,8 @@
   by-spec."encoding"."~0.1.7" =
     self.by-version."encoding"."0.1.8";
   by-version."encoding"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-encoding-0.1.8";
+    name = "encoding-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/encoding/-/encoding-0.1.8.tgz";
@@ -5036,29 +5244,51 @@
     ];
     buildInputs =
       (self.nativeDeps."encoding" or []);
-    deps = [
-      self.by-version."iconv-lite"."0.4.4"
-    ];
+    deps = {
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "encoding" ];
   };
   by-spec."end-of-stream"."^1.0.0" =
-    self.by-version."end-of-stream"."1.0.0";
-  by-version."end-of-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-end-of-stream-1.0.0";
+    self.by-version."end-of-stream"."1.1.0";
+  by-version."end-of-stream"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "end-of-stream-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
-        name = "end-of-stream-1.0.0.tgz";
-        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
+        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz";
+        name = "end-of-stream-1.1.0.tgz";
+        sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
       })
     ];
     buildInputs =
       (self.nativeDeps."end-of-stream" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "end-of-stream" ];
+  };
+  by-spec."end-of-stream"."~0.1.5" =
+    self.by-version."end-of-stream"."0.1.5";
+  by-version."end-of-stream"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "end-of-stream-0.1.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz";
+        name = "end-of-stream-0.1.5.tgz";
+        sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."end-of-stream" or []);
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "end-of-stream" ];
@@ -5066,7 +5296,8 @@
   by-spec."entities"."1.0" =
     self.by-version."entities"."1.0.0";
   by-version."entities"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-entities-1.0.0";
+    name = "entities-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
@@ -5076,8 +5307,8 @@
     ];
     buildInputs =
       (self.nativeDeps."entities" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "entities" ];
@@ -5086,6 +5317,7 @@
     self.by-version."envify"."2.0.1";
   by-version."envify"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "envify-2.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/envify/-/envify-2.0.1.tgz";
@@ -5095,52 +5327,34 @@
     ];
     buildInputs =
       (self.nativeDeps."envify" or []);
-    deps = [
-      self.by-version."xtend"."2.1.2"
-      self.by-version."through"."2.3.4"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."jstransform"."3.0.0"
-    ];
+    deps = {
+      "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+      "jstransform-3.0.0" = self.by-version."jstransform"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "envify" ];
   };
-  by-spec."error-inject"."~1.0.0" =
-    self.by-version."error-inject"."1.0.0";
-  by-version."error-inject"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-error-inject-1.0.0";
+  by-spec."errorhandler"."~1.2.0" =
+    self.by-version."errorhandler"."1.2.0";
+  by-version."errorhandler"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "errorhandler-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz";
-        name = "error-inject-1.0.0.tgz";
-        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."error-inject" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "error-inject" ];
-  };
-  by-spec."errorhandler"."1.1.1" =
-    self.by-version."errorhandler"."1.1.1";
-  by-version."errorhandler"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-errorhandler-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
-        name = "errorhandler-1.1.1.tgz";
-        sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
+        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.2.0.tgz";
+        name = "errorhandler-1.2.0.tgz";
+        sha1 = "2f89db72c150580c65e8dd5180504f5b8a398bd9";
       })
     ];
     buildInputs =
       (self.nativeDeps."errorhandler" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."escape-html"."1.0.1"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "errorhandler" ];
@@ -5148,7 +5362,8 @@
   by-spec."escape-html"."*" =
     self.by-version."escape-html"."1.0.1";
   by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-html-1.0.1";
+    name = "escape-html-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
@@ -5158,8 +5373,8 @@
     ];
     buildInputs =
       (self.nativeDeps."escape-html" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escape-html" ];
@@ -5167,12 +5382,11 @@
   "escape-html" = self.by-version."escape-html"."1.0.1";
   by-spec."escape-html"."1.0.1" =
     self.by-version."escape-html"."1.0.1";
-  by-spec."escape-html"."~1.0.1" =
-    self.by-version."escape-html"."1.0.1";
   by-spec."escape-string-regexp"."^1.0.0" =
     self.by-version."escape-string-regexp"."1.0.1";
   by-version."escape-string-regexp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-string-regexp-1.0.1";
+    name = "escape-string-regexp-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.1.tgz";
@@ -5182,8 +5396,8 @@
     ];
     buildInputs =
       (self.nativeDeps."escape-string-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escape-string-regexp" ];
@@ -5192,6 +5406,7 @@
     self.by-version."escodegen"."1.3.3";
   by-version."escodegen"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-1.3.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
@@ -5201,12 +5416,12 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esutils"."1.0.0"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esprima"."1.1.1"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esprima-1.1.1" = self.by-version."esprima"."1.1.1";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5215,6 +5430,7 @@
     self.by-version."escodegen"."0.0.28";
   by-version."escodegen"."0.0.28" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-0.0.28";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
@@ -5224,11 +5440,11 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-1.3.2" = self.by-version."estraverse"."1.3.2";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5239,6 +5455,7 @@
     self.by-version."escodegen"."1.1.0";
   by-version."escodegen"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-1.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz";
@@ -5248,12 +5465,12 @@
     ];
     buildInputs =
       (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esutils"."1.0.0"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
@@ -5261,7 +5478,8 @@
   by-spec."escope"."~ 1.0.0" =
     self.by-version."escope"."1.0.1";
   by-version."escope"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escope-1.0.1";
+    name = "escope-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/escope/-/escope-1.0.1.tgz";
@@ -5271,9 +5489,9 @@
     ];
     buildInputs =
       (self.nativeDeps."escope" or []);
-    deps = [
-      self.by-version."estraverse"."1.5.1"
-    ];
+    deps = {
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "escope" ];
@@ -5282,6 +5500,7 @@
     self.by-version."esmangle"."0.0.17";
   by-version."esmangle"."0.0.17" = lib.makeOverridable self.buildNodePackage {
     name = "esmangle-0.0.17";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esmangle/-/esmangle-0.0.17.tgz";
@@ -5291,15 +5510,15 @@
     ];
     buildInputs =
       (self.nativeDeps."esmangle" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."escope"."1.0.1"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."esshorten"."0.0.2"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "escope-1.0.1" = self.by-version."escope"."1.0.1";
+      "escodegen-0.0.28" = self.by-version."escodegen"."0.0.28";
+      "estraverse-1.3.2" = self.by-version."estraverse"."1.3.2";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "esshorten-0.0.2" = self.by-version."esshorten"."0.0.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esmangle" ];
@@ -5308,6 +5527,7 @@
     self.by-version."esprima"."1.2.2";
   by-version."esprima"."1.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.2.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz";
@@ -5317,8 +5537,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5327,6 +5547,7 @@
     self.by-version."esprima"."1.0.4";
   by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.0.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
@@ -5336,8 +5557,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5350,6 +5571,7 @@
     self.by-version."esprima"."1.1.1";
   by-version."esprima"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
@@ -5359,8 +5581,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima" ];
@@ -5369,6 +5591,7 @@
     self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
   by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-fb-3001.1.0-dev-harmony-fb";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
@@ -5378,8 +5601,8 @@
     ];
     buildInputs =
       (self.nativeDeps."esprima-fb" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esprima-fb" ];
@@ -5389,7 +5612,8 @@
   by-spec."esshorten"."~ 0.0.2" =
     self.by-version."esshorten"."0.0.2";
   by-version."esshorten"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esshorten-0.0.2";
+    name = "esshorten-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz";
@@ -5399,10 +5623,10 @@
     ];
     buildInputs =
       (self.nativeDeps."esshorten" or []);
-    deps = [
-      self.by-version."escope"."1.0.1"
-      self.by-version."estraverse"."1.2.0"
-    ];
+    deps = {
+      "escope-1.0.1" = self.by-version."escope"."1.0.1";
+      "estraverse-1.2.0" = self.by-version."estraverse"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esshorten" ];
@@ -5410,7 +5634,8 @@
   by-spec."estraverse".">= 0.0.2" =
     self.by-version."estraverse"."1.5.1";
   by-version."estraverse"."1.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.5.1";
+    name = "estraverse-1.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
@@ -5420,8 +5645,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5429,7 +5654,8 @@
   by-spec."estraverse"."~ 1.2.0" =
     self.by-version."estraverse"."1.2.0";
   by-version."estraverse"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.2.0";
+    name = "estraverse-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz";
@@ -5439,8 +5665,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5448,7 +5674,8 @@
   by-spec."estraverse"."~ 1.3.2" =
     self.by-version."estraverse"."1.3.2";
   by-version."estraverse"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.3.2";
+    name = "estraverse-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
@@ -5458,8 +5685,8 @@
     ];
     buildInputs =
       (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
@@ -5471,7 +5698,8 @@
   by-spec."esutils"."~1.0.0" =
     self.by-version."esutils"."1.0.0";
   by-version."esutils"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esutils-1.0.0";
+    name = "esutils-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
@@ -5481,16 +5709,38 @@
     ];
     buildInputs =
       (self.nativeDeps."esutils" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "esutils" ];
   };
+  by-spec."etag"."~1.3.0" =
+    self.by-version."etag"."1.3.0";
+  by-version."etag"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "etag-1.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/etag/-/etag-1.3.0.tgz";
+        name = "etag-1.3.0.tgz";
+        sha1 = "c837debfbfe0baf7eb8e2f0bbb3d1d9cc3229697";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."etag" or []);
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "etag" ];
+  };
   by-spec."event-stream"."~0.5" =
     self.by-version."event-stream"."0.5.3";
   by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-event-stream-0.5.3";
+    name = "event-stream-0.5.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
@@ -5500,9 +5750,9 @@
     ];
     buildInputs =
       (self.nativeDeps."event-stream" or []);
-    deps = [
-      self.by-version."optimist"."0.2.8"
-    ];
+    deps = {
+      "optimist-0.2.8" = self.by-version."optimist"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "event-stream" ];
@@ -5510,7 +5760,8 @@
   by-spec."eventemitter2"."0.4.12" =
     self.by-version."eventemitter2"."0.4.12";
   by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.12";
+    name = "eventemitter2-0.4.12";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
@@ -5520,16 +5771,17 @@
     ];
     buildInputs =
       (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  by-spec."eventemitter2"."~0.4.11" =
+  by-spec."eventemitter2"."0.4.14" =
     self.by-version."eventemitter2"."0.4.14";
   by-version."eventemitter2"."0.4.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.14";
+    name = "eventemitter2-0.4.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
@@ -5539,48 +5791,52 @@
     ];
     buildInputs =
       (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.14";
   by-spec."eventemitter2"."~0.4.13" =
     self.by-version."eventemitter2"."0.4.14";
   by-spec."eventemitter3"."*" =
-    self.by-version."eventemitter3"."0.1.4";
-  by-version."eventemitter3"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter3-0.1.4";
+    self.by-version."eventemitter3"."0.1.5";
+  by-version."eventemitter3"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "eventemitter3-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.4.tgz";
-        name = "eventemitter3-0.1.4.tgz";
-        sha1 = "da2be74b7a1a4760272e1390f975503be5cb7e24";
+        url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.5.tgz";
+        name = "eventemitter3-0.1.5.tgz";
+        sha1 = "fbb0655172b87911ba782bb7175409c801e5059f";
       })
     ];
     buildInputs =
       (self.nativeDeps."eventemitter3" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter3" ];
   };
   by-spec."events"."~1.0.0" =
-    self.by-version."events"."1.0.1";
-  by-version."events"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-events-1.0.1";
+    self.by-version."events"."1.0.2";
+  by-version."events"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "events-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/events/-/events-1.0.1.tgz";
-        name = "events-1.0.1.tgz";
-        sha1 = "386f6471cbb609e7925e7bfe7468634b9e069ac2";
+        url = "http://registry.npmjs.org/events/-/events-1.0.2.tgz";
+        name = "events-1.0.2.tgz";
+        sha1 = "75849dcfe93d10fb057c30055afdbd51d06a8e24";
       })
     ];
     buildInputs =
       (self.nativeDeps."events" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "events" ];
@@ -5588,7 +5844,8 @@
   by-spec."events.node".">= 0.4.0" =
     self.by-version."events.node"."0.4.9";
   by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-events.node-0.4.9";
+    name = "events.node-0.4.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
@@ -5598,8 +5855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."events.node" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "events.node" ];
@@ -5607,7 +5864,8 @@
   by-spec."everyauth"."0.4.5" =
     self.by-version."everyauth"."0.4.5";
   by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-everyauth-0.4.5";
+    name = "everyauth-0.4.5";
+    bin = false;
     src = [
       (self.patchSource fetchurl {
         url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
@@ -5617,17 +5875,17 @@
     ];
     buildInputs =
       (self.nativeDeps."everyauth" or []);
-    deps = [
-      self.by-version."oauth"."0.9.11"
-      self.by-version."request"."2.9.203"
-      self.by-version."connect"."2.3.9"
-      self.by-version."openid"."0.5.9"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."node-swt"."0.1.1"
-      self.by-version."node-wsfederation"."0.1.1"
-      self.by-version."debug"."0.5.0"
-      self.by-version."express"."3.16.7"
-    ];
+    deps = {
+      "oauth-0.9.11" = self.by-version."oauth"."0.9.11";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "connect-2.3.9" = self.by-version."connect"."2.3.9";
+      "openid-0.5.9" = self.by-version."openid"."0.5.9";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "node-swt-0.1.1" = self.by-version."node-swt"."0.1.1";
+      "node-wsfederation-0.1.1" = self.by-version."node-wsfederation"."0.1.1";
+      "debug-0.5.0" = self.by-version."debug"."0.5.0";
+      "express-3.17.1" = self.by-version."express"."3.17.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "everyauth" ];
@@ -5635,7 +5893,8 @@
   by-spec."exit"."0.1.2" =
     self.by-version."exit"."0.1.2";
   by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-exit-0.1.2";
+    name = "exit-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
@@ -5645,8 +5904,8 @@
     ];
     buildInputs =
       (self.nativeDeps."exit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "exit" ];
@@ -5656,51 +5915,55 @@
   by-spec."exit"."~0.1.1" =
     self.by-version."exit"."0.1.2";
   by-spec."express"."*" =
-    self.by-version."express"."4.8.5";
-  by-version."express"."4.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.8.5";
+    self.by-version."express"."4.9.0";
+  by-version."express"."4.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "express-4.9.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.8.5.tgz";
-        name = "express-4.8.5.tgz";
-        sha1 = "59cf7666c29bf7cb8545a1acd43dd81a52cb26d9";
+        url = "http://registry.npmjs.org/express/-/express-4.9.0.tgz";
+        name = "express-4.9.0.tgz";
+        sha1 = "9b2ea4ebce57c7ac710604c74f6c303ab344a7f3";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."path-to-regexp"."0.1.3"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."qs"."1.2.2"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "serve-static-1.6.1" = self.by-version."serve-static"."1.6.1";
+      "type-is-1.5.1" = self.by-version."type-is"."1.5.1";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  "express" = self.by-version."express"."4.8.5";
+  "express" = self.by-version."express"."4.9.0";
   by-spec."express"."2.5.11" =
     self.by-version."express"."2.5.11";
   by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
     name = "express-2.5.11";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
@@ -5710,12 +5973,12 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."1.9.2"
-      self.by-version."mime"."1.2.4"
-      self.by-version."qs"."0.4.2"
-      self.by-version."mkdirp"."0.3.0"
-    ];
+    deps = {
+      "connect-1.9.2" = self.by-version."connect"."1.9.2";
+      "mime-1.2.4" = self.by-version."mime"."1.2.4";
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5724,6 +5987,7 @@
     self.by-version."express"."3.2.0";
   by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
@@ -5733,19 +5997,19 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.7.6"
-      self.by-version."commander"."0.6.1"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."methods"."0.0.1"
-      self.by-version."send"."0.1.0"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "connect-2.7.6" = self.by-version."connect"."2.7.6";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5754,6 +6018,7 @@
     self.by-version."express"."3.4.4";
   by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.4.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
@@ -5763,67 +6028,69 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.11.0"
-      self.by-version."commander"."1.3.2"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."methods"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "connect-2.11.0" = self.by-version."connect"."2.11.0";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
   by-spec."express"."3.x" =
-    self.by-version."express"."3.16.7";
-  by-version."express"."3.16.7" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.16.7";
+    self.by-version."express"."3.17.1";
+  by-version."express"."3.17.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.17.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.16.7.tgz";
-        name = "express-3.16.7.tgz";
-        sha1 = "788aab5d66e85060211d6fea08eb2986f2f2631c";
+        url = "http://registry.npmjs.org/express/-/express-3.17.1.tgz";
+        name = "express-3.17.1.tgz";
+        sha1 = "82b357f0bc78733b1ac1070224f89a37dea76a74";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."commander"."1.3.2"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-    ];
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "connect-2.26.0" = self.by-version."connect"."2.26.0";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
   by-spec."express".">=3.0.0" =
-    self.by-version."express"."4.8.5";
+    self.by-version."express"."4.9.0";
   by-spec."express"."~3.1.1" =
     self.by-version."express"."3.1.2";
   by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.1.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
@@ -5833,19 +6100,19 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.7.5"
-      self.by-version."commander"."0.6.1"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."methods"."0.0.1"
-      self.by-version."send"."0.1.0"
-      self.by-version."cookie-signature"."1.0.0"
-      self.by-version."debug"."1.0.4"
-    ];
+    deps = {
+      "connect-2.7.5" = self.by-version."connect"."2.7.5";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5853,7 +6120,8 @@
   by-spec."express"."~4.0" =
     self.by-version."express"."4.0.0";
   by-version."express"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.0.0";
+    name = "express-4.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz";
@@ -5863,63 +6131,67 @@
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."accepts"."1.0.0"
-      self.by-version."type-is"."1.0.0"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."methods"."0.1.0"
-      self.by-version."send"."0.2.0"
-      self.by-version."cookie-signature"."1.0.3"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."qs"."0.6.6"
-      self.by-version."serve-static"."1.0.1"
-      self.by-version."path-to-regexp"."0.1.2"
-      self.by-version."debug"."0.8.1"
-    ];
+    deps = {
+      "parseurl-1.0.1" = self.by-version."parseurl"."1.0.1";
+      "accepts-1.0.0" = self.by-version."accepts"."1.0.0";
+      "type-is-1.0.0" = self.by-version."type-is"."1.0.0";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.2.0" = self.by-version."send"."0.2.0";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "serve-static-1.0.1" = self.by-version."serve-static"."1.0.1";
+      "path-to-regexp-0.1.2" = self.by-version."path-to-regexp"."0.1.2";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  by-spec."express"."~4.4.5" =
-    self.by-version."express"."4.4.5";
-  by-version."express"."4.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.4.5";
+  by-spec."express"."~4.8.5" =
+    self.by-version."express"."4.8.8";
+  by-version."express"."4.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "express-4.8.8";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.4.5.tgz";
-        name = "express-4.4.5.tgz";
-        sha1 = "5f2f302f277187abd721c3a36e44d86c5e3f03eb";
+        url = "http://registry.npmjs.org/express/-/express-4.8.8.tgz";
+        name = "express-4.8.8.tgz";
+        sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."methods"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.4.3"
-      self.by-version."serve-static"."1.2.3"
-      self.by-version."type-is"."1.2.1"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."path-to-regexp"."0.1.2"
-    ];
+    deps = {
+      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "finalhandler-0.1.0" = self.by-version."finalhandler"."0.1.0";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "qs-2.2.2" = self.by-version."qs"."2.2.2";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "send-0.8.5" = self.by-version."send"."0.8.5";
+      "serve-static-1.5.4" = self.by-version."serve-static"."1.5.4";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+      "vary-0.1.0" = self.by-version."vary"."0.1.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
@@ -5927,7 +6199,8 @@
   by-spec."express-form"."*" =
     self.by-version."express-form"."0.12.3";
   by-version."express-form"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-form-0.12.3";
+    name = "express-form-0.12.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express-form/-/express-form-0.12.3.tgz";
@@ -5937,13 +6210,13 @@
     ];
     buildInputs =
       (self.nativeDeps."express-form" or []);
-    deps = [
-      self.by-version."validator"."0.4.28"
-      self.by-version."object-additions"."0.5.1"
-      self.by-version."async"."0.7.0"
-    ];
+    deps = {
+      "validator-0.4.28" = self.by-version."validator"."0.4.28";
+      "object-additions-0.5.1" = self.by-version."object-additions"."0.5.1";
+      "async-0.7.0" = self.by-version."async"."0.7.0";
+    };
     peerDependencies = [
-      self.by-version."express"."4.8.5"
+      self.by-version."express"."4.9.0"
     ];
     passthru.names = [ "express-form" ];
   };
@@ -5951,7 +6224,8 @@
   by-spec."express-partials"."0.0.6" =
     self.by-version."express-partials"."0.0.6";
   by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-partials-0.0.6";
+    name = "express-partials-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
@@ -5961,63 +6235,66 @@
     ];
     buildInputs =
       (self.nativeDeps."express-partials" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-partials" ];
   };
-  by-spec."express-session"."~1.6.1" =
-    self.by-version."express-session"."1.6.5";
-  by-version."express-session"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.6.5";
+  by-spec."express-session"."~1.7.6" =
+    self.by-version."express-session"."1.7.6";
+  by-version."express-session"."1.7.6" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.7.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.6.5.tgz";
-        name = "express-session-1.6.5.tgz";
-        sha1 = "c4ca7740025fe4561f88041157931071f91e957b";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
+        name = "express-session-1.7.6.tgz";
+        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
       })
     ];
     buildInputs =
       (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."on-headers"."0.0.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-session" ];
   };
-  by-spec."express-session"."~1.7.6" =
-    self.by-version."express-session"."1.7.6";
-  by-version."express-session"."1.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.7.6";
+  by-spec."express-session"."~1.8.1" =
+    self.by-version."express-session"."1.8.1";
+  by-version."express-session"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
-        name = "express-session-1.7.6.tgz";
-        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.8.1.tgz";
+        name = "express-session-1.8.1.tgz";
+        sha1 = "04c1fa87c5e369ed737be6ae834a3b1773c5f01b";
       })
     ];
     buildInputs =
       (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "express-session" ];
@@ -6025,7 +6302,8 @@
   by-spec."extend"."*" =
     self.by-version."extend"."1.3.0";
   by-version."extend"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.3.0";
+    name = "extend-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
@@ -6035,8 +6313,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
@@ -6045,7 +6323,8 @@
   by-spec."extend"."~1.2.1" =
     self.by-version."extend"."1.2.1";
   by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.2.1";
+    name = "extend-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
@@ -6055,16 +6334,19 @@
     ];
     buildInputs =
       (self.nativeDeps."extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
   };
+  by-spec."extend"."~1.3.0" =
+    self.by-version."extend"."1.3.0";
   by-spec."extract-opts"."~2.2.0" =
     self.by-version."extract-opts"."2.2.0";
   by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extract-opts-2.2.0";
+    name = "extract-opts-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
@@ -6074,9 +6356,9 @@
     ];
     buildInputs =
       (self.nativeDeps."extract-opts" or []);
-    deps = [
-      self.by-version."typechecker"."2.0.8"
-    ];
+    deps = {
+      "typechecker-2.0.8" = self.by-version."typechecker"."2.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extract-opts" ];
@@ -6084,7 +6366,8 @@
   by-spec."extsprintf"."1.0.0" =
     self.by-version."extsprintf"."1.0.0";
   by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.0";
+    name = "extsprintf-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
@@ -6094,8 +6377,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
@@ -6103,7 +6386,8 @@
   by-spec."extsprintf"."1.0.2" =
     self.by-version."extsprintf"."1.0.2";
   by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.2";
+    name = "extsprintf-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
@@ -6113,8 +6397,8 @@
     ];
     buildInputs =
       (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
@@ -6122,7 +6406,8 @@
   by-spec."eyes"."0.1.x" =
     self.by-version."eyes"."0.1.8";
   by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eyes-0.1.8";
+    name = "eyes-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
@@ -6132,8 +6417,8 @@
     ];
     buildInputs =
       (self.nativeDeps."eyes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "eyes" ];
@@ -6143,7 +6428,8 @@
   by-spec."faye-websocket"."*" =
     self.by-version."faye-websocket"."0.7.2";
   by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-faye-websocket-0.7.2";
+    name = "faye-websocket-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.2.tgz";
@@ -6153,9 +6439,9 @@
     ];
     buildInputs =
       (self.nativeDeps."faye-websocket" or []);
-    deps = [
-      self.by-version."websocket-driver"."0.3.5"
-    ];
+    deps = {
+      "websocket-driver-0.3.5" = self.by-version."websocket-driver"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
@@ -6164,23 +6450,24 @@
   by-spec."faye-websocket"."0.7.2" =
     self.by-version."faye-websocket"."0.7.2";
   by-spec."fields"."~0.1.11" =
-    self.by-version."fields"."0.1.12";
-  by-version."fields"."0.1.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fields-0.1.12";
+    self.by-version."fields"."0.1.13";
+  by-version."fields"."0.1.13" = lib.makeOverridable self.buildNodePackage {
+    name = "fields-0.1.13";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fields/-/fields-0.1.12.tgz";
-        name = "fields-0.1.12.tgz";
-        sha1 = "ded2dfe1e0aad3576aed554bfb8f65a7e7404bc1";
+        url = "http://registry.npmjs.org/fields/-/fields-0.1.13.tgz";
+        name = "fields-0.1.13.tgz";
+        sha1 = "59feff36b6b737c67a9ecc4de1b16d24ed4465a5";
       })
     ];
     buildInputs =
       (self.nativeDeps."fields" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."keypress"."0.1.0"
-      self.by-version."sprintf"."0.1.4"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fields" ];
@@ -6188,7 +6475,8 @@
   by-spec."figures"."^1.0.1" =
     self.by-version."figures"."1.3.2";
   by-version."figures"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-figures-1.3.2";
+    name = "figures-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/figures/-/figures-1.3.2.tgz";
@@ -6198,42 +6486,17 @@
     ];
     buildInputs =
       (self.nativeDeps."figures" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "figures" ];
   };
-  by-spec."file-utils"."~0.2.0" =
-    self.by-version."file-utils"."0.2.0";
-  by-version."file-utils"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-file-utils-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/file-utils/-/file-utils-0.2.0.tgz";
-        name = "file-utils-0.2.0.tgz";
-        sha1 = "0372c89b19bd96fc9a02a180c91fad29e4dbacaa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."file-utils" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."iconv-lite"."0.2.11"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."isbinaryfile"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "file-utils" ];
-  };
   by-spec."fileset"."0.1.x" =
     self.by-version."fileset"."0.1.5";
   by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fileset-0.1.5";
+    name = "fileset-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
@@ -6243,10 +6506,10 @@
     ];
     buildInputs =
       (self.nativeDeps."fileset" or []);
-    deps = [
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."glob"."3.2.11"
-    ];
+    deps = {
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fileset" ];
@@ -6254,7 +6517,8 @@
   by-spec."finalhandler"."0.1.0" =
     self.by-version."finalhandler"."0.1.0";
   by-version."finalhandler"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finalhandler-0.1.0";
+    name = "finalhandler-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
@@ -6264,10 +6528,32 @@
     ];
     buildInputs =
       (self.nativeDeps."finalhandler" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."escape-html"."1.0.1"
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "finalhandler" ];
+  };
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "finalhandler-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+        name = "finalhandler-0.2.0.tgz";
+        sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."finalhandler" or []);
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "finalhandler" ];
@@ -6275,7 +6561,8 @@
   by-spec."findit".">=1.1.0 <2.0.0" =
     self.by-version."findit"."1.2.0";
   by-version."findit"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findit-1.2.0";
+    name = "findit-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
@@ -6285,8 +6572,8 @@
     ];
     buildInputs =
       (self.nativeDeps."findit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "findit" ];
@@ -6294,7 +6581,8 @@
   by-spec."findup-sync"."~0.1.0" =
     self.by-version."findup-sync"."0.1.3";
   by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findup-sync-0.1.3";
+    name = "findup-sync-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
@@ -6304,53 +6592,32 @@
     ];
     buildInputs =
       (self.nativeDeps."findup-sync" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "findup-sync" ];
   };
   by-spec."findup-sync"."~0.1.2" =
     self.by-version."findup-sync"."0.1.3";
-  by-spec."finished"."1.2.2" =
-    self.by-version."finished"."1.2.2";
-  by-version."finished"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finished-1.2.2";
+  by-spec."first-chunk-stream"."^1.0.0" =
+    self.by-version."first-chunk-stream"."1.0.0";
+  by-version."first-chunk-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "first-chunk-stream-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/finished/-/finished-1.2.2.tgz";
-        name = "finished-1.2.2.tgz";
-        sha1 = "41608eafadfd65683b46a1220bc4b1ec3daedcd8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "finished" ];
-  };
-  by-spec."finished"."~1.2.0" =
-    self.by-version."finished"."1.2.2";
-  by-spec."first-chunk-stream"."^0.1.0" =
-    self.by-version."first-chunk-stream"."0.1.0";
-  by-version."first-chunk-stream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-first-chunk-stream-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-0.1.0.tgz";
-        name = "first-chunk-stream-0.1.0.tgz";
-        sha1 = "755d3ec14d49a86e3d2fcc08beead5c0ca2b9c0a";
+        url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
+        name = "first-chunk-stream-1.0.0.tgz";
+        sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
       })
     ];
     buildInputs =
       (self.nativeDeps."first-chunk-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "first-chunk-stream" ];
@@ -6359,6 +6626,7 @@
     self.by-version."flatiron"."0.3.11";
   by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.11";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.11.tgz";
@@ -6368,12 +6636,12 @@
     ];
     buildInputs =
       (self.nativeDeps."flatiron" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."optimist"."0.6.0"
-      self.by-version."prompt"."0.2.11"
-      self.by-version."director"."1.1.10"
-    ];
+    deps = {
+      "broadway-0.2.9" = self.by-version."broadway"."0.2.9";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+      "prompt-0.2.11" = self.by-version."prompt"."0.2.11";
+      "director-1.1.10" = self.by-version."director"."1.1.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
@@ -6384,7 +6652,8 @@
   by-spec."follow-redirects"."0.0.3" =
     self.by-version."follow-redirects"."0.0.3";
   by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-follow-redirects-0.0.3";
+    name = "follow-redirects-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
@@ -6394,9 +6663,9 @@
     ];
     buildInputs =
       (self.nativeDeps."follow-redirects" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "follow-redirects" ];
@@ -6404,7 +6673,8 @@
   by-spec."forEachAsync"."~2.2" =
     self.by-version."forEachAsync"."2.2.1";
   by-version."forEachAsync"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forEachAsync-2.2.1";
+    name = "forEachAsync-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz";
@@ -6414,9 +6684,9 @@
     ];
     buildInputs =
       (self.nativeDeps."forEachAsync" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-    ];
+    deps = {
+      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forEachAsync" ];
@@ -6424,7 +6694,8 @@
   by-spec."foreachasync"."3.x" =
     self.by-version."foreachasync"."3.0.0";
   by-version."foreachasync"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-foreachasync-3.0.0";
+    name = "foreachasync-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
@@ -6434,8 +6705,8 @@
     ];
     buildInputs =
       (self.nativeDeps."foreachasync" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "foreachasync" ];
@@ -6444,6 +6715,7 @@
     self.by-version."forever"."0.11.1";
   by-version."forever"."0.11.1" = lib.makeOverridable self.buildNodePackage {
     name = "forever-0.11.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever/-/forever-0.11.1.tgz";
@@ -6453,20 +6725,20 @@
     ];
     buildInputs =
       (self.nativeDeps."forever" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."cliff"."0.1.8"
-      self.by-version."flatiron"."0.3.11"
-      self.by-version."forever-monitor"."1.2.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."nssocket"."0.5.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."timespan"."2.3.0"
-      self.by-version."watch"."0.8.0"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.7.3"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "flatiron-0.3.11" = self.by-version."flatiron"."0.3.11";
+      "forever-monitor-1.2.3" = self.by-version."forever-monitor"."1.2.3";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "nssocket-0.5.1" = self.by-version."nssocket"."0.5.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "timespan-2.3.0" = self.by-version."timespan"."2.3.0";
+      "watch-0.8.0" = self.by-version."watch"."0.8.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever" ];
@@ -6475,7 +6747,8 @@
   by-spec."forever-agent"."~0.2.0" =
     self.by-version."forever-agent"."0.2.0";
   by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-agent-0.2.0";
+    name = "forever-agent-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
@@ -6485,8 +6758,8 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
@@ -6494,7 +6767,8 @@
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
   by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-agent-0.5.2";
+    name = "forever-agent-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
@@ -6504,8 +6778,8 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
@@ -6513,7 +6787,8 @@
   by-spec."forever-monitor"."*" =
     self.by-version."forever-monitor"."1.3.0";
   by-version."forever-monitor"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.3.0";
+    name = "forever-monitor-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.3.0.tgz";
@@ -6523,14 +6798,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6539,7 +6814,8 @@
   by-spec."forever-monitor"."1.1.0" =
     self.by-version."forever-monitor"."1.1.0";
   by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.1.0";
+    name = "forever-monitor-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
@@ -6549,14 +6825,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.0.5"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.0.5" = self.by-version."minimatch"."0.0.5";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6564,7 +6840,8 @@
   by-spec."forever-monitor"."1.2.3" =
     self.by-version."forever-monitor"."1.2.3";
   by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.2.3";
+    name = "forever-monitor-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
@@ -6574,14 +6851,14 @@
     ];
     buildInputs =
       (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
@@ -6589,7 +6866,8 @@
   by-spec."form-data"."0.1.2" =
     self.by-version."form-data"."0.1.2";
   by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.2";
+    name = "form-data-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
@@ -6599,11 +6877,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6611,7 +6889,8 @@
   by-spec."form-data"."0.1.3" =
     self.by-version."form-data"."0.1.3";
   by-version."form-data"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.3";
+    name = "form-data-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
@@ -6621,11 +6900,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6633,7 +6912,8 @@
   by-spec."form-data"."~0.0.3" =
     self.by-version."form-data"."0.0.10";
   by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.0.10";
+    name = "form-data-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
@@ -6643,11 +6923,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6655,7 +6935,8 @@
   by-spec."form-data"."~0.1.0" =
     self.by-version."form-data"."0.1.4";
   by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.4";
+    name = "form-data-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
@@ -6665,11 +6946,11 @@
     ];
     buildInputs =
       (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
@@ -6677,7 +6958,8 @@
   by-spec."formatio"."~1.0" =
     self.by-version."formatio"."1.0.2";
   by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formatio-1.0.2";
+    name = "formatio-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
@@ -6687,9 +6969,9 @@
     ];
     buildInputs =
       (self.nativeDeps."formatio" or []);
-    deps = [
-      self.by-version."samsam"."1.1.1"
-    ];
+    deps = {
+      "samsam-1.1.1" = self.by-version."samsam"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formatio" ];
@@ -6697,7 +6979,8 @@
   by-spec."formidable"."1.0.11" =
     self.by-version."formidable"."1.0.11";
   by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.11";
+    name = "formidable-1.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
@@ -6707,8 +6990,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6716,7 +6999,8 @@
   by-spec."formidable"."1.0.13" =
     self.by-version."formidable"."1.0.13";
   by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.13";
+    name = "formidable-1.0.13";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
@@ -6726,8 +7010,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6735,7 +7019,8 @@
   by-spec."formidable"."1.0.14" =
     self.by-version."formidable"."1.0.14";
   by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.14";
+    name = "formidable-1.0.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
@@ -6745,8 +7030,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6754,7 +7039,8 @@
   by-spec."formidable"."1.0.9" =
     self.by-version."formidable"."1.0.9";
   by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.9";
+    name = "formidable-1.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
@@ -6764,8 +7050,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6773,7 +7059,8 @@
   by-spec."formidable"."1.0.x" =
     self.by-version."formidable"."1.0.15";
   by-version."formidable"."1.0.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.15";
+    name = "formidable-1.0.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/formidable/-/formidable-1.0.15.tgz";
@@ -6783,8 +7070,8 @@
     ];
     buildInputs =
       (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
@@ -6792,7 +7079,8 @@
   by-spec."fresh"."0.1.0" =
     self.by-version."fresh"."0.1.0";
   by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.1.0";
+    name = "fresh-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
@@ -6802,8 +7090,8 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
@@ -6811,7 +7099,8 @@
   by-spec."fresh"."0.2.0" =
     self.by-version."fresh"."0.2.0";
   by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.0";
+    name = "fresh-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
@@ -6821,8 +7110,8 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
@@ -6830,7 +7119,8 @@
   by-spec."fresh"."0.2.2" =
     self.by-version."fresh"."0.2.2";
   by-version."fresh"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.2";
+    name = "fresh-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
@@ -6840,18 +7130,39 @@
     ];
     buildInputs =
       (self.nativeDeps."fresh" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "fresh-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+        name = "fresh-0.2.4.tgz";
+        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
   by-spec."fresh"."~0.2.1" =
-    self.by-version."fresh"."0.2.2";
+    self.by-version."fresh"."0.2.4";
   by-spec."fs-extra"."~0.6.1" =
     self.by-version."fs-extra"."0.6.4";
   by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-extra-0.6.4";
+    name = "fs-extra-0.6.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
@@ -6861,12 +7172,12 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-extra" or []);
-    deps = [
-      self.by-version."ncp"."0.4.2"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."jsonfile"."1.0.1"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "jsonfile-1.0.1" = self.by-version."jsonfile"."1.0.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-extra" ];
@@ -6874,7 +7185,8 @@
   by-spec."fs-vacuum"."~1.2.1" =
     self.by-version."fs-vacuum"."1.2.1";
   by-version."fs-vacuum"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-vacuum-1.2.1";
+    name = "fs-vacuum-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.1.tgz";
@@ -6884,10 +7196,10 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-vacuum" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-vacuum" ];
@@ -6895,7 +7207,8 @@
   by-spec."fs-walk"."*" =
     self.by-version."fs-walk"."0.0.1";
   by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-walk-0.0.1";
+    name = "fs-walk-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
@@ -6905,9 +7218,9 @@
     ];
     buildInputs =
       (self.nativeDeps."fs-walk" or []);
-    deps = [
-      self.by-version."async"."0.9.0"
-    ];
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs-walk" ];
@@ -6916,7 +7229,8 @@
   by-spec."fs.extra".">=1.2.0 <2.0.0" =
     self.by-version."fs.extra"."1.2.1";
   by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs.extra-1.2.1";
+    name = "fs.extra-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
@@ -6926,11 +7240,11 @@
     ];
     buildInputs =
       (self.nativeDeps."fs.extra" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."fs-extra"."0.6.4"
-      self.by-version."walk"."2.2.1"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "fs-extra-0.6.4" = self.by-version."fs-extra"."0.6.4";
+      "walk-2.2.1" = self.by-version."walk"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fs.extra" ];
@@ -6938,7 +7252,8 @@
   by-spec."fsevents"."pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138" =
     self.by-version."fsevents"."0.2.1";
   by-version."fsevents"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fsevents-0.2.1";
+    name = "fsevents-0.2.1";
+    bin = false;
     src = [
       (fetchgit {
         url = "git://github.com/pipobscure/fsevents.git";
@@ -6948,71 +7263,70 @@
     ];
     buildInputs =
       (self.nativeDeps."fsevents" or []);
-    deps = [
-      self.by-version."nan"."0.8.0"
-    ];
+    deps = {
+      "nan-0.8.0" = self.by-version."nan"."0.8.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fsevents" ];
   };
-  by-spec."fstream"."0" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.31";
+  by-spec."fstream"."^1.0.0" =
+    self.by-version."fstream"."1.0.2";
+  by-version."fstream"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+        url = "http://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz";
+        name = "fstream-1.0.2.tgz";
+        sha1 = "56930ff1b4d4d7b1a689c8656b3a11e744ab92c6";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  by-spec."fstream"."^1.0.0" =
+  by-spec."fstream"."^1.0.2" =
     self.by-version."fstream"."1.0.2";
-  by-version."fstream"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-1.0.2";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-0.1.31";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz";
-        name = "fstream-1.0.2.tgz";
-        sha1 = "56930ff1b4d4d7b1a689c8656b3a11e744ab92c6";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  by-spec."fstream"."^1.0.2" =
+  by-spec."fstream"."~1.0.2" =
     self.by-version."fstream"."1.0.2";
-  by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.31";
-  by-spec."fstream"."~0.1.29" =
-    self.by-version."fstream"."0.1.31";
-  by-spec."fstream"."~0.1.8" =
-    self.by-version."fstream"."0.1.31";
   by-spec."fstream-ignore"."^1.0.0" =
     self.by-version."fstream-ignore"."1.0.1";
   by-version."fstream-ignore"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-ignore-1.0.1";
+    name = "fstream-ignore-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.1.tgz";
@@ -7022,32 +7336,33 @@
     ];
     buildInputs =
       (self.nativeDeps."fstream-ignore" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-    ];
+    deps = {
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream-ignore" ];
   };
-  by-spec."fstream-npm"."~0.1.7" =
-    self.by-version."fstream-npm"."0.1.8";
-  by-version."fstream-npm"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-npm-0.1.8";
+  by-spec."fstream-npm"."~1.0.0" =
+    self.by-version."fstream-npm"."1.0.0";
+  by-version."fstream-npm"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-npm-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.8.tgz";
-        name = "fstream-npm-0.1.8.tgz";
-        sha1 = "38a70fdeb510a443e1a5378d90413403fc724fa8";
+        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.0.tgz";
+        name = "fstream-npm-1.0.0.tgz";
+        sha1 = "0262c95c771d393e7cf59fcfeabce621703f3d27";
       })
     ];
     buildInputs =
       (self.nativeDeps."fstream-npm" or []);
-    deps = [
-      self.by-version."fstream-ignore"."1.0.1"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "fstream-ignore-1.0.1" = self.by-version."fstream-ignore"."1.0.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "fstream-npm" ];
@@ -7055,7 +7370,8 @@
   by-spec."gaze"."^0.5.1" =
     self.by-version."gaze"."0.5.1";
   by-version."gaze"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gaze-0.5.1";
+    name = "gaze-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
@@ -7065,9 +7381,9 @@
     ];
     buildInputs =
       (self.nativeDeps."gaze" or []);
-    deps = [
-      self.by-version."globule"."0.1.0"
-    ];
+    deps = {
+      "globule-0.1.0" = self.by-version."globule"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gaze" ];
@@ -7076,6 +7392,7 @@
     self.by-version."getmac"."1.0.6";
   by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "getmac-1.0.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
@@ -7085,9 +7402,9 @@
     ];
     buildInputs =
       (self.nativeDeps."getmac" or []);
-    deps = [
-      self.by-version."extract-opts"."2.2.0"
-    ];
+    deps = {
+      "extract-opts-2.2.0" = self.by-version."extract-opts"."2.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "getmac" ];
@@ -7095,7 +7412,8 @@
   by-spec."getobject"."~0.1.0" =
     self.by-version."getobject"."0.1.0";
   by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-getobject-0.1.0";
+    name = "getobject-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
@@ -7105,115 +7423,86 @@
     ];
     buildInputs =
       (self.nativeDeps."getobject" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "getobject" ];
   };
-  by-spec."github-url-from-git"."^1.3.0" =
-    self.by-version."github-url-from-git"."1.3.0";
-  by-version."github-url-from-git"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.3.0";
+  by-spec."git-run"."*" =
+    self.by-version."git-run"."0.2.0";
+  by-version."git-run"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "git-run-0.2.0";
+    bin = true;
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.3.0.tgz";
-        name = "github-url-from-git-1.3.0.tgz";
-        sha1 = "6e79d9779632ca78aa645c67bb419f70e51d69f7";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/git-run/-/git-run-0.2.0.tgz";
+        name = "git-run-0.2.0.tgz";
+        sha1 = "9aa3b203edbb7fcfbc06604c43454d47627d8ac0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
+      (self.nativeDeps."git-run" or []);
+    deps = {
+      "minilog-2.0.6" = self.by-version."minilog"."2.0.6";
+      "tabtab-0.0.2" = self.by-version."tabtab"."0.0.2";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "git-run" ];
   };
-  by-spec."github-url-from-git"."~1.1.1" =
-    self.by-version."github-url-from-git"."1.1.1";
-  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        name = "github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-git" ];
-  };
-  by-spec."github-url-from-git"."~1.2.0" =
-    self.by-version."github-url-from-git"."1.2.0";
-  by-version."github-url-from-git"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.2.0";
+  "git-run" = self.by-version."git-run"."0.2.0";
+  by-spec."github-url-from-git"."^1.3.0" =
+    self.by-version."github-url-from-git"."1.4.0";
+  by-version."github-url-from-git"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-git-1.4.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.2.0.tgz";
-        name = "github-url-from-git-1.2.0.tgz";
-        sha1 = "7ace1fc6920f790d2967faed61688902320c37d2";
+        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz";
+        name = "github-url-from-git-1.4.0.tgz";
+        sha1 = "285e6b520819001bde128674704379e4ff03e0de";
       })
     ];
     buildInputs =
       (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-git" ];
   };
-  by-spec."github-url-from-username-repo"."^0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-version."github-url-from-username-repo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-username-repo-0.2.0";
+  by-spec."github-url-from-git"."~1.4.0" =
+    self.by-version."github-url-from-git"."1.4.0";
+  by-spec."github-url-from-username-repo"."^1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-version."github-url-from-username-repo"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-username-repo-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.2.0.tgz";
-        name = "github-url-from-username-repo-0.2.0.tgz";
-        sha1 = "7590b4fa605b7a6cbb7e06ffcd9d253210f9dbe1";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz";
+        name = "github-url-from-username-repo-1.0.2.tgz";
+        sha1 = "7dd79330d2abe69c10c2cef79714c97215791dfa";
       })
     ];
     buildInputs =
       (self.nativeDeps."github-url-from-username-repo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-username-repo" ];
   };
-  by-spec."github-url-from-username-repo"."~0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-spec."glob"."3" =
-    self.by-version."glob"."3.2.11";
-  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
-        name = "glob-3.2.11.tgz";
-        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
+  by-spec."github-url-from-username-repo"."~1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-spec."github-url-from-username-repo"."~1.0.2" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
   by-spec."glob"."3 || 4" =
     self.by-version."glob"."4.0.5";
   by-version."glob"."4.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-4.0.5";
+    name = "glob-4.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-4.0.5.tgz";
@@ -7223,12 +7512,12 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."once"."1.3.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
@@ -7236,7 +7525,8 @@
   by-spec."glob"."3.2.3" =
     self.by-version."glob"."3.2.3";
   by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.3";
+    name = "glob-3.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
@@ -7246,17 +7536,37 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
   by-spec."glob"."3.2.x" =
     self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+        name = "glob-3.2.11.tgz";
+        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."glob" or []);
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "glob" ];
+  };
   by-spec."glob"."3.x" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."4.x" =
@@ -7272,7 +7582,8 @@
   by-spec."glob"."~3.1.21" =
     self.by-version."glob"."3.1.21";
   by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.1.21";
+    name = "glob-3.1.21";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
@@ -7282,11 +7593,11 @@
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."1.2.3"
-      self.by-version."inherits"."1.0.0"
-    ];
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
@@ -7299,12 +7610,13 @@
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.2.9" =
     self.by-version."glob"."3.2.11";
-  by-spec."glob"."~4.0.3" =
+  by-spec."glob"."~4.0.5" =
     self.by-version."glob"."4.0.5";
   by-spec."glob-stream"."^3.1.5" =
     self.by-version."glob-stream"."3.1.15";
   by-version."glob-stream"."3.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-stream-3.1.15";
+    name = "glob-stream-3.1.15";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob-stream/-/glob-stream-3.1.15.tgz";
@@ -7314,14 +7626,14 @@
     ];
     buildInputs =
       (self.nativeDeps."glob-stream" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."ordered-read-streams"."0.0.8"
-      self.by-version."glob2base"."0.0.11"
-      self.by-version."unique-stream"."1.0.0"
-      self.by-version."through2"."0.6.1"
-    ];
+    deps = {
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "ordered-read-streams-0.0.8" = self.by-version."ordered-read-streams"."0.0.8";
+      "glob2base-0.0.11" = self.by-version."glob2base"."0.0.11";
+      "unique-stream-1.0.0" = self.by-version."unique-stream"."1.0.0";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob-stream" ];
@@ -7329,7 +7641,8 @@
   by-spec."glob-watcher"."^0.0.6" =
     self.by-version."glob-watcher"."0.0.6";
   by-version."glob-watcher"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-watcher-0.0.6";
+    name = "glob-watcher-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
@@ -7339,9 +7652,9 @@
     ];
     buildInputs =
       (self.nativeDeps."glob-watcher" or []);
-    deps = [
-      self.by-version."gaze"."0.5.1"
-    ];
+    deps = {
+      "gaze-0.5.1" = self.by-version."gaze"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob-watcher" ];
@@ -7349,7 +7662,8 @@
   by-spec."glob2base"."^0.0.11" =
     self.by-version."glob2base"."0.0.11";
   by-version."glob2base"."0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob2base-0.0.11";
+    name = "glob2base-0.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/glob2base/-/glob2base-0.0.11.tgz";
@@ -7359,9 +7673,9 @@
     ];
     buildInputs =
       (self.nativeDeps."glob2base" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "glob2base" ];
@@ -7369,7 +7683,8 @@
   by-spec."globule"."~0.1.0" =
     self.by-version."globule"."0.1.0";
   by-version."globule"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-globule-0.1.0";
+    name = "globule-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
@@ -7379,38 +7694,20 @@
     ];
     buildInputs =
       (self.nativeDeps."globule" or []);
-    deps = [
-      self.by-version."lodash"."1.0.1"
-      self.by-version."glob"."3.1.21"
-      self.by-version."minimatch"."0.2.14"
-    ];
+    deps = {
+      "lodash-1.0.1" = self.by-version."lodash"."1.0.1";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "globule" ];
   };
-  by-spec."graceful-fs"."2" =
-    self.by-version."graceful-fs"."2.0.3";
-  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-2.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-        name = "graceful-fs-2.0.3.tgz";
-        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
   by-spec."graceful-fs"."2 || 3" =
     self.by-version."graceful-fs"."3.0.2";
   by-version."graceful-fs"."3.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-3.0.2";
+    name = "graceful-fs-3.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
@@ -7420,14 +7717,16 @@
     ];
     buildInputs =
       (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
   by-spec."graceful-fs"."3" =
     self.by-version."graceful-fs"."3.0.2";
+  by-spec."graceful-fs".">3.0.1 <4.0.0-0" =
+    self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."^3.0.0" =
     self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."^3.0.2" =
@@ -7435,7 +7734,8 @@
   by-spec."graceful-fs"."~1" =
     self.by-version."graceful-fs"."1.2.3";
   by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-1.2.3";
+    name = "graceful-fs-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
@@ -7445,8 +7745,8 @@
     ];
     buildInputs =
       (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
@@ -7455,10 +7755,26 @@
     self.by-version."graceful-fs"."1.2.3";
   by-spec."graceful-fs"."~2.0.0" =
     self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+        name = "graceful-fs-2.0.3.tgz";
+        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
   by-spec."graceful-fs"."~2.0.1" =
     self.by-version."graceful-fs"."2.0.3";
-  by-spec."graceful-fs"."~2.0.3" =
-    self.by-version."graceful-fs"."2.0.3";
   by-spec."graceful-fs"."~3.0.0" =
     self.by-version."graceful-fs"."3.0.2";
   by-spec."graceful-fs"."~3.0.1" =
@@ -7468,7 +7784,8 @@
   by-spec."gridfs-stream"."*" =
     self.by-version."gridfs-stream"."0.5.1";
   by-version."gridfs-stream"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gridfs-stream-0.5.1";
+    name = "gridfs-stream-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.5.1.tgz";
@@ -7478,8 +7795,8 @@
     ];
     buildInputs =
       (self.nativeDeps."gridfs-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gridfs-stream" ];
@@ -7488,7 +7805,8 @@
   by-spec."growl"."1.7.x" =
     self.by-version."growl"."1.7.0";
   by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.7.0";
+    name = "growl-1.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
@@ -7498,8 +7816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."growl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
@@ -7507,7 +7825,8 @@
   by-spec."growl"."1.8.x" =
     self.by-version."growl"."1.8.1";
   by-version."growl"."1.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.8.1";
+    name = "growl-1.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
@@ -7517,8 +7836,8 @@
     ];
     buildInputs =
       (self.nativeDeps."growl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
@@ -7526,7 +7845,8 @@
   by-spec."grunt"."0.4.x" =
     self.by-version."grunt"."0.4.5";
   by-version."grunt"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-0.4.5";
+    name = "grunt-0.4.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
@@ -7536,28 +7856,28 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."coffee-script"."1.3.3"
-      self.by-version."colors"."0.6.2"
-      self.by-version."dateformat"."1.0.2-1.2.3"
-      self.by-version."eventemitter2"."0.4.14"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."glob"."3.1.21"
-      self.by-version."hooker"."0.2.3"
-      self.by-version."iconv-lite"."0.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."nopt"."1.0.10"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."lodash"."0.9.2"
-      self.by-version."underscore.string"."2.2.1"
-      self.by-version."which"."1.0.5"
-      self.by-version."js-yaml"."2.0.5"
-      self.by-version."exit"."0.1.2"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."grunt-legacy-util"."0.2.0"
-      self.by-version."grunt-legacy-log"."0.1.1"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
+      "grunt-legacy-log-0.1.1" = self.by-version."grunt-legacy-log"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
@@ -7572,6 +7892,7 @@
     self.by-version."grunt-cli"."0.1.13";
   by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-cli-0.1.13";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz";
@@ -7581,11 +7902,11 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-cli" or []);
-    deps = [
-      self.by-version."nopt"."1.0.10"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."resolve"."0.3.1"
-    ];
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-cli" ];
@@ -7594,7 +7915,8 @@
   by-spec."grunt-contrib-cssmin"."*" =
     self.by-version."grunt-contrib-cssmin"."0.10.0";
   by-version."grunt-contrib-cssmin"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-cssmin-0.10.0";
+    name = "grunt-contrib-cssmin-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.10.0.tgz";
@@ -7604,11 +7926,11 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-cssmin" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."clean-css"."2.2.13"
-      self.by-version."maxmin"."0.2.2"
-    ];
+    deps = {
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+      "clean-css-2.2.15" = self.by-version."clean-css"."2.2.15";
+      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7618,7 +7940,8 @@
   by-spec."grunt-contrib-jshint"."*" =
     self.by-version."grunt-contrib-jshint"."0.10.0";
   by-version."grunt-contrib-jshint"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-jshint-0.10.0";
+    name = "grunt-contrib-jshint-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz";
@@ -7628,10 +7951,10 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-jshint" or []);
-    deps = [
-      self.by-version."jshint"."2.5.4"
-      self.by-version."hooker"."0.2.3"
-    ];
+    deps = {
+      "jshint-2.5.5" = self.by-version."jshint"."2.5.5";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7641,7 +7964,8 @@
   by-spec."grunt-contrib-less"."*" =
     self.by-version."grunt-contrib-less"."0.11.4";
   by-version."grunt-contrib-less"."0.11.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-less-0.11.4";
+    name = "grunt-contrib-less-0.11.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.4.tgz";
@@ -7651,13 +7975,13 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-less" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."chalk"."0.5.1"
-      self.by-version."less"."1.7.4"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.1.0"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "less-1.7.5" = self.by-version."less"."1.7.5";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "maxmin-0.1.0" = self.by-version."maxmin"."0.1.0";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7667,7 +7991,8 @@
   by-spec."grunt-contrib-requirejs"."*" =
     self.by-version."grunt-contrib-requirejs"."0.4.4";
   by-version."grunt-contrib-requirejs"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-requirejs-0.4.4";
+    name = "grunt-contrib-requirejs-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.4.tgz";
@@ -7677,9 +8002,9 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-requirejs" or []);
-    deps = [
-      self.by-version."requirejs"."2.1.14"
-    ];
+    deps = {
+      "requirejs-2.1.15" = self.by-version."requirejs"."2.1.15";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7689,7 +8014,8 @@
   by-spec."grunt-contrib-uglify"."*" =
     self.by-version."grunt-contrib-uglify"."0.5.1";
   by-version."grunt-contrib-uglify"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-uglify-0.5.1";
+    name = "grunt-contrib-uglify-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
@@ -7699,12 +8025,12 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-contrib-uglify" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.2.2"
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7712,32 +8038,34 @@
   };
   "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
   by-spec."grunt-karma"."*" =
-    self.by-version."grunt-karma"."0.8.3";
-  by-version."grunt-karma"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-karma-0.8.3";
+    self.by-version."grunt-karma"."0.9.0";
+  by-version."grunt-karma"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-karma-0.9.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz";
-        name = "grunt-karma-0.8.3.tgz";
-        sha1 = "e9ecf718153af1914aa53602a37f85de04310e7f";
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.9.0.tgz";
+        name = "grunt-karma-0.9.0.tgz";
+        sha1 = "de3d6ac478ffca350e729f3457457d5b0910e96b";
       })
     ];
     buildInputs =
       (self.nativeDeps."grunt-karma" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.by-version."grunt-karma"."0.8.3";
+  "grunt-karma" = self.by-version."grunt-karma"."0.9.0";
   by-spec."grunt-legacy-log"."~0.1.0" =
     self.by-version."grunt-legacy-log"."0.1.1";
   by-version."grunt-legacy-log"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-log-0.1.1";
+    name = "grunt-legacy-log-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz";
@@ -7747,12 +8075,12 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-legacy-log" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."colors"."0.6.2"
-    ];
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-legacy-log" ];
@@ -7760,7 +8088,8 @@
   by-spec."grunt-legacy-util"."~0.2.0" =
     self.by-version."grunt-legacy-util"."0.2.0";
   by-version."grunt-legacy-util"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-util-0.2.0";
+    name = "grunt-legacy-util-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
@@ -7770,15 +8099,15 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-legacy-util" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."async"."0.1.22"
-      self.by-version."lodash"."0.9.2"
-      self.by-version."exit"."0.1.2"
-      self.by-version."underscore.string"."2.2.1"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "grunt-legacy-util" ];
@@ -7786,7 +8115,8 @@
   by-spec."grunt-sed"."*" =
     self.by-version."grunt-sed"."0.1.1";
   by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-sed-0.1.1";
+    name = "grunt-sed-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
@@ -7796,9 +8126,9 @@
     ];
     buildInputs =
       (self.nativeDeps."grunt-sed" or []);
-    deps = [
-      self.by-version."replace"."0.2.9"
-    ];
+    deps = {
+      "replace-0.2.10" = self.by-version."replace"."0.2.10";
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
@@ -7809,6 +8139,7 @@
     self.by-version."guifi-earth"."0.2.1";
   by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "guifi-earth-0.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
@@ -7818,22 +8149,85 @@
     ];
     buildInputs =
       (self.nativeDeps."guifi-earth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."jade"."1.5.0"
-      self.by-version."q"."2.0.2"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."msgpack"."0.2.4"
-    ];
+    deps = {
+      "coffee-script-1.8.0" = self.by-version."coffee-script"."1.8.0";
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+      "q-2.0.2" = self.by-version."q"."2.0.2";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "msgpack-0.2.4" = self.by-version."msgpack"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "guifi-earth" ];
   };
   "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gulp"."*" =
+    self.by-version."gulp"."3.8.8";
+  by-version."gulp"."3.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "gulp-3.8.8";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/gulp/-/gulp-3.8.8.tgz";
+        name = "gulp-3.8.8.tgz";
+        sha1 = "0b0473e7cdfd04c785184513938397d4552cfe96";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."gulp" or []);
+    deps = {
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "deprecated-0.0.1" = self.by-version."deprecated"."0.0.1";
+      "gulp-util-3.0.1" = self.by-version."gulp-util"."3.0.1";
+      "interpret-0.3.6" = self.by-version."interpret"."0.3.6";
+      "liftoff-0.12.1" = self.by-version."liftoff"."0.12.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "orchestrator-0.3.7" = self.by-version."orchestrator"."0.3.7";
+      "pretty-hrtime-0.2.1" = self.by-version."pretty-hrtime"."0.2.1";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "tildify-1.0.0" = self.by-version."tildify"."1.0.0";
+      "vinyl-fs-0.3.7" = self.by-version."vinyl-fs"."0.3.7";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "gulp" ];
+  };
+  "gulp" = self.by-version."gulp"."3.8.8";
+  by-spec."gulp-util"."^3.0.0" =
+    self.by-version."gulp-util"."3.0.1";
+  by-version."gulp-util"."3.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "gulp-util-3.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/gulp-util/-/gulp-util-3.0.1.tgz";
+        name = "gulp-util-3.0.1.tgz";
+        sha1 = "8214894d05c2bb6cc7f5544918a51ddf88180f00";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."gulp-util" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "dateformat-1.0.8-1.2.3" = self.by-version."dateformat"."1.0.8-1.2.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+      "lodash.template-2.4.1" = self.by-version."lodash.template"."2.4.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "multipipe-0.1.1" = self.by-version."multipipe"."0.1.1";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+      "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "gulp-util" ];
+  };
   by-spec."gzip-size"."^0.1.0" =
     self.by-version."gzip-size"."0.1.1";
   by-version."gzip-size"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "gzip-size-0.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz";
@@ -7843,10 +8237,10 @@
     ];
     buildInputs =
       (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."zlib-browserify"."0.0.3"
-    ];
+    deps = {
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "zlib-browserify-0.0.3" = self.by-version."zlib-browserify"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzip-size" ];
@@ -7855,6 +8249,7 @@
     self.by-version."gzip-size"."0.2.0";
   by-version."gzip-size"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "gzip-size-0.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz";
@@ -7864,10 +8259,10 @@
     ];
     buildInputs =
       (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."browserify-zlib"."0.1.4"
-    ];
+    deps = {
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzip-size" ];
@@ -7875,7 +8270,8 @@
   by-spec."gzippo"."*" =
     self.by-version."gzippo"."0.2.0";
   by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gzippo-0.2.0";
+    name = "gzippo-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
@@ -7885,9 +8281,9 @@
     ];
     buildInputs =
       (self.nativeDeps."gzippo" or []);
-    deps = [
-      self.by-version."send"."0.8.3"
-    ];
+    deps = {
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "gzippo" ];
@@ -7897,6 +8293,7 @@
     self.by-version."handlebars"."1.3.0";
   by-version."handlebars"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
@@ -7906,10 +8303,10 @@
     ];
     buildInputs =
       (self.nativeDeps."handlebars" or []);
-    deps = [
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-js"."2.3.6"
-    ];
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "handlebars" ];
@@ -7918,6 +8315,7 @@
     self.by-version."has-ansi"."0.1.0";
   by-version."has-ansi"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "has-ansi-0.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
@@ -7927,9 +8325,9 @@
     ];
     buildInputs =
       (self.nativeDeps."has-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "has-ansi" ];
@@ -7937,7 +8335,8 @@
   by-spec."has-color"."~0.1.0" =
     self.by-version."has-color"."0.1.7";
   by-version."has-color"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-has-color-0.1.7";
+    name = "has-color-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
@@ -7947,8 +8346,8 @@
     ];
     buildInputs =
       (self.nativeDeps."has-color" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "has-color" ];
@@ -7956,7 +8355,8 @@
   by-spec."hasher"."~1.2.0" =
     self.by-version."hasher"."1.2.0";
   by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hasher-1.2.0";
+    name = "hasher-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
@@ -7966,9 +8366,9 @@
     ];
     buildInputs =
       (self.nativeDeps."hasher" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hasher" ];
@@ -7976,7 +8376,8 @@
   by-spec."hashring"."1.0.1" =
     self.by-version."hashring"."1.0.1";
   by-version."hashring"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hashring-1.0.1";
+    name = "hashring-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz";
@@ -7986,10 +8387,10 @@
     ];
     buildInputs =
       (self.nativeDeps."hashring" or []);
-    deps = [
-      self.by-version."connection-parse"."0.0.7"
-      self.by-version."simple-lru-cache"."0.0.1"
-    ];
+    deps = {
+      "connection-parse-0.0.7" = self.by-version."connection-parse"."0.0.7";
+      "simple-lru-cache-0.0.1" = self.by-version."simple-lru-cache"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hashring" ];
@@ -7997,7 +8398,8 @@
   by-spec."hat"."*" =
     self.by-version."hat"."0.0.3";
   by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hat-0.0.3";
+    name = "hat-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
@@ -8007,8 +8409,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hat" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hat" ];
@@ -8016,7 +8418,8 @@
   by-spec."hawk"."1.1.1" =
     self.by-version."hawk"."1.1.1";
   by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.1.1";
+    name = "hawk-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
@@ -8026,12 +8429,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-      self.by-version."boom"."0.4.2"
-      self.by-version."cryptiles"."0.2.2"
-      self.by-version."sntp"."0.2.4"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8039,7 +8442,8 @@
   by-spec."hawk"."~0.10.2" =
     self.by-version."hawk"."0.10.2";
   by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-0.10.2";
+    name = "hawk-0.10.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
@@ -8049,12 +8453,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-      self.by-version."boom"."0.3.8"
-      self.by-version."cryptiles"."0.1.3"
-      self.by-version."sntp"."0.1.4"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
+      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8062,7 +8466,8 @@
   by-spec."hawk"."~1.0.0" =
     self.by-version."hawk"."1.0.0";
   by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.0.0";
+    name = "hawk-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
@@ -8072,12 +8477,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-      self.by-version."boom"."0.4.2"
-      self.by-version."cryptiles"."0.2.2"
-      self.by-version."sntp"."0.2.4"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
@@ -8086,6 +8491,7 @@
     self.by-version."he"."0.3.6";
   by-version."he"."0.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "he-0.3.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
@@ -8095,8 +8501,8 @@
     ];
     buildInputs =
       (self.nativeDeps."he" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "he" ];
@@ -8105,6 +8511,7 @@
     self.by-version."hipache"."0.3.1";
   by-version."hipache"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "hipache-0.3.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hipache/-/hipache-0.3.1.tgz";
@@ -8114,12 +8521,12 @@
     ];
     buildInputs =
       (self.nativeDeps."hipache" or []);
-    deps = [
-      self.by-version."http-proxy"."1.0.2"
-      self.by-version."redis"."0.10.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimist"."0.0.8"
-    ];
+    deps = {
+      "http-proxy-1.0.2" = self.by-version."http-proxy"."1.0.2";
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hipache" ];
@@ -8128,7 +8535,8 @@
   by-spec."hiredis"."*" =
     self.by-version."hiredis"."0.1.17";
   by-version."hiredis"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hiredis-0.1.17";
+    name = "hiredis-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz";
@@ -8138,10 +8546,10 @@
     ];
     buildInputs =
       (self.nativeDeps."hiredis" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.1.2"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.1.2" = self.by-version."nan"."1.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hiredis" ];
@@ -8149,7 +8557,8 @@
   by-spec."hoek"."0.7.x" =
     self.by-version."hoek"."0.7.6";
   by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.7.6";
+    name = "hoek-0.7.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
@@ -8159,8 +8568,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
@@ -8168,7 +8577,8 @@
   by-spec."hoek"."0.9.x" =
     self.by-version."hoek"."0.9.1";
   by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.9.1";
+    name = "hoek-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
@@ -8178,8 +8588,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
@@ -8187,7 +8597,8 @@
   by-spec."hooker"."~0.2.3" =
     self.by-version."hooker"."0.2.3";
   by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooker-0.2.3";
+    name = "hooker-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
@@ -8197,8 +8608,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hooker" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hooker" ];
@@ -8206,7 +8617,8 @@
   by-spec."hooks"."0.2.1" =
     self.by-version."hooks"."0.2.1";
   by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooks-0.2.1";
+    name = "hooks-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
@@ -8216,8 +8628,8 @@
     ];
     buildInputs =
       (self.nativeDeps."hooks" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "hooks" ];
@@ -8225,7 +8637,8 @@
   by-spec."htmlparser2"."3.7.x" =
     self.by-version."htmlparser2"."3.7.3";
   by-version."htmlparser2"."3.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-htmlparser2-3.7.3";
+    name = "htmlparser2-3.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
@@ -8235,13 +8648,13 @@
     ];
     buildInputs =
       (self.nativeDeps."htmlparser2" or []);
-    deps = [
-      self.by-version."domhandler"."2.2.0"
-      self.by-version."domutils"."1.5.0"
-      self.by-version."domelementtype"."1.1.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."entities"."1.0.0"
-    ];
+    deps = {
+      "domhandler-2.2.0" = self.by-version."domhandler"."2.2.0";
+      "domutils-1.5.0" = self.by-version."domutils"."1.5.0";
+      "domelementtype-1.1.1" = self.by-version."domelementtype"."1.1.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "entities-1.0.0" = self.by-version."entities"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
@@ -8249,7 +8662,8 @@
   by-spec."http-auth"."2.0.7" =
     self.by-version."http-auth"."2.0.7";
   by-version."http-auth"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-auth-2.0.7";
+    name = "http-auth-2.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
@@ -8259,31 +8673,32 @@
     ];
     buildInputs =
       (self.nativeDeps."http-auth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.6.3"
-      self.by-version."node-uuid"."1.4.1"
-    ];
+    deps = {
+      "coffee-script-1.6.3" = self.by-version."coffee-script"."1.6.3";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-auth" ];
   };
   by-spec."http-browserify"."^1.4.0" =
-    self.by-version."http-browserify"."1.5.0";
-  by-version."http-browserify"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-browserify-1.5.0";
+    self.by-version."http-browserify"."1.6.0";
+  by-version."http-browserify"."1.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-browserify-1.6.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.5.0.tgz";
-        name = "http-browserify-1.5.0.tgz";
-        sha1 = "9ecc18daa92289793fed28f9f14b0a0ce6f98040";
+        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.6.0.tgz";
+        name = "http-browserify-1.6.0.tgz";
+        sha1 = "0525508f61e351ca7fad6a8a53c8bf104be0a847";
       })
     ];
     buildInputs =
       (self.nativeDeps."http-browserify" or []);
-    deps = [
-      self.by-version."Base64"."0.2.1"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "Base64-0.2.1" = self.by-version."Base64"."0.2.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-browserify" ];
@@ -8291,7 +8706,8 @@
   by-spec."http-proxy"."1.0.2" =
     self.by-version."http-proxy"."1.0.2";
   by-version."http-proxy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-proxy-1.0.2";
+    name = "http-proxy-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-proxy/-/http-proxy-1.0.2.tgz";
@@ -8301,9 +8717,9 @@
     ];
     buildInputs =
       (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."eventemitter3"."0.1.4"
-    ];
+    deps = {
+      "eventemitter3-0.1.5" = self.by-version."eventemitter3"."0.1.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
@@ -8312,6 +8728,7 @@
     self.by-version."http-proxy"."0.10.4";
   by-version."http-proxy"."0.10.4" = lib.makeOverridable self.buildNodePackage {
     name = "http-proxy-0.10.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz";
@@ -8321,12 +8738,12 @@
     ];
     buildInputs =
       (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."utile"."0.2.1"
-    ];
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
@@ -8334,7 +8751,8 @@
   by-spec."http-signature"."0.9.11" =
     self.by-version."http-signature"."0.9.11";
   by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-signature-0.9.11";
+    name = "http-signature-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
@@ -8344,11 +8762,11 @@
     ];
     buildInputs =
       (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
@@ -8356,7 +8774,8 @@
   by-spec."http-signature"."~0.10.0" =
     self.by-version."http-signature"."0.10.0";
   by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-signature-0.10.0";
+    name = "http-signature-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
@@ -8366,11 +8785,11 @@
     ];
     buildInputs =
       (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
@@ -8378,7 +8797,8 @@
   by-spec."https-browserify"."~0.0.0" =
     self.by-version."https-browserify"."0.0.0";
   by-version."https-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-https-browserify-0.0.0";
+    name = "https-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz";
@@ -8388,8 +8808,8 @@
     ];
     buildInputs =
       (self.nativeDeps."https-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "https-browserify" ];
@@ -8397,7 +8817,8 @@
   by-spec."humanize"."~0.0.9" =
     self.by-version."humanize"."0.0.9";
   by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-humanize-0.0.9";
+    name = "humanize-0.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
@@ -8407,8 +8828,8 @@
     ];
     buildInputs =
       (self.nativeDeps."humanize" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "humanize" ];
@@ -8416,7 +8837,8 @@
   by-spec."i"."0.3.x" =
     self.by-version."i"."0.3.2";
   by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i-0.3.2";
+    name = "i-0.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
@@ -8426,8 +8848,8 @@
     ];
     buildInputs =
       (self.nativeDeps."i" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "i" ];
@@ -8435,7 +8857,8 @@
   by-spec."i18next"."*" =
     self.by-version."i18next"."1.7.4";
   by-version."i18next"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i18next-1.7.4";
+    name = "i18next-1.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/i18next/-/i18next-1.7.4.tgz";
@@ -8445,9 +8868,9 @@
     ];
     buildInputs =
       (self.nativeDeps."i18next" or []);
-    deps = [
-      self.by-version."cookies"."0.5.0"
-    ];
+    deps = {
+      "cookies-0.5.0" = self.by-version."cookies"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "i18next" ];
@@ -8457,6 +8880,7 @@
     self.by-version."ibrik"."1.1.1";
   by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "ibrik-1.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ibrik/-/ibrik-1.1.1.tgz";
@@ -8466,43 +8890,25 @@
     ];
     buildInputs =
       (self.nativeDeps."ibrik" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."coffee-script-redux"."2.0.0-beta8"
-      self.by-version."istanbul"."0.2.16"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."which"."1.0.5"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "coffee-script-redux-2.0.0-beta8" = self.by-version."coffee-script-redux"."2.0.0-beta8";
+      "istanbul-0.2.16" = self.by-version."istanbul"."0.2.16";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "escodegen-1.1.0" = self.by-version."escodegen"."1.1.0";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ibrik" ];
   };
-  by-spec."iconv-lite"."0.4.3" =
-    self.by-version."iconv-lite"."0.4.3";
-  by-version."iconv-lite"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.3.tgz";
-        name = "iconv-lite-0.4.3.tgz";
-        sha1 = "9e7887793b769cc695eb22d2546a4fd2d79b7a1e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
   by-spec."iconv-lite"."0.4.4" =
     self.by-version."iconv-lite"."0.4.4";
   by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.4";
+    name = "iconv-lite-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
@@ -8512,8 +8918,8 @@
     ];
     buildInputs =
       (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
@@ -8521,7 +8927,8 @@
   by-spec."iconv-lite"."~0.2.11" =
     self.by-version."iconv-lite"."0.2.11";
   by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.2.11";
+    name = "iconv-lite-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
@@ -8531,8 +8938,8 @@
     ];
     buildInputs =
       (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
@@ -8540,20 +8947,21 @@
   by-spec."iconv-lite"."~0.4.3" =
     self.by-version."iconv-lite"."0.4.4";
   by-spec."ieee754"."~1.1.1" =
-    self.by-version."ieee754"."1.1.3";
-  by-version."ieee754"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ieee754-1.1.3";
+    self.by-version."ieee754"."1.1.4";
+  by-version."ieee754"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "ieee754-1.1.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.3.tgz";
-        name = "ieee754-1.1.3.tgz";
-        sha1 = "1d4baae872e15ba69f6ab7588a965e09d485ec50";
+        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.4.tgz";
+        name = "ieee754-1.1.4.tgz";
+        sha1 = "e3ec65200d4ad531d359aabdb6d3ec812699a30b";
       })
     ];
     buildInputs =
       (self.nativeDeps."ieee754" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ieee754" ];
@@ -8561,7 +8969,8 @@
   by-spec."indexof"."0.0.1" =
     self.by-version."indexof"."0.0.1";
   by-version."indexof"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-indexof-0.0.1";
+    name = "indexof-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
@@ -8571,8 +8980,8 @@
     ];
     buildInputs =
       (self.nativeDeps."indexof" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "indexof" ];
@@ -8580,7 +8989,8 @@
   by-spec."inflight"."~1.0.1" =
     self.by-version."inflight"."1.0.1";
   by-version."inflight"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inflight-1.0.1";
+    name = "inflight-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inflight/-/inflight-1.0.1.tgz";
@@ -8590,9 +9000,9 @@
     ];
     buildInputs =
       (self.nativeDeps."inflight" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inflight" ];
@@ -8600,7 +9010,8 @@
   by-spec."inherits"."1" =
     self.by-version."inherits"."1.0.0";
   by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-1.0.0";
+    name = "inherits-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
@@ -8610,8 +9021,8 @@
     ];
     buildInputs =
       (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
@@ -8621,7 +9032,8 @@
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-2.0.1";
+    name = "inherits-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
@@ -8631,8 +9043,8 @@
     ];
     buildInputs =
       (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
@@ -8650,7 +9062,8 @@
   by-spec."ini"."1" =
     self.by-version."ini"."1.2.1";
   by-version."ini"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.2.1";
+    name = "ini-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
@@ -8660,8 +9073,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ini" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
@@ -8673,7 +9086,8 @@
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
   by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.1.0";
+    name = "ini-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
@@ -8683,34 +9097,35 @@
     ];
     buildInputs =
       (self.nativeDeps."ini" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
   };
   by-spec."ini"."~1.2.0" =
     self.by-version."ini"."1.2.1";
-  by-spec."init-package-json"."~0.1.1" =
-    self.by-version."init-package-json"."0.1.2";
-  by-version."init-package-json"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-init-package-json-0.1.2";
+  by-spec."init-package-json"."~1.0.0" =
+    self.by-version."init-package-json"."1.0.1";
+  by-version."init-package-json"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "init-package-json-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.1.2.tgz";
-        name = "init-package-json-0.1.2.tgz";
-        sha1 = "9e232ccae0d5cf712cd7773b0f1fcd59b7edc2da";
+        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-1.0.1.tgz";
+        name = "init-package-json-1.0.1.tgz";
+        sha1 = "c01b08cc90504ebc448d57b468e66fc08293e8a8";
       })
     ];
     buildInputs =
       (self.nativeDeps."init-package-json" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."promzard"."0.2.2"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "promzard-0.2.2" = self.by-version."promzard"."0.2.2";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "init-package-json" ];
@@ -8718,7 +9133,8 @@
   by-spec."inline-source-map"."~0.3.0" =
     self.by-version."inline-source-map"."0.3.0";
   by-version."inline-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inline-source-map-0.3.0";
+    name = "inline-source-map-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz";
@@ -8728,9 +9144,9 @@
     ];
     buildInputs =
       (self.nativeDeps."inline-source-map" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "inline-source-map" ];
@@ -8739,6 +9155,7 @@
     self.by-version."insert-module-globals"."6.1.0";
   by-version."insert-module-globals"."6.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "insert-module-globals-6.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.1.0.tgz";
@@ -8748,22 +9165,43 @@
     ];
     buildInputs =
       (self.nativeDeps."insert-module-globals" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."lexical-scope"."1.1.0"
-      self.by-version."process"."0.6.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "lexical-scope-1.1.0" = self.by-version."lexical-scope"."1.1.0";
+      "process-0.6.0" = self.by-version."process"."0.6.0";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "insert-module-globals" ];
   };
+  by-spec."interpret"."^0.3.2" =
+    self.by-version."interpret"."0.3.6";
+  by-version."interpret"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "interpret-0.3.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/interpret/-/interpret-0.3.6.tgz";
+        name = "interpret-0.3.6.tgz";
+        sha1 = "51b6927f372a92f1e4a2a5af0d14699de9618799";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."interpret" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "interpret" ];
+  };
   by-spec."ipaddr.js"."0.1.2" =
     self.by-version."ipaddr.js"."0.1.2";
   by-version."ipaddr.js"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ipaddr.js-0.1.2";
+    name = "ipaddr.js-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
@@ -8773,8 +9211,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ipaddr.js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ipaddr.js" ];
@@ -8782,7 +9220,8 @@
   by-spec."ironhorse"."*" =
     self.by-version."ironhorse"."0.0.10";
   by-version."ironhorse"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ironhorse-0.0.10";
+    name = "ironhorse-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.10.tgz";
@@ -8792,24 +9231,24 @@
     ];
     buildInputs =
       (self.nativeDeps."ironhorse" or []);
-    deps = [
-      self.by-version."underscore"."1.5.2"
-      self.by-version."winston"."0.7.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."fs-walk"."0.0.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."express"."4.8.5"
-      self.by-version."jade"."1.5.0"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-http"."0.2.2"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."mongoose"."3.8.15"
-      self.by-version."gridfs-stream"."0.5.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."kue"."0.8.5"
-      self.by-version."redis"."0.12.1"
-      self.by-version."hiredis"."0.1.17"
-    ];
+    deps = {
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "fs-walk-0.0.1" = self.by-version."fs-walk"."0.0.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "express-4.9.0" = self.by-version."express"."4.9.0";
+      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-http-0.2.2" = self.by-version."passport-http"."0.2.2";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+      "mongoose-3.8.16" = self.by-version."mongoose"."3.8.16";
+      "gridfs-stream-0.5.1" = self.by-version."gridfs-stream"."0.5.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "kue-0.8.6" = self.by-version."kue"."0.8.6";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+      "hiredis-0.1.17" = self.by-version."hiredis"."0.1.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ironhorse" ];
@@ -8818,7 +9257,8 @@
   by-spec."is-promise"."~1" =
     self.by-version."is-promise"."1.0.1";
   by-version."is-promise"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-promise-1.0.1";
+    name = "is-promise-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
@@ -8828,8 +9268,8 @@
     ];
     buildInputs =
       (self.nativeDeps."is-promise" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "is-promise" ];
@@ -8837,7 +9277,8 @@
   by-spec."is-utf8"."^0.2.0" =
     self.by-version."is-utf8"."0.2.0";
   by-version."is-utf8"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-utf8-0.2.0";
+    name = "is-utf8-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz";
@@ -8847,8 +9288,8 @@
     ];
     buildInputs =
       (self.nativeDeps."is-utf8" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "is-utf8" ];
@@ -8856,7 +9297,8 @@
   by-spec."isarray"."0.0.1" =
     self.by-version."isarray"."0.0.1";
   by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isarray-0.0.1";
+    name = "isarray-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
@@ -8866,70 +9308,53 @@
     ];
     buildInputs =
       (self.nativeDeps."isarray" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "isarray" ];
   };
   by-spec."isarray"."~0.0.1" =
     self.by-version."isarray"."0.0.1";
-  by-spec."isbinaryfile"."~2.0.0" =
-    self.by-version."isbinaryfile"."2.0.1";
-  by-version."isbinaryfile"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isbinaryfile-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.1.tgz";
-        name = "isbinaryfile-2.0.1.tgz";
-        sha1 = "b92369bfdaf616027133e077c5ba145f36699d55";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."isbinaryfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "isbinaryfile" ];
-  };
   by-spec."istanbul"."*" =
-    self.by-version."istanbul"."0.3.0";
-  by-version."istanbul"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.3.0";
+    self.by-version."istanbul"."0.3.2";
+  by-version."istanbul"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.3.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.0.tgz";
-        name = "istanbul-0.3.0.tgz";
-        sha1 = "5b7179104942adbb0ec3e140d5e3d071db55abbd";
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.2.tgz";
+        name = "istanbul-0.3.2.tgz";
+        sha1 = "e1ce9a9ec80d51dcbbeca82149f3befdc21d6835";
       })
     ];
     buildInputs =
       (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "esprima-1.2.2" = self.by-version."esprima"."1.2.2";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
-  "istanbul" = self.by-version."istanbul"."0.3.0";
+  "istanbul" = self.by-version."istanbul"."0.3.2";
   by-spec."istanbul"."~0.2.4" =
     self.by-version."istanbul"."0.2.16";
   by-version."istanbul"."0.2.16" = lib.makeOverridable self.buildNodePackage {
     name = "istanbul-0.2.16";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.16.tgz";
@@ -8939,57 +9364,60 @@
     ];
     buildInputs =
       (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-    ];
+    deps = {
+      "esprima-1.2.2" = self.by-version."esprima"."1.2.2";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.2.2" = self.by-version."js-yaml"."3.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
   by-spec."istanbul"."~0.3.0" =
-    self.by-version."istanbul"."0.3.0";
+    self.by-version."istanbul"."0.3.2";
   by-spec."jade"."*" =
-    self.by-version."jade"."1.5.0";
-  by-version."jade"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-1.5.0";
+    self.by-version."jade"."1.6.0";
+  by-version."jade"."1.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-1.6.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-1.5.0.tgz";
-        name = "jade-1.5.0.tgz";
-        sha1 = "74a93a5a290e11296c8b919b7a4d72301739b27e";
+        url = "http://registry.npmjs.org/jade/-/jade-1.6.0.tgz";
+        name = "jade-1.6.0.tgz";
+        sha1 = "c02540cd97b1014db3c15743746bc3dcd54170f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.51"
-      self.by-version."with"."3.0.1"
-      self.by-version."constantinople"."2.0.1"
-    ];
+    deps = {
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "constantinople-2.0.1" = self.by-version."constantinople"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "monocle-1.1.51" = self.by-version."monocle"."1.1.51";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "void-elements-1.0.0" = self.by-version."void-elements"."1.0.0";
+      "with-3.0.1" = self.by-version."with"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.by-version."jade"."1.5.0";
+  "jade" = self.by-version."jade"."1.6.0";
   by-spec."jade"."0.26.3" =
     self.by-version."jade"."0.26.3";
   by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.26.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
@@ -8999,10 +9427,10 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
@@ -9011,6 +9439,7 @@
     self.by-version."jade"."0.27.0";
   by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.27.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
@@ -9020,10 +9449,10 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
@@ -9032,6 +9461,7 @@
     self.by-version."jade"."1.1.5";
   by-version."jade"."1.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "jade-1.1.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz";
@@ -9041,25 +9471,26 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.51"
-      self.by-version."with"."2.0.0"
-      self.by-version."constantinople"."1.0.2"
-    ];
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.51" = self.by-version."monocle"."1.1.51";
+      "with-2.0.0" = self.by-version."with"."2.0.0";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
   by-spec."jade".">= 0.0.1" =
-    self.by-version."jade"."1.5.0";
+    self.by-version."jade"."1.6.0";
   by-spec."jade"."~0.35.0" =
     self.by-version."jade"."0.35.0";
   by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
@@ -9069,66 +9500,69 @@
     ];
     buildInputs =
       (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.50"
-      self.by-version."with"."1.1.1"
-      self.by-version."constantinople"."1.0.2"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.50" = self.by-version."monocle"."1.1.50";
+      "with-1.1.1" = self.by-version."with"."1.1.1";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
   by-spec."jayschema"."*" =
-    self.by-version."jayschema"."0.2.8";
-  by-version."jayschema"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "jayschema-0.2.8";
+    self.by-version."jayschema"."0.3.0";
+  by-version."jayschema"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jayschema-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.8.tgz";
-        name = "jayschema-0.2.8.tgz";
-        sha1 = "ea7883f501a4cdc7b91f48889f5774ea43159f17";
+        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.0.tgz";
+        name = "jayschema-0.3.0.tgz";
+        sha1 = "21089cbc978630932014f4508d7f709467d3d300";
       })
     ];
     buildInputs =
       (self.nativeDeps."jayschema" or []);
-    deps = [
-      self.by-version."when"."3.1.0"
-    ];
+    deps = {
+      "when-3.4.5" = self.by-version."when"."3.4.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.by-version."jayschema"."0.2.8";
+  "jayschema" = self.by-version."jayschema"."0.3.0";
   by-spec."js-yaml"."*" =
-    self.by-version."js-yaml"."3.1.0";
-  by-version."js-yaml"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-3.1.0";
+    self.by-version."js-yaml"."3.2.2";
+  by-version."js-yaml"."3.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-3.2.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.1.0.tgz";
-        name = "js-yaml-3.1.0.tgz";
-        sha1 = "36ba02e618c50748e772dd352428904cbbadcf44";
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.2.2.tgz";
+        name = "js-yaml-3.2.2.tgz";
+        sha1 = "a34e77fe8d5e10270e225d21d07790fa17fd2927";
       })
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  "js-yaml" = self.by-version."js-yaml"."3.1.0";
+  "js-yaml" = self.by-version."js-yaml"."3.2.2";
   by-spec."js-yaml"."0.3.x" =
     self.by-version."js-yaml"."0.3.7";
   by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-js-yaml-0.3.7";
+    name = "js-yaml-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
@@ -9138,8 +9572,8 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9148,6 +9582,7 @@
     self.by-version."js-yaml"."2.1.0";
   by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
@@ -9157,10 +9592,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9169,6 +9604,7 @@
     self.by-version."js-yaml"."3.0.1";
   by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
@@ -9178,20 +9614,21 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
   by-spec."js-yaml"."3.x" =
-    self.by-version."js-yaml"."3.1.0";
+    self.by-version."js-yaml"."3.2.2";
   by-spec."js-yaml"."~2.0.5" =
     self.by-version."js-yaml"."2.0.5";
   by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.0.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
@@ -9201,10 +9638,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9213,6 +9650,7 @@
     self.by-version."js-yaml"."3.0.2";
   by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-3.0.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.2.tgz";
@@ -9222,10 +9660,10 @@
     ];
     buildInputs =
       (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
@@ -9234,6 +9672,7 @@
     self.by-version."jsesc"."0.4.3";
   by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "jsesc-0.4.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
@@ -9243,8 +9682,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsesc" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsesc" ];
@@ -9252,39 +9691,41 @@
   by-spec."jsesc"."~0.4.3" =
     self.by-version."jsesc"."0.4.3";
   by-spec."jshint"."*" =
-    self.by-version."jshint"."2.5.4";
-  by-version."jshint"."2.5.4" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.5.4";
+    self.by-version."jshint"."2.5.5";
+  by-version."jshint"."2.5.5" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.5.5";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.4.tgz";
-        name = "jshint-2.5.4.tgz";
-        sha1 = "3dc82cb37b381b65f0e95ec7a616d39b4e95faef";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.5.tgz";
+        name = "jshint-2.5.5.tgz";
+        sha1 = "9f24958dcd11c5e2ceba96ec92225873b02f4775";
       })
     ];
     buildInputs =
       (self.nativeDeps."jshint" or []);
-    deps = [
-      self.by-version."shelljs"."0.3.0"
-      self.by-version."underscore"."1.6.0"
-      self.by-version."cli"."0.6.3"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."htmlparser2"."3.7.3"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."exit"."0.1.2"
-      self.by-version."strip-json-comments"."0.1.3"
-    ];
+    deps = {
+      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
+      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
+      "cli-0.6.4" = self.by-version."cli"."0.6.4";
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  "jshint" = self.by-version."jshint"."2.5.4";
+  "jshint" = self.by-version."jshint"."2.5.5";
   by-spec."jshint"."~2.5.0" =
-    self.by-version."jshint"."2.5.4";
+    self.by-version."jshint"."2.5.5";
   by-spec."json-schema"."0.2.2" =
     self.by-version."json-schema"."0.2.2";
   by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-schema-0.2.2";
+    name = "json-schema-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
@@ -9294,8 +9735,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-schema" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-schema" ];
@@ -9303,7 +9744,8 @@
   by-spec."json-stable-stringify"."~0.0.0" =
     self.by-version."json-stable-stringify"."0.0.1";
   by-version."json-stable-stringify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stable-stringify-0.0.1";
+    name = "json-stable-stringify-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
@@ -9313,9 +9755,9 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stable-stringify" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-    ];
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stable-stringify" ];
@@ -9323,7 +9765,8 @@
   by-spec."json-stringify-safe"."~3.0.0" =
     self.by-version."json-stringify-safe"."3.0.0";
   by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stringify-safe-3.0.0";
+    name = "json-stringify-safe-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
@@ -9333,8 +9776,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
@@ -9342,7 +9785,8 @@
   by-spec."json-stringify-safe"."~5.0.0" =
     self.by-version."json-stringify-safe"."5.0.0";
   by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stringify-safe-5.0.0";
+    name = "json-stringify-safe-5.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
@@ -9352,8 +9796,8 @@
     ];
     buildInputs =
       (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
@@ -9361,7 +9805,8 @@
   by-spec."jsonfile"."~1.0.1" =
     self.by-version."jsonfile"."1.0.1";
   by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonfile-1.0.1";
+    name = "jsonfile-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
@@ -9371,8 +9816,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonfile" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonfile" ];
@@ -9380,7 +9825,8 @@
   by-spec."jsonify"."~0.0.0" =
     self.by-version."jsonify"."0.0.0";
   by-version."jsonify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonify-0.0.0";
+    name = "jsonify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
@@ -9390,8 +9836,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonify" ];
@@ -9399,7 +9845,8 @@
   by-spec."jsonparse"."0.0.5" =
     self.by-version."jsonparse"."0.0.5";
   by-version."jsonparse"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonparse-0.0.5";
+    name = "jsonparse-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
@@ -9409,8 +9856,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsonparse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsonparse" ];
@@ -9419,6 +9866,7 @@
     self.by-version."jsontool"."7.0.2";
   by-version."jsontool"."7.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "jsontool-7.0.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
@@ -9428,8 +9876,8 @@
     ];
     buildInputs =
       (self.nativeDeps."jsontool" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsontool" ];
@@ -9438,7 +9886,8 @@
   by-spec."jsprim"."0.3.0" =
     self.by-version."jsprim"."0.3.0";
   by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsprim-0.3.0";
+    name = "jsprim-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
@@ -9448,11 +9897,11 @@
     ];
     buildInputs =
       (self.nativeDeps."jsprim" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-      self.by-version."json-schema"."0.2.2"
-      self.by-version."verror"."1.3.3"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
+      "verror-1.3.3" = self.by-version."verror"."1.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jsprim" ];
@@ -9460,7 +9909,8 @@
   by-spec."jstransform"."~3.0.0" =
     self.by-version."jstransform"."3.0.0";
   by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jstransform-3.0.0";
+    name = "jstransform-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz";
@@ -9470,66 +9920,68 @@
     ];
     buildInputs =
       (self.nativeDeps."jstransform" or []);
-    deps = [
-      self.by-version."base62"."0.1.1"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."source-map"."0.1.31"
-    ];
+    deps = {
+      "base62-0.1.1" = self.by-version."base62"."0.1.1";
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+      "source-map-0.1.31" = self.by-version."source-map"."0.1.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "jstransform" ];
   };
   by-spec."karma"."*" =
-    self.by-version."karma"."0.12.22";
-  by-version."karma"."0.12.22" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.12.22";
+    self.by-version."karma"."0.12.23";
+  by-version."karma"."0.12.23" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.23";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.12.22.tgz";
-        name = "karma-0.12.22.tgz";
-        sha1 = "05073db2a1ba0638f15cb76a515563be34460dc7";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.23.tgz";
+        name = "karma-0.12.23.tgz";
+        sha1 = "2a01041019234f76f59b8c7c2128f06c839fe8c3";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma" or []);
-    deps = [
-      self.by-version."di"."0.0.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."chokidar"."0.8.4"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."http-proxy"."0.10.4"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."q"."0.9.7"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."log4js"."0.6.18"
-      self.by-version."useragent"."2.0.9"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."connect"."2.12.0"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "di-0.0.1" = self.by-version."di"."0.0.1";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "chokidar-0.8.4" = self.by-version."chokidar"."0.8.4";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "http-proxy-0.10.4" = self.by-version."http-proxy"."0.10.4";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "log4js-0.6.21" = self.by-version."log4js"."0.6.21";
+      "useragent-2.0.9" = self.by-version."useragent"."2.0.9";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "connect-2.12.0" = self.by-version."connect"."2.12.0";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "karma" ];
   };
-  "karma" = self.by-version."karma"."0.12.22";
+  "karma" = self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.12.8" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma"."~0.12.0" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.23";
   by-spec."karma-chrome-launcher"."*" =
     self.by-version."karma-chrome-launcher"."0.1.4";
   by-version."karma-chrome-launcher"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-chrome-launcher-0.1.4";
+    name = "karma-chrome-launcher-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.4.tgz";
@@ -9539,10 +9991,10 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-chrome-launcher" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-chrome-launcher" ];
   };
@@ -9550,7 +10002,8 @@
   by-spec."karma-coverage"."*" =
     self.by-version."karma-coverage"."0.2.6";
   by-version."karma-coverage"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-coverage-0.2.6";
+    name = "karma-coverage-0.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.6.tgz";
@@ -9560,14 +10013,14 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-coverage" or []);
-    deps = [
-      self.by-version."istanbul"."0.3.0"
-      self.by-version."ibrik"."1.1.1"
-      self.by-version."dateformat"."1.0.8-1.2.3"
-      self.by-version."minimatch"."0.3.0"
-    ];
+    deps = {
+      "istanbul-0.3.2" = self.by-version."istanbul"."0.3.2";
+      "ibrik-1.1.1" = self.by-version."ibrik"."1.1.1";
+      "dateformat-1.0.8-1.2.3" = self.by-version."dateformat"."1.0.8-1.2.3";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-coverage" ];
   };
@@ -9575,7 +10028,8 @@
   by-spec."karma-junit-reporter"."*" =
     self.by-version."karma-junit-reporter"."0.2.2";
   by-version."karma-junit-reporter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-junit-reporter-0.2.2";
+    name = "karma-junit-reporter-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz";
@@ -9585,41 +10039,43 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-junit-reporter" or []);
-    deps = [
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
+    deps = {
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
   "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.2";
   by-spec."karma-mocha"."*" =
-    self.by-version."karma-mocha"."0.1.8";
-  by-version."karma-mocha"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-mocha-0.1.8";
+    self.by-version."karma-mocha"."0.1.9";
+  by-version."karma-mocha"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-mocha-0.1.9";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.8.tgz";
-        name = "karma-mocha-0.1.8.tgz";
-        sha1 = "7f086bd06ab6151cbd5b0cf1614c15344963fdf6";
+        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.9.tgz";
+        name = "karma-mocha-0.1.9.tgz";
+        sha1 = "d777a98d655e08330f7893e833c369f82bd10191";
       })
     ];
     buildInputs =
       (self.nativeDeps."karma-mocha" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
       self.by-version."mocha"."1.21.4"
     ];
     passthru.names = [ "karma-mocha" ];
   };
-  "karma-mocha" = self.by-version."karma-mocha"."0.1.8";
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.9";
   by-spec."karma-requirejs"."*" =
     self.by-version."karma-requirejs"."0.2.2";
   by-version."karma-requirejs"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-requirejs-0.2.2";
+    name = "karma-requirejs-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.2.tgz";
@@ -9629,11 +10085,11 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-requirejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
-      self.by-version."requirejs"."2.1.14"
+      self.by-version."karma"."0.12.23"
+      self.by-version."requirejs"."2.1.15"
     ];
     passthru.names = [ "karma-requirejs" ];
   };
@@ -9641,7 +10097,8 @@
   by-spec."karma-sauce-launcher"."*" =
     self.by-version."karma-sauce-launcher"."0.2.10";
   by-version."karma-sauce-launcher"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-sauce-launcher-0.2.10";
+    name = "karma-sauce-launcher-0.2.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.10.tgz";
@@ -9651,14 +10108,14 @@
     ];
     buildInputs =
       (self.nativeDeps."karma-sauce-launcher" or []);
-    deps = [
-      self.by-version."wd"."0.3.4"
-      self.by-version."sauce-connect-launcher"."0.6.1"
-      self.by-version."q"."0.9.7"
-      self.by-version."saucelabs"."0.1.1"
-    ];
+    deps = {
+      "wd-0.3.7" = self.by-version."wd"."0.3.7";
+      "sauce-connect-launcher-0.6.1" = self.by-version."sauce-connect-launcher"."0.6.1";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "saucelabs-0.1.1" = self.by-version."saucelabs"."0.1.1";
+    };
     peerDependencies = [
-      self.by-version."karma"."0.12.22"
+      self.by-version."karma"."0.12.23"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
@@ -9666,7 +10123,8 @@
   by-spec."keen.io"."~0.1.2" =
     self.by-version."keen.io"."0.1.2";
   by-version."keen.io"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keen.io-0.1.2";
+    name = "keen.io-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keen.io/-/keen.io-0.1.2.tgz";
@@ -9676,10 +10134,10 @@
     ];
     buildInputs =
       (self.nativeDeps."keen.io" or []);
-    deps = [
-      self.by-version."superagent"."0.13.0"
-      self.by-version."underscore"."1.5.2"
-    ];
+    deps = {
+      "superagent-0.13.0" = self.by-version."superagent"."0.13.0";
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keen.io" ];
@@ -9687,7 +10145,8 @@
   by-spec."keep-alive-agent"."0.0.1" =
     self.by-version."keep-alive-agent"."0.0.1";
   by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keep-alive-agent-0.0.1";
+    name = "keep-alive-agent-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
@@ -9697,8 +10156,8 @@
     ];
     buildInputs =
       (self.nativeDeps."keep-alive-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keep-alive-agent" ];
@@ -9706,7 +10165,8 @@
   by-spec."kerberos"."0.0.3" =
     self.by-version."kerberos"."0.0.3";
   by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kerberos-0.0.3";
+    name = "kerberos-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
@@ -9716,8 +10176,28 @@
     ];
     buildInputs =
       (self.nativeDeps."kerberos" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "kerberos" ];
+  };
+  by-spec."kerberos"."0.0.4" =
+    self.by-version."kerberos"."0.0.4";
+  by-version."kerberos"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "kerberos-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.4.tgz";
+        name = "kerberos-0.0.4.tgz";
+        sha1 = "11836638f729a2f6c5bae056a7d7a15898c9ba7c";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."kerberos" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
@@ -9725,7 +10205,8 @@
   by-spec."kew"."~0.1.7" =
     self.by-version."kew"."0.1.7";
   by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kew-0.1.7";
+    name = "kew-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
@@ -9735,8 +10216,8 @@
     ];
     buildInputs =
       (self.nativeDeps."kew" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kew" ];
@@ -9744,7 +10225,8 @@
   by-spec."keygrip"."~1.0.0" =
     self.by-version."keygrip"."1.0.1";
   by-version."keygrip"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keygrip-1.0.1";
+    name = "keygrip-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
@@ -9754,8 +10236,8 @@
     ];
     buildInputs =
       (self.nativeDeps."keygrip" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keygrip" ];
@@ -9763,7 +10245,8 @@
   by-spec."keypress"."0.1.x" =
     self.by-version."keypress"."0.1.0";
   by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keypress-0.1.0";
+    name = "keypress-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
@@ -9773,166 +10256,94 @@
     ];
     buildInputs =
       (self.nativeDeps."keypress" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "keypress" ];
   };
   by-spec."keypress"."~0.1.0" =
     self.by-version."keypress"."0.1.0";
-  by-spec."knockout"."~3.1.0" =
-    self.by-version."knockout"."3.1.0";
-  by-version."knockout"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knockout-3.1.0";
+  by-spec."knockout"."~3.2.0" =
+    self.by-version."knockout"."3.2.0";
+  by-version."knockout"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "knockout-3.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz";
-        name = "knockout-3.1.0.tgz";
-        sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5";
+        url = "http://registry.npmjs.org/knockout/-/knockout-3.2.0.tgz";
+        name = "knockout-3.2.0.tgz";
+        sha1 = "3f394eb67d721bea115e2d0d7be082256ca46a11";
       })
     ];
     buildInputs =
       (self.nativeDeps."knockout" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "knockout" ];
   };
   by-spec."knox"."*" =
-    self.by-version."knox"."0.9.0";
-  by-version."knox"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knox-0.9.0";
+    self.by-version."knox"."0.9.1";
+  by-version."knox"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "knox-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/knox/-/knox-0.9.0.tgz";
-        name = "knox-0.9.0.tgz";
-        sha1 = "8810e1dfe4332db505a796f5c9a11aee8b393e2c";
+        url = "http://registry.npmjs.org/knox/-/knox-0.9.1.tgz";
+        name = "knox-0.9.1.tgz";
+        sha1 = "3e53398e3d2307d27822abdcd74cd6aa32dc1ccf";
       })
     ];
     buildInputs =
       (self.nativeDeps."knox" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."stream-counter"."1.0.0"
-      self.by-version."once"."1.3.0"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "stream-counter-1.0.0" = self.by-version."stream-counter"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "knox" ];
   };
-  "knox" = self.by-version."knox"."0.9.0";
-  by-spec."koa"."*" =
-    self.by-version."koa"."0.10.0";
-  by-version."koa"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa/-/koa-0.10.0.tgz";
-        name = "koa-0.10.0.tgz";
-        sha1 = "876f6ab92ee19b89c7157a108d3c046d48377146";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."statuses"."1.0.4"
-      self.by-version."accepts"."1.0.7"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."finished"."1.2.2"
-      self.by-version."co"."3.1.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."koa-compose"."2.3.0"
-      self.by-version."koa-is-json"."1.0.0"
-      self.by-version."cookies"."0.5.0"
-      self.by-version."delegates"."0.0.3"
-      self.by-version."dethroy"."1.0.2"
-      self.by-version."error-inject"."1.0.0"
-      self.by-version."vary"."0.1.0"
-      self.by-version."parseurl"."1.2.0"
-      self.by-version."only"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa" ];
-  };
-  by-spec."koa-compose"."~2.3.0" =
-    self.by-version."koa-compose"."2.3.0";
-  by-version."koa-compose"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-compose-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-compose/-/koa-compose-2.3.0.tgz";
-        name = "koa-compose-2.3.0.tgz";
-        sha1 = "4617fa832a16412a56967334304efd797d6ed35c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-compose" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-compose" ];
-  };
-  by-spec."koa-is-json"."~1.0.0" =
-    self.by-version."koa-is-json"."1.0.0";
-  by-version."koa-is-json"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-is-json-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
-        name = "koa-is-json-1.0.0.tgz";
-        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-is-json" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-is-json" ];
-  };
+  "knox" = self.by-version."knox"."0.9.1";
   by-spec."kue"."*" =
-    self.by-version."kue"."0.8.5";
-  by-version."kue"."0.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kue-0.8.5";
+    self.by-version."kue"."0.8.6";
+  by-version."kue"."0.8.6" = lib.makeOverridable self.buildNodePackage {
+    name = "kue-0.8.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kue/-/kue-0.8.5.tgz";
-        name = "kue-0.8.5.tgz";
-        sha1 = "253d7a9a0bdd086100e48bbcce6c7dfad3381ed4";
+        url = "http://registry.npmjs.org/kue/-/kue-0.8.6.tgz";
+        name = "kue-0.8.6.tgz";
+        sha1 = "62e707137d2e90f98fb2dda7f5b8543dbc9de11e";
       })
     ];
     buildInputs =
       (self.nativeDeps."kue" or []);
-    deps = [
-      self.by-version."redis"."0.10.3"
-      self.by-version."express"."3.1.2"
-      self.by-version."jade"."1.1.5"
-      self.by-version."stylus"."0.42.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."lodash-deep"."1.2.1"
-      self.by-version."nib"."0.5.0"
-      self.by-version."reds"."0.2.4"
-    ];
+    deps = {
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "express-3.1.2" = self.by-version."express"."3.1.2";
+      "jade-1.1.5" = self.by-version."jade"."1.1.5";
+      "stylus-0.42.2" = self.by-version."stylus"."0.42.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "lodash-deep-1.2.1" = self.by-version."lodash-deep"."1.2.1";
+      "nib-0.5.0" = self.by-version."nib"."0.5.0";
+      "reds-0.2.4" = self.by-version."reds"."0.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.by-version."kue"."0.8.5";
+  "kue" = self.by-version."kue"."0.8.6";
   by-spec."labeled-stream-splicer"."^1.0.0" =
     self.by-version."labeled-stream-splicer"."1.0.0";
   by-version."labeled-stream-splicer"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-labeled-stream-splicer-1.0.0";
+    name = "labeled-stream-splicer-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.0.tgz";
@@ -9942,11 +10353,11 @@
     ];
     buildInputs =
       (self.nativeDeps."labeled-stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."stream-splicer"."1.3.0"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "stream-splicer-1.3.0" = self.by-version."stream-splicer"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "labeled-stream-splicer" ];
@@ -9954,7 +10365,8 @@
   by-spec."lazy"."~1.0.11" =
     self.by-version."lazy"."1.0.11";
   by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazy-1.0.11";
+    name = "lazy-1.0.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
@@ -9964,8 +10376,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lazy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lazy" ];
@@ -9973,7 +10385,8 @@
   by-spec."lazystream"."~0.1.0" =
     self.by-version."lazystream"."0.1.0";
   by-version."lazystream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazystream-0.1.0";
+    name = "lazystream-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
@@ -9983,9 +10396,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lazystream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lazystream" ];
@@ -9993,7 +10406,8 @@
   by-spec."lcov-parse"."0.0.6" =
     self.by-version."lcov-parse"."0.0.6";
   by-version."lcov-parse"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lcov-parse-0.0.6";
+    name = "lcov-parse-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
@@ -10003,8 +10417,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lcov-parse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lcov-parse" ];
@@ -10013,6 +10427,7 @@
     self.by-version."lcov-result-merger"."1.0.0";
   by-version."lcov-result-merger"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-result-merger-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.0.0.tgz";
@@ -10022,48 +10437,50 @@
     ];
     buildInputs =
       (self.nativeDeps."lcov-result-merger" or []);
-    deps = [
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.2.3"
-      self.by-version."vinyl-fs"."0.3.6"
-    ];
+    deps = {
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "vinyl-0.2.3" = self.by-version."vinyl"."0.2.3";
+      "vinyl-fs-0.3.7" = self.by-version."vinyl-fs"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lcov-result-merger" ];
   };
   "lcov-result-merger" = self.by-version."lcov-result-merger"."1.0.0";
   by-spec."less"."*" =
-    self.by-version."less"."1.7.4";
-  by-version."less"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.7.4";
+    self.by-version."less"."1.7.5";
+  by-version."less"."1.7.5" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.7.5";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.7.4.tgz";
-        name = "less-1.7.4.tgz";
-        sha1 = "1db03afd0d1b848d898d10d2690d79ee3834026d";
+        url = "http://registry.npmjs.org/less/-/less-1.7.5.tgz";
+        name = "less-1.7.5.tgz";
+        sha1 = "4f220cf7288a27eaca739df6e4808a2d4c0d5756";
       })
     ];
     buildInputs =
       (self.nativeDeps."less" or []);
-    deps = [
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."mime"."1.2.11"
-      self.by-version."request"."2.34.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.1.8"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "clean-css-2.2.15" = self.by-version."clean-css"."2.2.15";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "less" ];
   };
-  "less" = self.by-version."less"."1.7.4";
+  "less" = self.by-version."less"."1.7.5";
   by-spec."less"."^1.7.2" =
-    self.by-version."less"."1.7.4";
+    self.by-version."less"."1.7.5";
   by-spec."lexical-scope"."~1.1.0" =
     self.by-version."lexical-scope"."1.1.0";
   by-version."lexical-scope"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lexical-scope-1.1.0";
+    name = "lexical-scope-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz";
@@ -10073,9 +10490,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lexical-scope" or []);
-    deps = [
-      self.by-version."astw"."1.1.0"
-    ];
+    deps = {
+      "astw-1.1.0" = self.by-version."astw"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lexical-scope" ];
@@ -10083,7 +10500,8 @@
   by-spec."libxmljs"."~0.10.0" =
     self.by-version."libxmljs"."0.10.0";
   by-version."libxmljs"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libxmljs-0.10.0";
+    name = "libxmljs-0.10.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.10.0.tgz";
@@ -10093,49 +10511,75 @@
     ];
     buildInputs =
       (self.nativeDeps."libxmljs" or []);
-    deps = [
-      self.by-version."bindings"."1.1.1"
-      self.by-version."nan"."1.1.2"
-    ];
+    deps = {
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+      "nan-1.1.2" = self.by-version."nan"."1.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "libxmljs" ];
   };
   by-spec."libyaml"."*" =
-    self.by-version."libyaml"."0.2.4";
-  by-version."libyaml"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libyaml-0.2.4";
+    self.by-version."libyaml"."0.2.5";
+  by-version."libyaml"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "libyaml-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.4.tgz";
-        name = "libyaml-0.2.4.tgz";
-        sha1 = "46b6abe00ef0bc0ac60ca599c0e7c80ff920e959";
+        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.5.tgz";
+        name = "libyaml-0.2.5.tgz";
+        sha1 = "f34a920b728d8c1eddea56a6fa8698c28ceab6df";
       })
     ];
     buildInputs =
       (self.nativeDeps."libyaml" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "libyaml" ];
   };
-  "libyaml" = self.by-version."libyaml"."0.2.4";
-  by-spec."lockfile"."~0.4.0" =
-    self.by-version."lockfile"."0.4.3";
-  by-version."lockfile"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lockfile-0.4.3";
+  "libyaml" = self.by-version."libyaml"."0.2.5";
+  by-spec."liftoff"."^0.12.0" =
+    self.by-version."liftoff"."0.12.1";
+  by-version."liftoff"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "liftoff-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.3.tgz";
-        name = "lockfile-0.4.3.tgz";
-        sha1 = "79b965ee9b32d9dd24b59cf81205e6dcb6d3b224";
+        url = "http://registry.npmjs.org/liftoff/-/liftoff-0.12.1.tgz";
+        name = "liftoff-0.12.1.tgz";
+        sha1 = "bcaa49759c68396b83b984ad0b2d8cc226f9526d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile" or []);
-    deps = [
+      (self.nativeDeps."liftoff" or []);
+    deps = {
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "extend-1.3.0" = self.by-version."extend"."1.3.0";
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "liftoff" ];
+  };
+  by-spec."lockfile"."~1.0.0" =
+    self.by-version."lockfile"."1.0.0";
+  by-version."lockfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lockfile-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz";
+        name = "lockfile-1.0.0.tgz";
+        sha1 = "b3a7609dda6012060083bacb0ab0ecbca58e9203";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lockfile" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lockfile" ];
@@ -10143,7 +10587,8 @@
   by-spec."lodash"."2.4.1" =
     self.by-version."lodash"."2.4.1";
   by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-2.4.1";
+    name = "lodash-2.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz";
@@ -10153,8 +10598,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10166,7 +10611,8 @@
   by-spec."lodash"."~0.9.2" =
     self.by-version."lodash"."0.9.2";
   by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-0.9.2";
+    name = "lodash-0.9.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
@@ -10176,8 +10622,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10185,7 +10631,8 @@
   by-spec."lodash"."~1.0.1" =
     self.by-version."lodash"."1.0.1";
   by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-1.0.1";
+    name = "lodash-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
@@ -10195,8 +10642,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
@@ -10206,7 +10653,8 @@
   by-spec."lodash-deep"."^1.1.0" =
     self.by-version."lodash-deep"."1.2.1";
   by-version."lodash-deep"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-deep-1.2.1";
+    name = "lodash-deep-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.2.1.tgz";
@@ -10216,9 +10664,9 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash-deep" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash-deep" ];
@@ -10226,7 +10674,8 @@
   by-spec."lodash-node"."~2.4.1" =
     self.by-version."lodash-node"."2.4.1";
   by-version."lodash-node"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-node-2.4.1";
+    name = "lodash-node-2.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
@@ -10236,16 +10685,342 @@
     ];
     buildInputs =
       (self.nativeDeps."lodash-node" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lodash-node" ];
   };
+  by-spec."lodash._escapehtmlchar"."~2.4.1" =
+    self.by-version."lodash._escapehtmlchar"."2.4.1";
+  by-version."lodash._escapehtmlchar"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._escapehtmlchar-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz";
+        name = "lodash._escapehtmlchar-2.4.1.tgz";
+        sha1 = "df67c3bb6b7e8e1e831ab48bfa0795b92afe899d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._escapehtmlchar" or []);
+    deps = {
+      "lodash._htmlescapes-2.4.1" = self.by-version."lodash._htmlescapes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._escapehtmlchar" ];
+  };
+  by-spec."lodash._escapestringchar"."~2.4.1" =
+    self.by-version."lodash._escapestringchar"."2.4.1";
+  by-version."lodash._escapestringchar"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._escapestringchar-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz";
+        name = "lodash._escapestringchar-2.4.1.tgz";
+        sha1 = "ecfe22618a2ade50bfeea43937e51df66f0edb72";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._escapestringchar" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._escapestringchar" ];
+  };
+  by-spec."lodash._htmlescapes"."~2.4.1" =
+    self.by-version."lodash._htmlescapes"."2.4.1";
+  by-version."lodash._htmlescapes"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._htmlescapes-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz";
+        name = "lodash._htmlescapes-2.4.1.tgz";
+        sha1 = "32d14bf0844b6de6f8b62a051b4f67c228b624cb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._htmlescapes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._htmlescapes" ];
+  };
+  by-spec."lodash._isnative"."~2.4.1" =
+    self.by-version."lodash._isnative"."2.4.1";
+  by-version."lodash._isnative"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._isnative-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
+        name = "lodash._isnative-2.4.1.tgz";
+        sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._isnative" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._isnative" ];
+  };
+  by-spec."lodash._objecttypes"."~2.4.1" =
+    self.by-version."lodash._objecttypes"."2.4.1";
+  by-version."lodash._objecttypes"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._objecttypes-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
+        name = "lodash._objecttypes-2.4.1.tgz";
+        sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._objecttypes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._objecttypes" ];
+  };
+  by-spec."lodash._reinterpolate"."^2.4.1" =
+    self.by-version."lodash._reinterpolate"."2.4.1";
+  by-version."lodash._reinterpolate"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._reinterpolate-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz";
+        name = "lodash._reinterpolate-2.4.1.tgz";
+        sha1 = "4f1227aa5a8711fc632f5b07a1f4607aab8b3222";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._reinterpolate" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._reinterpolate" ];
+  };
+  by-spec."lodash._reinterpolate"."~2.4.1" =
+    self.by-version."lodash._reinterpolate"."2.4.1";
+  by-spec."lodash._reunescapedhtml"."~2.4.1" =
+    self.by-version."lodash._reunescapedhtml"."2.4.1";
+  by-version."lodash._reunescapedhtml"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._reunescapedhtml-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz";
+        name = "lodash._reunescapedhtml-2.4.1.tgz";
+        sha1 = "747c4fc40103eb3bb8a0976e571f7a2659e93ba7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._reunescapedhtml" or []);
+    deps = {
+      "lodash._htmlescapes-2.4.1" = self.by-version."lodash._htmlescapes"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._reunescapedhtml" ];
+  };
+  by-spec."lodash._shimkeys"."~2.4.1" =
+    self.by-version."lodash._shimkeys"."2.4.1";
+  by-version."lodash._shimkeys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash._shimkeys-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz";
+        name = "lodash._shimkeys-2.4.1.tgz";
+        sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash._shimkeys" or []);
+    deps = {
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash._shimkeys" ];
+  };
+  by-spec."lodash.defaults"."~2.4.1" =
+    self.by-version."lodash.defaults"."2.4.1";
+  by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.defaults-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz";
+        name = "lodash.defaults-2.4.1.tgz";
+        sha1 = "a7e8885f05e68851144b6e12a8f3678026bc4c54";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.defaults" or []);
+    deps = {
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.defaults" ];
+  };
+  by-spec."lodash.escape"."~2.4.1" =
+    self.by-version."lodash.escape"."2.4.1";
+  by-version."lodash.escape"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.escape-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz";
+        name = "lodash.escape-2.4.1.tgz";
+        sha1 = "2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.escape" or []);
+    deps = {
+      "lodash._escapehtmlchar-2.4.1" = self.by-version."lodash._escapehtmlchar"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._reunescapedhtml-2.4.1" = self.by-version."lodash._reunescapedhtml"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.escape" ];
+  };
+  by-spec."lodash.isobject"."~2.4.1" =
+    self.by-version."lodash.isobject"."2.4.1";
+  by-version."lodash.isobject"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.isobject-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
+        name = "lodash.isobject-2.4.1.tgz";
+        sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.isobject" or []);
+    deps = {
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.isobject" ];
+  };
+  by-spec."lodash.keys"."~2.4.1" =
+    self.by-version."lodash.keys"."2.4.1";
+  by-version."lodash.keys"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.keys-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz";
+        name = "lodash.keys-2.4.1.tgz";
+        sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.keys" or []);
+    deps = {
+      "lodash._isnative-2.4.1" = self.by-version."lodash._isnative"."2.4.1";
+      "lodash.isobject-2.4.1" = self.by-version."lodash.isobject"."2.4.1";
+      "lodash._shimkeys-2.4.1" = self.by-version."lodash._shimkeys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.keys" ];
+  };
+  by-spec."lodash.template"."^2.4.1" =
+    self.by-version."lodash.template"."2.4.1";
+  by-version."lodash.template"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.template-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz";
+        name = "lodash.template-2.4.1.tgz";
+        sha1 = "9e611007edf629129a974ab3c48b817b3e1cf20d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.template" or []);
+    deps = {
+      "lodash.defaults-2.4.1" = self.by-version."lodash.defaults"."2.4.1";
+      "lodash.escape-2.4.1" = self.by-version."lodash.escape"."2.4.1";
+      "lodash._escapestringchar-2.4.1" = self.by-version."lodash._escapestringchar"."2.4.1";
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+      "lodash.templatesettings-2.4.1" = self.by-version."lodash.templatesettings"."2.4.1";
+      "lodash.values-2.4.1" = self.by-version."lodash.values"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.template" ];
+  };
+  by-spec."lodash.templatesettings"."~2.4.1" =
+    self.by-version."lodash.templatesettings"."2.4.1";
+  by-version."lodash.templatesettings"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.templatesettings-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz";
+        name = "lodash.templatesettings-2.4.1.tgz";
+        sha1 = "ea76c75d11eb86d4dbe89a83893bb861929ac699";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.templatesettings" or []);
+    deps = {
+      "lodash.escape-2.4.1" = self.by-version."lodash.escape"."2.4.1";
+      "lodash._reinterpolate-2.4.1" = self.by-version."lodash._reinterpolate"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.templatesettings" ];
+  };
+  by-spec."lodash.values"."~2.4.1" =
+    self.by-version."lodash.values"."2.4.1";
+  by-version."lodash.values"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.values-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz";
+        name = "lodash.values-2.4.1.tgz";
+        sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.values" or []);
+    deps = {
+      "lodash.keys-2.4.1" = self.by-version."lodash.keys"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.values" ];
+  };
   by-spec."log-driver"."1.2.4" =
     self.by-version."log-driver"."1.2.4";
   by-version."log-driver"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log-driver-1.2.4";
+    name = "log-driver-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
@@ -10255,30 +11030,31 @@
     ];
     buildInputs =
       (self.nativeDeps."log-driver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "log-driver" ];
   };
   by-spec."log4js"."~0.6.3" =
-    self.by-version."log4js"."0.6.18";
-  by-version."log4js"."0.6.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log4js-0.6.18";
+    self.by-version."log4js"."0.6.21";
+  by-version."log4js"."0.6.21" = lib.makeOverridable self.buildNodePackage {
+    name = "log4js-0.6.21";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.18.tgz";
-        name = "log4js-0.6.18.tgz";
-        sha1 = "b362d629b02e111434839502b5a24b3201f5d805";
+        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.21.tgz";
+        name = "log4js-0.6.21.tgz";
+        sha1 = "674ed09ef0ffe913c2a35074f697bd047bb53b5f";
       })
     ];
     buildInputs =
       (self.nativeDeps."log4js" or []);
-    deps = [
-      self.by-version."async"."0.1.15"
-      self.by-version."semver"."1.1.4"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "log4js" ];
@@ -10286,7 +11062,8 @@
   by-spec."longjohn"."~0.2.2" =
     self.by-version."longjohn"."0.2.4";
   by-version."longjohn"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-longjohn-0.2.4";
+    name = "longjohn-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz";
@@ -10296,8 +11073,8 @@
     ];
     buildInputs =
       (self.nativeDeps."longjohn" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "longjohn" ];
@@ -10305,7 +11082,8 @@
   by-spec."lru-cache"."2" =
     self.by-version."lru-cache"."2.5.0";
   by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.5.0";
+    name = "lru-cache-2.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
@@ -10315,8 +11093,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10324,7 +11102,8 @@
   by-spec."lru-cache"."2.2.0" =
     self.by-version."lru-cache"."2.2.0";
   by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.2.0";
+    name = "lru-cache-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
@@ -10334,8 +11113,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10343,7 +11122,8 @@
   by-spec."lru-cache"."2.2.x" =
     self.by-version."lru-cache"."2.2.4";
   by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.2.4";
+    name = "lru-cache-2.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
@@ -10353,8 +11133,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10362,7 +11142,8 @@
   by-spec."lru-cache"."2.3.0" =
     self.by-version."lru-cache"."2.3.0";
   by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.3.0";
+    name = "lru-cache-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
@@ -10372,8 +11153,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10383,7 +11164,8 @@
   by-spec."lru-cache"."~1.0.2" =
     self.by-version."lru-cache"."1.0.6";
   by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-1.0.6";
+    name = "lru-cache-1.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
@@ -10393,8 +11175,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
@@ -10404,7 +11186,8 @@
   by-spec."lsmod"."~0.0.3" =
     self.by-version."lsmod"."0.0.3";
   by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lsmod-0.0.3";
+    name = "lsmod-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
@@ -10414,8 +11197,8 @@
     ];
     buildInputs =
       (self.nativeDeps."lsmod" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "lsmod" ];
@@ -10423,7 +11206,8 @@
   by-spec."mailcomposer".">= 0.1.27" =
     self.by-version."mailcomposer"."0.2.12";
   by-version."mailcomposer"."0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mailcomposer-0.2.12";
+    name = "mailcomposer-0.2.12";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.12.tgz";
@@ -10433,13 +11217,13 @@
     ];
     buildInputs =
       (self.nativeDeps."mailcomposer" or []);
-    deps = [
-      self.by-version."mimelib"."0.2.17"
-      self.by-version."mime"."1.2.11"
-      self.by-version."he"."0.3.6"
-      self.by-version."follow-redirects"."0.0.3"
-      self.by-version."dkim-signer"."0.1.2"
-    ];
+    deps = {
+      "mimelib-0.2.17" = self.by-version."mimelib"."0.2.17";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "he-0.3.6" = self.by-version."he"."0.3.6";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+      "dkim-signer-0.1.2" = self.by-version."dkim-signer"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mailcomposer" ];
@@ -10448,6 +11232,7 @@
     self.by-version."marked"."0.3.2";
   by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "marked-0.3.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz";
@@ -10457,8 +11242,8 @@
     ];
     buildInputs =
       (self.nativeDeps."marked" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "marked" ];
@@ -10469,7 +11254,8 @@
   by-spec."maxmin"."^0.1.0" =
     self.by-version."maxmin"."0.1.0";
   by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.1.0";
+    name = "maxmin-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz";
@@ -10479,11 +11265,11 @@
     ];
     buildInputs =
       (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."gzip-size"."0.1.1"
-      self.by-version."pretty-bytes"."0.1.2"
-      self.by-version."chalk"."0.4.0"
-    ];
+    deps = {
+      "gzip-size-0.1.1" = self.by-version."gzip-size"."0.1.1";
+      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "maxmin" ];
@@ -10491,7 +11277,8 @@
   by-spec."maxmin"."^0.2.0" =
     self.by-version."maxmin"."0.2.2";
   by-version."maxmin"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.2.2";
+    name = "maxmin-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz";
@@ -10501,12 +11288,12 @@
     ];
     buildInputs =
       (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."figures"."1.3.2"
-      self.by-version."gzip-size"."0.2.0"
-      self.by-version."pretty-bytes"."0.1.2"
-    ];
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "figures-1.3.2" = self.by-version."figures"."1.3.2";
+      "gzip-size-0.2.0" = self.by-version."gzip-size"."0.2.0";
+      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "maxmin" ];
@@ -10517,6 +11304,7 @@
     self.by-version."meat"."0.2.5";
   by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "meat-0.2.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
@@ -10526,14 +11314,14 @@
     ];
     buildInputs =
       (self.nativeDeps."meat" or []);
-    deps = [
-      self.by-version."express"."2.5.11"
-      self.by-version."jade"."0.27.0"
-      self.by-version."open"."0.0.2"
-      self.by-version."winston"."0.6.2"
-      self.by-version."mkdirp"."0.3.0"
-      self.by-version."node.extend"."1.0.0"
-    ];
+    deps = {
+      "express-2.5.11" = self.by-version."express"."2.5.11";
+      "jade-0.27.0" = self.by-version."jade"."0.27.0";
+      "open-0.0.2" = self.by-version."open"."0.0.2";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+      "node.extend-1.0.0" = self.by-version."node.extend"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "meat" ];
@@ -10542,7 +11330,8 @@
   by-spec."media-typer"."0.2.0" =
     self.by-version."media-typer"."0.2.0";
   by-version."media-typer"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-media-typer-0.2.0";
+    name = "media-typer-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
@@ -10552,18 +11341,37 @@
     ];
     buildInputs =
       (self.nativeDeps."media-typer" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "media-typer" ];
+  };
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        name = "media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."media-typer" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "media-typer" ];
   };
-  by-spec."media-typer"."~0.2.0" =
-    self.by-version."media-typer"."0.2.0";
   by-spec."merge-descriptors"."0.0.2" =
     self.by-version."merge-descriptors"."0.0.2";
   by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-merge-descriptors-0.0.2";
+    name = "merge-descriptors-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
@@ -10573,31 +11381,32 @@
     ];
     buildInputs =
       (self.nativeDeps."merge-descriptors" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "merge-descriptors" ];
   };
-  by-spec."method-override"."~2.1.3" =
-    self.by-version."method-override"."2.1.3";
-  by-version."method-override"."2.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-method-override-2.1.3";
+  by-spec."method-override"."~2.2.0" =
+    self.by-version."method-override"."2.2.0";
+  by-version."method-override"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "method-override-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/method-override/-/method-override-2.1.3.tgz";
-        name = "method-override-2.1.3.tgz";
-        sha1 = "511f41c4fb1dccdb6ab1844da5dc6ea81b7c1135";
+        url = "http://registry.npmjs.org/method-override/-/method-override-2.2.0.tgz";
+        name = "method-override-2.2.0.tgz";
+        sha1 = "177e852b6add3b4f9177033a9446b01e7801a0c0";
       })
     ];
     buildInputs =
       (self.nativeDeps."method-override" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."vary"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "method-override" ];
@@ -10605,7 +11414,8 @@
   by-spec."methods"."0.0.1" =
     self.by-version."methods"."0.0.1";
   by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.0.1";
+    name = "methods-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
@@ -10615,8 +11425,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10624,7 +11434,8 @@
   by-spec."methods"."0.1.0" =
     self.by-version."methods"."0.1.0";
   by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.1.0";
+    name = "methods-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
@@ -10634,8 +11445,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10643,7 +11454,8 @@
   by-spec."methods"."1.0.0" =
     self.by-version."methods"."1.0.0";
   by-version."methods"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.0";
+    name = "methods-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
@@ -10653,8 +11465,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10662,7 +11474,8 @@
   by-spec."methods"."1.0.1" =
     self.by-version."methods"."1.0.1";
   by-version."methods"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.1";
+    name = "methods-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
@@ -10672,8 +11485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
@@ -10681,7 +11494,8 @@
   by-spec."methods"."1.1.0" =
     self.by-version."methods"."1.1.0";
   by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.1.0";
+    name = "methods-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
@@ -10691,16 +11505,37 @@
     ];
     buildInputs =
       (self.nativeDeps."methods" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
   };
+  by-spec."microee"."0.0.2" =
+    self.by-version."microee"."0.0.2";
+  by-version."microee"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "microee-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/microee/-/microee-0.0.2.tgz";
+        name = "microee-0.0.2.tgz";
+        sha1 = "72e80d477075e5e799470f5defea96d1dd121587";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."microee" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "microee" ];
+  };
   by-spec."mime"."*" =
     self.by-version."mime"."1.2.11";
   by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.11";
+    name = "mime-1.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
@@ -10710,8 +11545,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10721,7 +11556,8 @@
   by-spec."mime"."1.2.4" =
     self.by-version."mime"."1.2.4";
   by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.4";
+    name = "mime-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
@@ -10731,8 +11567,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10740,7 +11576,8 @@
   by-spec."mime"."1.2.5" =
     self.by-version."mime"."1.2.5";
   by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.5";
+    name = "mime-1.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
@@ -10750,8 +11587,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10759,7 +11596,8 @@
   by-spec."mime"."1.2.6" =
     self.by-version."mime"."1.2.6";
   by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.6";
+    name = "mime-1.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
@@ -10769,8 +11607,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10778,7 +11616,8 @@
   by-spec."mime"."1.2.9" =
     self.by-version."mime"."1.2.9";
   by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.9";
+    name = "mime-1.2.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
@@ -10788,8 +11627,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mime" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
@@ -10804,29 +11643,31 @@
     self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mime-types"."1.0.0" =
-    self.by-version."mime-types"."1.0.0";
-  by-version."mime-types"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.0";
+  by-spec."mime-db"."~1.0.1" =
+    self.by-version."mime-db"."1.0.1";
+  by-version."mime-db"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-db-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.0.tgz";
-        name = "mime-types-1.0.0.tgz";
-        sha1 = "6a7b4a6af2e7d92f97afe03f047c7801e8f001d2";
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz";
+        name = "mime-db-1.0.1.tgz";
+        sha1 = "35d99b0965967253bb30633a7d07a8de9975a952";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
+      (self.nativeDeps."mime-db" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "mime-types" ];
+    passthru.names = [ "mime-db" ];
   };
   by-spec."mime-types"."~1.0.0" =
     self.by-version."mime-types"."1.0.2";
   by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.2";
+    name = "mime-types-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
@@ -10836,18 +11677,42 @@
     ];
     buildInputs =
       (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mime-types" ];
   };
   by-spec."mime-types"."~1.0.1" =
     self.by-version."mime-types"."1.0.2";
+  by-spec."mime-types"."~2.0.0" =
+    self.by-version."mime-types"."2.0.1";
+  by-version."mime-types"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-types-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz";
+        name = "mime-types-2.0.1.tgz";
+        sha1 = "7f5b4712592e7dd46ca733fd1c5f5d71356de615";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = {
+      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.1";
   by-spec."mimelib"."~0.2.15" =
     self.by-version."mimelib"."0.2.17";
   by-version."mimelib"."0.2.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mimelib-0.2.17";
+    name = "mimelib-0.2.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.17.tgz";
@@ -10857,39 +11722,40 @@
     ];
     buildInputs =
       (self.nativeDeps."mimelib" or []);
-    deps = [
-      self.by-version."encoding"."0.1.8"
-      self.by-version."addressparser"."0.2.1"
-    ];
+    deps = {
+      "encoding-0.1.8" = self.by-version."encoding"."0.1.8";
+      "addressparser-0.2.1" = self.by-version."addressparser"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mimelib" ];
   };
-  by-spec."minimatch"."0" =
-    self.by-version."minimatch"."0.4.0";
-  by-version."minimatch"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.4.0";
+  by-spec."minilog"."~2.0.2" =
+    self.by-version."minilog"."2.0.6";
+  by-version."minilog"."2.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "minilog-2.0.6";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
-        name = "minimatch-0.4.0.tgz";
-        sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+        url = "http://registry.npmjs.org/minilog/-/minilog-2.0.6.tgz";
+        name = "minilog-2.0.6.tgz";
+        sha1 = "665601f32a08bda58406c0e933b08713b3a50ad4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+      (self.nativeDeps."minilog" or []);
+    deps = {
+      "microee-0.0.2" = self.by-version."microee"."0.0.2";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "minimatch" ];
+    passthru.names = [ "minilog" ];
   };
   by-spec."minimatch"."0.0.x" =
     self.by-version."minimatch"."0.0.5";
   by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.0.5";
+    name = "minimatch-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
@@ -10899,9 +11765,9 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."1.0.6"
-    ];
+    deps = {
+      "lru-cache-1.0.6" = self.by-version."lru-cache"."1.0.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10909,7 +11775,8 @@
   by-spec."minimatch"."0.2.x" =
     self.by-version."minimatch"."0.2.14";
   by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.2.14";
+    name = "minimatch-0.2.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
@@ -10919,10 +11786,10 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10930,7 +11797,8 @@
   by-spec."minimatch"."0.3" =
     self.by-version."minimatch"."0.3.0";
   by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.3.0";
+    name = "minimatch-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
@@ -10940,22 +11808,43 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
   by-spec."minimatch"."0.x" =
     self.by-version."minimatch"."0.4.0";
+  by-version."minimatch"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
+        name = "minimatch-0.4.0.tgz";
+        sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch" or []);
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
   by-spec."minimatch"."0.x.x" =
     self.by-version."minimatch"."0.4.0";
   by-spec."minimatch"."1" =
     self.by-version."minimatch"."1.0.0";
   by-version."minimatch"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-1.0.0";
+    name = "minimatch-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
@@ -10965,10 +11854,10 @@
     ];
     buildInputs =
       (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
@@ -10987,10 +11876,13 @@
     self.by-version."minimatch"."0.2.14";
   by-spec."minimatch"."~0.3.0" =
     self.by-version."minimatch"."0.3.0";
+  by-spec."minimatch"."~1.0.0" =
+    self.by-version."minimatch"."1.0.0";
   by-spec."minimist"."0.0.8" =
     self.by-version."minimist"."0.0.8";
   by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.8";
+    name = "minimist-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
@@ -11000,8 +11892,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11009,7 +11901,8 @@
   by-spec."minimist"."^0.1.0" =
     self.by-version."minimist"."0.1.0";
   by-version."minimist"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.1.0";
+    name = "minimist-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz";
@@ -11019,8 +11912,28 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."minimist"."^1.1.0" =
+    self.by-version."minimist"."1.1.0";
+  by-version."minimist"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "minimist-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz";
+        name = "minimist-1.1.0.tgz";
+        sha1 = "cdf225e8898f840a258ded44fc91776770afdc93";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11028,7 +11941,8 @@
   by-spec."minimist"."~0.0.1" =
     self.by-version."minimist"."0.0.10";
   by-version."minimist"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.10";
+    name = "minimist-0.0.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
@@ -11038,8 +11952,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11049,7 +11963,8 @@
   by-spec."minimist"."~0.2.0" =
     self.by-version."minimist"."0.2.0";
   by-version."minimist"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.2.0";
+    name = "minimist-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz";
@@ -11059,8 +11974,8 @@
     ];
     buildInputs =
       (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
@@ -11068,7 +11983,8 @@
   by-spec."ministyle"."~0.1.3" =
     self.by-version."ministyle"."0.1.4";
   by-version."ministyle"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ministyle-0.1.4";
+    name = "ministyle-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.4.tgz";
@@ -11078,8 +11994,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ministyle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ministyle" ];
@@ -11087,7 +12003,8 @@
   by-spec."miniwrite"."~0.1.3" =
     self.by-version."miniwrite"."0.1.3";
   by-version."miniwrite"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-miniwrite-0.1.3";
+    name = "miniwrite-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz";
@@ -11097,9 +12014,9 @@
     ];
     buildInputs =
       (self.nativeDeps."miniwrite" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "miniwrite" ];
@@ -11108,6 +12025,7 @@
     self.by-version."mkdirp"."0.5.0";
   by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.5.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
@@ -11117,20 +12035,19 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-      self.by-version."minimist"."0.0.8"
-    ];
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
   "mkdirp" = self.by-version."mkdirp"."0.5.0";
-  by-spec."mkdirp"."0" =
-    self.by-version."mkdirp"."0.5.0";
   by-spec."mkdirp"."0.3.0" =
     self.by-version."mkdirp"."0.3.0";
   by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.0";
+    name = "mkdirp-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
@@ -11140,8 +12057,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
@@ -11149,7 +12066,8 @@
   by-spec."mkdirp"."0.3.5" =
     self.by-version."mkdirp"."0.3.5";
   by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
+    name = "mkdirp-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
@@ -11159,8 +12077,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
@@ -11191,6 +12109,7 @@
     self.by-version."mocha"."1.21.4";
   by-version."mocha"."1.21.4" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-1.21.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha/-/mocha-1.21.4.tgz";
@@ -11200,15 +12119,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."growl"."1.8.1"
-      self.by-version."jade"."0.26.3"
-      self.by-version."diff"."1.0.7"
-      self.by-version."debug"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "diff-1.0.7" = self.by-version."diff"."1.0.7";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
@@ -11218,6 +12137,7 @@
     self.by-version."mocha"."1.20.1";
   by-version."mocha"."1.20.1" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-1.20.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha/-/mocha-1.20.1.tgz";
@@ -11227,15 +12147,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."growl"."1.7.0"
-      self.by-version."jade"."0.26.3"
-      self.by-version."diff"."1.0.7"
-      self.by-version."debug"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "growl-1.7.0" = self.by-version."growl"."1.7.0";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "diff-1.0.7" = self.by-version."diff"."1.0.7";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
@@ -11244,6 +12164,7 @@
     self.by-version."mocha-phantomjs"."3.5.0";
   by-version."mocha-phantomjs"."3.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "mocha-phantomjs-3.5.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.5.0.tgz";
@@ -11253,10 +12174,10 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha-phantomjs" or []);
-    deps = [
-      self.by-version."mocha"."1.20.1"
-      self.by-version."commander"."2.0.0"
-    ];
+    deps = {
+      "mocha-1.20.1" = self.by-version."mocha"."1.20.1";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+    };
     peerDependencies = [
       self.by-version."phantomjs"."1.9.7-15"
     ];
@@ -11266,7 +12187,8 @@
   by-spec."mocha-unfunk-reporter"."*" =
     self.by-version."mocha-unfunk-reporter"."0.4.0";
   by-version."mocha-unfunk-reporter"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mocha-unfunk-reporter-0.4.0";
+    name = "mocha-unfunk-reporter-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
@@ -11276,12 +12198,12 @@
     ];
     buildInputs =
       (self.nativeDeps."mocha-unfunk-reporter" or []);
-    deps = [
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."unfunk-diff"."0.0.2"
-      self.by-version."miniwrite"."0.1.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
+    deps = {
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "unfunk-diff-0.0.2" = self.by-version."unfunk-diff"."0.0.2";
+      "miniwrite-0.1.3" = self.by-version."miniwrite"."0.1.3";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mocha-unfunk-reporter" ];
@@ -11291,6 +12213,7 @@
     self.by-version."module-deps"."3.5.5";
   by-version."module-deps"."3.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "module-deps-3.5.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/module-deps/-/module-deps-3.5.5.tgz";
@@ -11300,22 +12223,22 @@
     ];
     buildInputs =
       (self.nativeDeps."module-deps" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."detective"."3.1.0"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."parents"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."stream-combiner2"."1.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."through2"."0.4.2"
-    ];
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "browser-resolve-1.3.2" = self.by-version."browser-resolve"."1.3.2";
+      "concat-stream-1.4.6" = self.by-version."concat-stream"."1.4.6";
+      "detective-3.1.0" = self.by-version."detective"."3.1.0";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "parents-1.0.0" = self.by-version."parents"."1.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "stream-combiner2-1.0.1" = self.by-version."stream-combiner2"."1.0.1";
+      "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
+      "through2-0.4.2" = self.by-version."through2"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "module-deps" ];
@@ -11323,7 +12246,8 @@
   by-spec."moment"."2.1.0" =
     self.by-version."moment"."2.1.0";
   by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.1.0";
+    name = "moment-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
@@ -11333,8 +12257,8 @@
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
@@ -11342,7 +12266,8 @@
   by-spec."moment"."~2.4.0" =
     self.by-version."moment"."2.4.0";
   by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.4.0";
+    name = "moment-2.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
@@ -11352,58 +12277,60 @@
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  by-spec."moment"."~2.7.0" =
-    self.by-version."moment"."2.7.0";
-  by-version."moment"."2.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.7.0";
+  by-spec."moment"."~2.8.2" =
+    self.by-version."moment"."2.8.3";
+  by-version."moment"."2.8.3" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.8.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
-        name = "moment-2.7.0.tgz";
-        sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
+        url = "http://registry.npmjs.org/moment/-/moment-2.8.3.tgz";
+        name = "moment-2.8.3.tgz";
+        sha1 = "a01427bf8910f014fc4baa1b8d96f17f7e3f29a2";
       })
     ];
     buildInputs =
       (self.nativeDeps."moment" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
   by-spec."mongodb"."*" =
-    self.by-version."mongodb"."1.4.8";
-  by-version."mongodb"."1.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.8";
+    self.by-version."mongodb"."2.0.0-alpha1";
+  by-version."mongodb"."2.0.0-alpha1" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-2.0.0-alpha1";
+    bin = false;
     src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.8.tgz";
-        name = "mongodb-1.4.8.tgz";
-        sha1 = "808802e296f78e5062ef46a87a90abd68031552f";
+      (fetchurl {
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-2.0.0-alpha1.tgz";
+        name = "mongodb-2.0.0-alpha1.tgz";
+        sha1 = "6d46f08fc00d5189715b66f715dd9a74b4c67123";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.11"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "mongodb-core-1.0.0-alpha7" = self.by-version."mongodb-core"."1.0.0-alpha7";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.by-version."mongodb"."1.4.8";
+  "mongodb" = self.by-version."mongodb"."2.0.0-alpha1";
   by-spec."mongodb"."1.2.14" =
     self.by-version."mongodb"."1.2.14";
   by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.2.14";
+    name = "mongodb-1.2.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
@@ -11413,9 +12340,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.1.8"
-    ];
+    deps = {
+      "bson-0.1.8" = self.by-version."bson"."0.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
@@ -11423,7 +12350,8 @@
   by-spec."mongodb"."1.3.19" =
     self.by-version."mongodb"."1.3.19";
   by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.19";
+    name = "mongodb-1.3.19";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
@@ -11433,10 +12361,10 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.2"
-      self.by-version."kerberos"."0.0.3"
-    ];
+    deps = {
+      "bson-0.2.2" = self.by-version."bson"."0.2.2";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
@@ -11444,7 +12372,8 @@
   by-spec."mongodb"."1.3.x" =
     self.by-version."mongodb"."1.3.23";
   by-version."mongodb"."1.3.23" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.23";
+    name = "mongodb-1.3.23";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz";
@@ -11454,40 +12383,66 @@
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.5"
-      self.by-version."kerberos"."0.0.3"
-    ];
+    deps = {
+      "bson-0.2.5" = self.by-version."bson"."0.2.5";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  by-spec."mongodb"."1.4.7" =
-    self.by-version."mongodb"."1.4.7";
-  by-version."mongodb"."1.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.7";
+  by-spec."mongodb"."1.4.9" =
+    self.by-version."mongodb"."1.4.9";
+  by-version."mongodb"."1.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-1.4.9";
+    bin = false;
     src = [
       (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.7.tgz";
-        name = "mongodb-1.4.7.tgz";
-        sha1 = "f605b5d43c6c018c7d56d2fb53984dd60a7be128";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.9.tgz";
+        name = "mongodb-1.4.9.tgz";
+        sha1 = "c30b9724248be471d30235e2d542646d3b869bc2";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.9"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "bson-0.2.12" = self.by-version."bson"."0.2.12";
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
+  by-spec."mongodb-core"."~1.0" =
+    self.by-version."mongodb-core"."1.0.0-alpha7";
+  by-version."mongodb-core"."1.0.0-alpha7" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-core-1.0.0-alpha7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mongodb-core/-/mongodb-core-1.0.0-alpha7.tgz";
+        name = "mongodb-core-1.0.0-alpha7.tgz";
+        sha1 = "6c3c54e777d26576b66e6fd22612d06ec60df44e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mongodb-core" or []);
+    deps = {
+      "bson-0.2.15" = self.by-version."bson"."0.2.15";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.6" = self.by-version."rimraf"."2.2.6";
+      "kerberos-0.0.4" = self.by-version."kerberos"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mongodb-core" ];
+  };
   by-spec."mongoose"."3.6.7" =
     self.by-version."mongoose"."3.6.7";
   by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.7";
+    name = "mongoose-3.6.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
@@ -11497,15 +12452,15 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."hooks"."0.2.1"
-      self.by-version."mongodb"."1.2.14"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.3"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.2.1"
-      self.by-version."mpath"."0.1.1"
-    ];
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.2.14" = self.by-version."mongodb"."1.2.14";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.3" = self.by-version."sliced"."0.0.3";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
@@ -11513,7 +12468,8 @@
   by-spec."mongoose"."3.6.x" =
     self.by-version."mongoose"."3.6.20";
   by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.20";
+    name = "mongoose-3.6.20";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
@@ -11523,45 +12479,46 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."hooks"."0.2.1"
-      self.by-version."mongodb"."1.3.19"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.5"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.2.1"
-      self.by-version."mpath"."0.1.1"
-      self.by-version."regexp-clone"."0.0.1"
-    ];
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.3.19" = self.by-version."mongodb"."1.3.19";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
   "mongoose" = self.by-version."mongoose"."3.6.20";
   by-spec."mongoose"."3.8.x" =
-    self.by-version."mongoose"."3.8.15";
-  by-version."mongoose"."3.8.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.8.15";
+    self.by-version."mongoose"."3.8.16";
+  by-version."mongoose"."3.8.16" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.16";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.15.tgz";
-        name = "mongoose-3.8.15.tgz";
-        sha1 = "2bc089d011f9e4e662e3aa2aab00771ef43847c1";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.16.tgz";
+        name = "mongoose-3.8.16.tgz";
+        sha1 = "485df4669b5a66b642a29af76605f11664c023ae";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."mongodb"."1.4.7"
-      self.by-version."hooks"."0.2.1"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.5"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.4.3"
-      self.by-version."mpath"."0.1.1"
-      self.by-version."regexp-clone"."0.0.1"
-      self.by-version."mquery"."0.8.0"
-    ];
+    deps = {
+      "mongodb-1.4.9" = self.by-version."mongodb"."1.4.9";
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.4.3" = self.by-version."mpromise"."0.4.3";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+      "mquery-0.8.0" = self.by-version."mquery"."0.8.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
@@ -11569,7 +12526,8 @@
   by-spec."mongoose-lifecycle"."1.0.0" =
     self.by-version."mongoose-lifecycle"."1.0.0";
   by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-lifecycle-1.0.0";
+    name = "mongoose-lifecycle-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
@@ -11579,8 +12537,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose-lifecycle" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-lifecycle" ];
@@ -11588,7 +12546,8 @@
   by-spec."mongoose-schema-extend"."*" =
     self.by-version."mongoose-schema-extend"."0.1.7";
   by-version."mongoose-schema-extend"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-schema-extend-0.1.7";
+    name = "mongoose-schema-extend-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
@@ -11598,9 +12557,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mongoose-schema-extend" or []);
-    deps = [
-      self.by-version."owl-deepcopy"."0.0.4"
-    ];
+    deps = {
+      "owl-deepcopy-0.0.4" = self.by-version."owl-deepcopy"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-schema-extend" ];
@@ -11609,7 +12568,8 @@
   by-spec."monocle"."1.1.50" =
     self.by-version."monocle"."1.1.50";
   by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.50";
+    name = "monocle-1.1.50";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
@@ -11619,9 +12579,9 @@
     ];
     buildInputs =
       (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
@@ -11629,7 +12589,8 @@
   by-spec."monocle"."1.1.51" =
     self.by-version."monocle"."1.1.51";
   by-version."monocle"."1.1.51" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.51";
+    name = "monocle-1.1.51";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz";
@@ -11639,32 +12600,33 @@
     ];
     buildInputs =
       (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
   };
-  by-spec."morgan"."~1.2.3" =
-    self.by-version."morgan"."1.2.3";
-  by-version."morgan"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-morgan-1.2.3";
+  by-spec."morgan"."~1.3.0" =
+    self.by-version."morgan"."1.3.0";
+  by-version."morgan"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "morgan-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/morgan/-/morgan-1.2.3.tgz";
-        name = "morgan-1.2.3.tgz";
-        sha1 = "3b0f1704df90255a542591abacd797891a8c40a1";
+        url = "http://registry.npmjs.org/morgan/-/morgan-1.3.0.tgz";
+        name = "morgan-1.3.0.tgz";
+        sha1 = "ae8e835e365b306a10803a90ddfe27b4a33594f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."morgan" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-finished"."2.1.0"
-    ];
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "morgan" ];
@@ -11672,7 +12634,8 @@
   by-spec."mpath"."0.1.1" =
     self.by-version."mpath"."0.1.1";
   by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpath-0.1.1";
+    name = "mpath-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
@@ -11682,8 +12645,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mpath" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
@@ -11691,7 +12654,8 @@
   by-spec."mpromise"."0.2.1" =
     self.by-version."mpromise"."0.2.1";
   by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.2.1";
+    name = "mpromise-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
@@ -11701,9 +12665,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mpromise" or []);
-    deps = [
-      self.by-version."sliced"."0.0.4"
-    ];
+    deps = {
+      "sliced-0.0.4" = self.by-version."sliced"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
@@ -11711,7 +12675,8 @@
   by-spec."mpromise"."0.4.3" =
     self.by-version."mpromise"."0.4.3";
   by-version."mpromise"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.4.3";
+    name = "mpromise-0.4.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz";
@@ -11721,8 +12686,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mpromise" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
@@ -11730,7 +12695,8 @@
   by-spec."mquery"."0.8.0" =
     self.by-version."mquery"."0.8.0";
   by-version."mquery"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mquery-0.8.0";
+    name = "mquery-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz";
@@ -11740,11 +12706,11 @@
     ];
     buildInputs =
       (self.nativeDeps."mquery" or []);
-    deps = [
-      self.by-version."sliced"."0.0.5"
-      self.by-version."debug"."0.7.4"
-      self.by-version."regexp-clone"."0.0.1"
-    ];
+    deps = {
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
@@ -11752,7 +12718,8 @@
   by-spec."ms"."0.1.0" =
     self.by-version."ms"."0.1.0";
   by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.1.0";
+    name = "ms-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
@@ -11762,8 +12729,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ms" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
@@ -11771,7 +12738,8 @@
   by-spec."ms"."0.6.2" =
     self.by-version."ms"."0.6.2";
   by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.6.2";
+    name = "ms-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
@@ -11781,8 +12749,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ms" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
@@ -11791,6 +12759,7 @@
     self.by-version."msgpack"."0.2.4";
   by-version."msgpack"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "msgpack-0.2.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.4.tgz";
@@ -11800,9 +12769,9 @@
     ];
     buildInputs =
       (self.nativeDeps."msgpack" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
+    deps = {
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
@@ -11810,7 +12779,8 @@
   by-spec."multiparty"."2.2.0" =
     self.by-version."multiparty"."2.2.0";
   by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-2.2.0";
+    name = "multiparty-2.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
@@ -11820,10 +12790,10 @@
     ];
     buildInputs =
       (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
@@ -11831,7 +12801,8 @@
   by-spec."multiparty"."3.3.2" =
     self.by-version."multiparty"."3.3.2";
   by-version."multiparty"."3.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-3.3.2";
+    name = "multiparty-3.3.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
@@ -11841,18 +12812,40 @@
     ];
     buildInputs =
       (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
+  by-spec."multipipe"."^0.1.0" =
+    self.by-version."multipipe"."0.1.1";
+  by-version."multipipe"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "multipipe-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/multipipe/-/multipipe-0.1.1.tgz";
+        name = "multipipe-0.1.1.tgz";
+        sha1 = "bc271fbb2bf3a5ed3e43cc6ba3d7dbc1c4eb07fb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."multipipe" or []);
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "multipipe" ];
+  };
   by-spec."muri"."0.3.1" =
     self.by-version."muri"."0.3.1";
   by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-muri-0.3.1";
+    name = "muri-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
@@ -11862,8 +12855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."muri" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
@@ -11871,7 +12864,8 @@
   by-spec."mute-stream"."~0.0.4" =
     self.by-version."mute-stream"."0.0.4";
   by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mute-stream-0.0.4";
+    name = "mute-stream-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
@@ -11881,8 +12875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mute-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
@@ -11890,7 +12884,8 @@
   by-spec."mv"."0.0.5" =
     self.by-version."mv"."0.0.5";
   by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mv-0.0.5";
+    name = "mv-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
@@ -11900,8 +12895,8 @@
     ];
     buildInputs =
       (self.nativeDeps."mv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
@@ -11909,7 +12904,8 @@
   by-spec."mz"."1" =
     self.by-version."mz"."1.0.1";
   by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mz-1.0.1";
+    name = "mz-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
@@ -11919,9 +12915,9 @@
     ];
     buildInputs =
       (self.nativeDeps."mz" or []);
-    deps = [
-      self.by-version."native-or-bluebird"."1.0.0"
-    ];
+    deps = {
+      "native-or-bluebird-1.1.1" = self.by-version."native-or-bluebird"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "mz" ];
@@ -11929,7 +12925,8 @@
   by-spec."nan"."1.1.2" =
     self.by-version."nan"."1.1.2";
   by-version."nan"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.1.2";
+    name = "nan-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.1.2.tgz";
@@ -11939,8 +12936,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -11948,7 +12945,8 @@
   by-spec."nan"."1.2.0" =
     self.by-version."nan"."1.2.0";
   by-version."nan"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.2.0";
+    name = "nan-1.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.2.0.tgz";
@@ -11958,8 +12956,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -11967,7 +12965,8 @@
   by-spec."nan"."1.3.0" =
     self.by-version."nan"."1.3.0";
   by-version."nan"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.3.0";
+    name = "nan-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.3.0.tgz";
@@ -11977,18 +12976,19 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  by-spec."nan".">=1.1.0" =
+  by-spec."nan".">=1.3.0" =
     self.by-version."nan"."1.3.0";
   by-spec."nan"."~0.8.0" =
     self.by-version."nan"."0.8.0";
   by-version."nan"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-0.8.0";
+    name = "nan-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz";
@@ -11998,8 +12998,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -12007,7 +13007,8 @@
   by-spec."nan"."~1.0.0" =
     self.by-version."nan"."1.0.0";
   by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.0.0";
+    name = "nan-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
@@ -12017,8 +13018,8 @@
     ];
     buildInputs =
       (self.nativeDeps."nan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
@@ -12028,20 +13029,21 @@
   by-spec."nan"."~1.2.0" =
     self.by-version."nan"."1.2.0";
   by-spec."native-or-bluebird"."1" =
-    self.by-version."native-or-bluebird"."1.0.0";
-  by-version."native-or-bluebird"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-native-or-bluebird-1.0.0";
+    self.by-version."native-or-bluebird"."1.1.1";
+  by-version."native-or-bluebird"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "native-or-bluebird-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.0.0.tgz";
-        name = "native-or-bluebird-1.0.0.tgz";
-        sha1 = "2259f00d3b8621a9e6389f0d99badfcc2d8fccfe";
+        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.1.tgz";
+        name = "native-or-bluebird-1.1.1.tgz";
+        sha1 = "9131a6d6532afdfb5635f9703734cc6652c905ee";
       })
     ];
     buildInputs =
       (self.nativeDeps."native-or-bluebird" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "native-or-bluebird" ];
@@ -12049,7 +13051,8 @@
   by-spec."natural"."0.1.17" =
     self.by-version."natural"."0.1.17";
   by-version."natural"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-natural-0.1.17";
+    name = "natural-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/natural/-/natural-0.1.17.tgz";
@@ -12059,11 +13062,11 @@
     ];
     buildInputs =
       (self.nativeDeps."natural" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-      self.by-version."apparatus"."0.0.8"
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+      "apparatus-0.0.8" = self.by-version."apparatus"."0.0.8";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "natural" ];
@@ -12071,7 +13074,8 @@
   by-spec."nconf"."*" =
     self.by-version."nconf"."0.6.9";
   by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nconf-0.6.9";
+    name = "nconf-0.6.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
@@ -12081,11 +13085,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nconf" or []);
-    deps = [
-      self.by-version."async"."0.2.9"
-      self.by-version."ini"."1.2.1"
-      self.by-version."optimist"."0.6.0"
-    ];
+    deps = {
+      "async-0.2.9" = self.by-version."async"."0.2.9";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
@@ -12099,6 +13103,7 @@
     self.by-version."ncp"."0.2.7";
   by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
@@ -12108,8 +13113,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
@@ -12118,6 +13123,7 @@
     self.by-version."ncp"."0.4.2";
   by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
@@ -12127,8 +13133,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
@@ -12140,7 +13146,8 @@
   by-spec."negotiator"."0.2.5" =
     self.by-version."negotiator"."0.2.5";
   by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.2.5";
+    name = "negotiator-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
@@ -12150,8 +13157,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12159,7 +13166,8 @@
   by-spec."negotiator"."0.3.0" =
     self.by-version."negotiator"."0.3.0";
   by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.3.0";
+    name = "negotiator-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
@@ -12169,8 +13177,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12178,7 +13186,8 @@
   by-spec."negotiator"."0.4.7" =
     self.by-version."negotiator"."0.4.7";
   by-version."negotiator"."0.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.4.7";
+    name = "negotiator-0.4.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
@@ -12188,8 +13197,8 @@
     ];
     buildInputs =
       (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
@@ -12199,7 +13208,8 @@
   by-spec."net-ping"."1.1.7" =
     self.by-version."net-ping"."1.1.7";
   by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-net-ping-1.1.7";
+    name = "net-ping-1.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
@@ -12209,9 +13219,9 @@
     ];
     buildInputs =
       (self.nativeDeps."net-ping" or []);
-    deps = [
-      self.by-version."raw-socket"."1.2.2"
-    ];
+    deps = {
+      "raw-socket-1.2.2" = self.by-version."raw-socket"."1.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
@@ -12219,7 +13229,8 @@
   by-spec."nib"."0.5.0" =
     self.by-version."nib"."0.5.0";
   by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nib-0.5.0";
+    name = "nib-0.5.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
@@ -12229,38 +13240,40 @@
     ];
     buildInputs =
       (self.nativeDeps."nib" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
   by-spec."nijs"."*" =
-    self.by-version."nijs"."0.0.14";
-  by-version."nijs"."0.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "nijs-0.0.14";
+    self.by-version."nijs"."0.0.15";
+  by-version."nijs"."0.0.15" = lib.makeOverridable self.buildNodePackage {
+    name = "nijs-0.0.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.14.tgz";
-        name = "nijs-0.0.14.tgz";
-        sha1 = "e4851865ee94567e33c7c7e6d7d92c031e8f1eab";
+        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.15.tgz";
+        name = "nijs-0.0.15.tgz";
+        sha1 = "71c3963969f5b1b6a4bb99d3cd574e87aac14592";
       })
     ];
     buildInputs =
       (self.nativeDeps."nijs" or []);
-    deps = [
-      self.by-version."optparse"."1.0.5"
-      self.by-version."slasp"."0.0.3"
-    ];
+    deps = {
+      "optparse-1.0.5" = self.by-version."optparse"."1.0.5";
+      "slasp-0.0.4" = self.by-version."slasp"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.by-version."nijs"."0.0.14";
+  "nijs" = self.by-version."nijs"."0.0.15";
   by-spec."node-appc"."0.2.0" =
     self.by-version."node-appc"."0.2.0";
   by-version."node-appc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-appc-0.2.0";
+    name = "node-appc-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz";
@@ -12270,23 +13283,23 @@
     ];
     buildInputs =
       (self.nativeDeps."node-appc" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."diff"."1.0.8"
-      self.by-version."dox"."0.4.6"
-      self.by-version."jade"."0.35.0"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.1.0"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."wrench"."1.5.8"
-      self.by-version."uglify-js"."2.3.6"
-      self.by-version."xmldom"."0.1.19"
-    ];
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "dox-0.4.6" = self.by-version."dox"."0.4.6";
+      "jade-0.35.0" = self.by-version."jade"."0.35.0";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "semver-2.1.0" = self.by-version."semver"."2.1.0";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-appc" ];
@@ -12294,7 +13307,8 @@
   by-spec."node-expat"."*" =
     self.by-version."node-expat"."2.3.1";
   by-version."node-expat"."2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-expat-2.3.1";
+    name = "node-expat-2.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-expat/-/node-expat-2.3.1.tgz";
@@ -12304,84 +13318,56 @@
     ];
     buildInputs =
       (self.nativeDeps."node-expat" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.2.0"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-expat" ];
   };
   "node-expat" = self.by-version."node-expat"."2.3.1";
   by-spec."node-gyp"."*" =
-    self.by-version."node-gyp"."1.0.1";
-  by-version."node-gyp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-1.0.1";
+    self.by-version."node-gyp"."1.0.2";
+  by-version."node-gyp"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-1.0.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.1.tgz";
-        name = "node-gyp-1.0.1.tgz";
-        sha1 = "d5e364145ff10b259be9986855c83b5a76a2d975";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.2.tgz";
+        name = "node-gyp-1.0.2.tgz";
+        sha1 = "b0bb6d2d762271408dd904853e7aa3000ed2eb57";
       })
     ];
     buildInputs =
       (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."tar"."1.0.1"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.by-version."node-gyp"."1.0.1";
-  by-spec."node-gyp"."~0.13.0" =
-    self.by-version."node-gyp"."0.13.1";
-  by-version."node-gyp"."0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.13.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.13.1.tgz";
-        name = "node-gyp-0.13.1.tgz";
-        sha1 = "5a484dd2dc13d5b894a8fe781a250c07eae7bffa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.2.1"
-      self.by-version."tar"."0.1.20"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "tar-1.0.1" = self.by-version."tar"."1.0.1";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
+  "node-gyp" = self.by-version."node-gyp"."1.0.2";
+  by-spec."node-gyp"."~1.0.1" =
+    self.by-version."node-gyp"."1.0.2";
   by-spec."node-inspector"."*" =
     self.by-version."node-inspector"."0.7.4";
   by-version."node-inspector"."0.7.4" = lib.makeOverridable self.buildNodePackage {
     name = "node-inspector-0.7.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.4.tgz";
@@ -12391,49 +13377,51 @@
     ];
     buildInputs =
       (self.nativeDeps."node-inspector" or []);
-    deps = [
-      self.by-version."express"."4.0.0"
-      self.by-version."async"."0.8.0"
-      self.by-version."glob"."3.2.11"
-      self.by-version."rc"."0.3.5"
-      self.by-version."strong-data-uri"."0.1.1"
-      self.by-version."debug"."0.8.1"
-      self.by-version."ws"."0.4.32"
-      self.by-version."opener"."1.3.0"
-      self.by-version."yargs"."1.2.6"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "express-4.0.0" = self.by-version."express"."4.0.0";
+      "async-0.8.0" = self.by-version."async"."0.8.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "rc-0.3.5" = self.by-version."rc"."0.3.5";
+      "strong-data-uri-0.1.1" = self.by-version."strong-data-uri"."0.1.1";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "opener-1.3.0" = self.by-version."opener"."1.3.0";
+      "yargs-1.2.6" = self.by-version."yargs"."1.2.6";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-inspector" ];
   };
   "node-inspector" = self.by-version."node-inspector"."0.7.4";
   by-spec."node-protobuf"."*" =
-    self.by-version."node-protobuf"."1.2.0";
-  by-version."node-protobuf"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-protobuf-1.2.0";
+    self.by-version."node-protobuf"."1.2.1";
+  by-version."node-protobuf"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-protobuf-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.0.tgz";
-        name = "node-protobuf-1.2.0.tgz";
-        sha1 = "c69ca29f149431b6b6ec8079ec2ee01aa0590bcc";
+        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.1.tgz";
+        name = "node-protobuf-1.2.1.tgz";
+        sha1 = "d517eb4cdcfac002390ace6b8f0b865322eef049";
       })
     ];
     buildInputs =
       (self.nativeDeps."node-protobuf" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.3.0"
-    ];
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-protobuf" ];
   };
-  "node-protobuf" = self.by-version."node-protobuf"."1.2.0";
+  "node-protobuf" = self.by-version."node-protobuf"."1.2.1";
   by-spec."node-swt".">=0.1.1" =
     self.by-version."node-swt"."0.1.1";
   by-version."node-swt"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-swt-0.1.1";
+    name = "node-swt-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
@@ -12443,8 +13431,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-swt" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-swt" ];
@@ -12452,7 +13440,8 @@
   by-spec."node-syslog"."1.1.7" =
     self.by-version."node-syslog"."1.1.7";
   by-version."node-syslog"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-syslog-1.1.7";
+    name = "node-syslog-1.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz";
@@ -12462,8 +13451,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-syslog" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-syslog" ];
@@ -12471,7 +13460,8 @@
   by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
     self.by-version."node-uptime"."3.2.0";
   by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uptime-3.2.0";
+    name = "node-uptime-3.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
@@ -12481,22 +13471,22 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uptime" or []);
-    deps = [
-      self.by-version."mongoose"."3.6.7"
-      self.by-version."mongoose-lifecycle"."1.0.0"
-      self.by-version."express"."3.2.0"
-      self.by-version."express-partials"."0.0.6"
-      self.by-version."connect-flash"."0.1.0"
-      self.by-version."ejs"."0.8.3"
-      self.by-version."config"."0.4.15"
-      self.by-version."async"."0.1.22"
-      self.by-version."socket.io"."0.9.14"
-      self.by-version."semver"."1.1.0"
-      self.by-version."moment"."2.1.0"
-      self.by-version."nodemailer"."0.3.35"
-      self.by-version."net-ping"."1.1.7"
-      self.by-version."js-yaml"."2.1.0"
-    ];
+    deps = {
+      "mongoose-3.6.7" = self.by-version."mongoose"."3.6.7";
+      "mongoose-lifecycle-1.0.0" = self.by-version."mongoose-lifecycle"."1.0.0";
+      "express-3.2.0" = self.by-version."express"."3.2.0";
+      "express-partials-0.0.6" = self.by-version."express-partials"."0.0.6";
+      "connect-flash-0.1.0" = self.by-version."connect-flash"."0.1.0";
+      "ejs-0.8.3" = self.by-version."ejs"."0.8.3";
+      "config-0.4.15" = self.by-version."config"."0.4.15";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "socket.io-0.9.14" = self.by-version."socket.io"."0.9.14";
+      "semver-1.1.0" = self.by-version."semver"."1.1.0";
+      "moment-2.1.0" = self.by-version."moment"."2.1.0";
+      "nodemailer-0.3.35" = self.by-version."nodemailer"."0.3.35";
+      "net-ping-1.1.7" = self.by-version."net-ping"."1.1.7";
+      "js-yaml-2.1.0" = self.by-version."js-yaml"."2.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uptime" ];
@@ -12505,7 +13495,8 @@
   by-spec."node-uuid"."*" =
     self.by-version."node-uuid"."1.4.1";
   by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.4.1";
+    name = "node-uuid-1.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
@@ -12515,8 +13506,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12525,7 +13516,8 @@
   by-spec."node-uuid"."1.3.3" =
     self.by-version."node-uuid"."1.3.3";
   by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.3.3";
+    name = "node-uuid-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
@@ -12535,8 +13527,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12544,7 +13536,8 @@
   by-spec."node-uuid"."1.4.0" =
     self.by-version."node-uuid"."1.4.0";
   by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.4.0";
+    name = "node-uuid-1.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
@@ -12554,8 +13547,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
@@ -12569,7 +13562,8 @@
   by-spec."node-wsfederation".">=0.1.1" =
     self.by-version."node-wsfederation"."0.1.1";
   by-version."node-wsfederation"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-wsfederation-0.1.1";
+    name = "node-wsfederation-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
@@ -12579,9 +13573,9 @@
     ];
     buildInputs =
       (self.nativeDeps."node-wsfederation" or []);
-    deps = [
-      self.by-version."xml2js"."0.4.4"
-    ];
+    deps = {
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node-wsfederation" ];
@@ -12589,7 +13583,8 @@
   by-spec."node.extend"."1.0.0" =
     self.by-version."node.extend"."1.0.0";
   by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node.extend-1.0.0";
+    name = "node.extend-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
@@ -12599,8 +13594,8 @@
     ];
     buildInputs =
       (self.nativeDeps."node.extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
@@ -12609,6 +13604,7 @@
     self.by-version."nodemailer"."0.3.35";
   by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
@@ -12618,11 +13614,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nodemailer" or []);
-    deps = [
-      self.by-version."mailcomposer"."0.2.12"
-      self.by-version."simplesmtp"."0.3.32"
-      self.by-version."optimist"."0.6.1"
-    ];
+    deps = {
+      "mailcomposer-0.2.12" = self.by-version."mailcomposer"."0.2.12";
+      "simplesmtp-0.3.33" = self.by-version."simplesmtp"."0.3.33";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
@@ -12631,6 +13627,7 @@
     self.by-version."nodemon"."1.2.1";
   by-version."nodemon"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "nodemon-1.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nodemon/-/nodemon-1.2.1.tgz";
@@ -12640,11 +13637,11 @@
     ];
     buildInputs =
       (self.nativeDeps."nodemon" or []);
-    deps = [
-      self.by-version."update-notifier"."0.1.10"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-    ];
+    deps = {
+      "update-notifier-0.1.10" = self.by-version."update-notifier"."0.1.10";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
@@ -12653,7 +13650,8 @@
   by-spec."nomnom"."1.6.x" =
     self.by-version."nomnom"."1.6.2";
   by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nomnom-1.6.2";
+    name = "nomnom-1.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
@@ -12663,10 +13661,10 @@
     ];
     buildInputs =
       (self.nativeDeps."nomnom" or []);
-    deps = [
-      self.by-version."colors"."0.5.1"
-      self.by-version."underscore"."1.4.4"
-    ];
+    deps = {
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
@@ -12675,6 +13673,7 @@
     self.by-version."nopt"."2.2.1";
   by-version."nopt"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
@@ -12684,9 +13683,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12695,6 +13694,7 @@
     self.by-version."nopt"."3.0.1";
   by-version."nopt"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
@@ -12704,9 +13704,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12715,6 +13715,7 @@
     self.by-version."nopt"."2.0.0";
   by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
@@ -12724,9 +13725,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12737,6 +13738,7 @@
     self.by-version."nopt"."1.0.10";
   by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
@@ -12746,9 +13748,9 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
@@ -12757,6 +13759,7 @@
     self.by-version."nopt"."2.1.2";
   by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
@@ -12766,138 +13769,122 @@
     ];
     buildInputs =
       (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
   by-spec."nopt"."~3.0.1" =
     self.by-version."nopt"."3.0.1";
-  by-spec."normalize-package-data"."0.4" =
-    self.by-version."normalize-package-data"."0.4.2";
-  by-version."normalize-package-data"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.4.2.tgz";
-        name = "normalize-package-data-0.4.2.tgz";
-        sha1 = "166dc052a74e2f5ac1d3d23903ab3f2e2b7dd8e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.1.1"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "normalize-package-data" ];
-  };
   by-spec."normalize-package-data"."^1.0.0" =
-    self.by-version."normalize-package-data"."1.0.0";
-  by-version."normalize-package-data"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-1.0.0";
+    self.by-version."normalize-package-data"."1.0.2";
+  by-version."normalize-package-data"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.0.tgz";
-        name = "normalize-package-data-1.0.0.tgz";
-        sha1 = "5239d9921791a8ad027607f580a74c76166623c8";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.2.tgz";
+        name = "normalize-package-data-1.0.2.tgz";
+        sha1 = "32a902ad3cad3286f1106b9b9550062f44ee2118";
       })
     ];
     buildInputs =
       (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
+  by-spec."normalize-package-data"."~1.0.1" =
+    self.by-version."normalize-package-data"."1.0.2";
   by-spec."npm"."*" =
-    self.by-version."npm"."2.0.0-alpha-5";
-  by-version."npm"."2.0.0-alpha-5" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-2.0.0-alpha-5";
+    self.by-version."npm"."2.0.0-beta.3";
+  by-version."npm"."2.0.0-beta.3" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-2.0.0-beta.3";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-alpha-5.tgz";
-        name = "npm-2.0.0-alpha-5.tgz";
-        sha1 = "5135b111cb6b8e56ab1bdc4e486b87c295862ca8";
+        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-beta.3.tgz";
+        name = "npm-2.0.0-beta.3.tgz";
+        sha1 = "73857425b2b22a01949653d3fbe6ed917e6f850d";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."ansi"."0.3.0"
-      self.by-version."ansicolors"."0.3.2"
-      self.by-version."ansistyles"."0.1.3"
-      self.by-version."archy"."0.0.2"
-      self.by-version."async-some"."1.0.1"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."char-spinner"."1.0.1"
-      self.by-version."child-process-close"."0.1.1"
-      self.by-version."chmodr"."0.1.0"
-      self.by-version."chownr"."0.0.1"
-      self.by-version."cmd-shim"."1.1.2"
-      self.by-version."columnify"."1.1.0"
-      self.by-version."editor"."0.1.0"
-      self.by-version."fs-vacuum"."1.2.1"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."fstream-npm"."0.1.8"
-      self.by-version."github-url-from-git"."1.2.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inflight"."1.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."init-package-json"."0.1.2"
-      self.by-version."lockfile"."0.4.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."node-gyp"."0.13.1"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."npm-install-checks"."1.0.3"
-      self.by-version."npm-package-arg"."2.0.2"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npm-user-validate"."0.1.0"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."opener"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."path-is-inside"."1.0.1"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-installed"."2.0.7"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."request"."2.30.0"
-      self.by-version."retry"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.3.2"
-      self.by-version."sha"."1.2.4"
-      self.by-version."slide"."1.1.5"
-      self.by-version."sorted-object"."1.0.0"
-      self.by-version."tar"."0.1.20"
-      self.by-version."text-table"."0.2.0"
-      self.by-version."uid-number"."0.0.5"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
+      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "async-some-1.0.1" = self.by-version."async-some"."1.0.1";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "char-spinner-1.0.1" = self.by-version."char-spinner"."1.0.1";
+      "child-process-close-0.1.1" = self.by-version."child-process-close"."0.1.1";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "cmd-shim-2.0.1" = self.by-version."cmd-shim"."2.0.1";
+      "columnify-1.2.1" = self.by-version."columnify"."1.2.1";
+      "editor-0.1.0" = self.by-version."editor"."0.1.0";
+      "fs-vacuum-1.2.1" = self.by-version."fs-vacuum"."1.2.1";
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "fstream-npm-1.0.0" = self.by-version."fstream-npm"."1.0.0";
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "inflight-1.0.1" = self.by-version."inflight"."1.0.1";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "init-package-json-1.0.1" = self.by-version."init-package-json"."1.0.1";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "node-gyp-1.0.2" = self.by-version."node-gyp"."1.0.2";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "npm-install-checks-1.0.4" = self.by-version."npm-install-checks"."1.0.4";
+      "npm-package-arg-2.1.1" = self.by-version."npm-package-arg"."2.1.1";
+      "npm-registry-client-3.1.8" = self.by-version."npm-registry-client"."3.1.8";
+      "npm-user-validate-0.1.0" = self.by-version."npm-user-validate"."0.1.0";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "opener-1.3.0" = self.by-version."opener"."1.3.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-installed-3.1.3" = self.by-version."read-installed"."3.1.3";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "sha-1.2.4" = self.by-version."sha"."1.2.4";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "sorted-object-1.0.0" = self.by-version."sorted-object"."1.0.0";
+      "tar-1.0.1" = self.by-version."tar"."1.0.1";
+      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.by-version."npm"."2.0.0-alpha-5";
+  "npm" = self.by-version."npm"."2.0.0-beta.3";
   by-spec."npm-cache-filename"."^1.0.0" =
     self.by-version."npm-cache-filename"."1.0.1";
   by-version."npm-cache-filename"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-cache-filename-1.0.1";
+    name = "npm-cache-filename-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.1.tgz";
@@ -12907,8 +13894,8 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-cache-filename" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-cache-filename" ];
@@ -12916,42 +13903,44 @@
   by-spec."npm-cache-filename"."~1.0.1" =
     self.by-version."npm-cache-filename"."1.0.1";
   by-spec."npm-install-checks"."~1.0.2" =
-    self.by-version."npm-install-checks"."1.0.3";
-  by-version."npm-install-checks"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-install-checks-1.0.3";
+    self.by-version."npm-install-checks"."1.0.4";
+  by-version."npm-install-checks"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-install-checks-1.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.3.tgz";
-        name = "npm-install-checks-1.0.3.tgz";
-        sha1 = "9301006141a8f1454ae6bfe9a2f89da91316de02";
+        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.4.tgz";
+        name = "npm-install-checks-1.0.4.tgz";
+        sha1 = "9757c6f9d4d493c2489465da6d07a8ed416d44c8";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-install-checks" or []);
-    deps = [
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-install-checks" ];
   };
-  by-spec."npm-package-arg"."~2.0.0" =
-    self.by-version."npm-package-arg"."2.0.2";
-  by-version."npm-package-arg"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-package-arg-2.0.2";
+  by-spec."npm-package-arg"."~2.1.0" =
+    self.by-version."npm-package-arg"."2.1.1";
+  by-version."npm-package-arg"."2.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-package-arg-2.1.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.0.2.tgz";
-        name = "npm-package-arg-2.0.2.tgz";
-        sha1 = "e4f660c683068eccba9b27b4075cc00c0ccc6037";
+        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.1.1.tgz";
+        name = "npm-package-arg-2.1.1.tgz";
+        sha1 = "05cd158bd581be9588b588d0937ebfe649ff04cd";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-package-arg" or []);
-    deps = [
-      self.by-version."semver"."3.0.1"
-    ];
+    deps = {
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-package-arg" ];
@@ -12959,7 +13948,8 @@
   by-spec."npm-registry-client"."0.2.27" =
     self.by-version."npm-registry-client"."0.2.27";
   by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-registry-client-0.2.27";
+    name = "npm-registry-client-0.2.27";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
@@ -12969,58 +13959,61 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."semver"."2.0.11"
-      self.by-version."slide"."1.1.5"
-      self.by-version."chownr"."0.0.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."retry"."0.6.0"
-      self.by-version."couch-login"."0.1.20"
-      self.by-version."npmlog"."0.1.1"
-    ];
+    deps = {
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "semver-2.0.11" = self.by-version."semver"."2.0.11";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "couch-login-0.1.20" = self.by-version."couch-login"."0.1.20";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  by-spec."npm-registry-client"."~3.0.0" =
-    self.by-version."npm-registry-client"."3.0.6";
-  by-version."npm-registry-client"."3.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-registry-client-3.0.6";
+  by-spec."npm-registry-client"."~3.1.4" =
+    self.by-version."npm-registry-client"."3.1.8";
+  by-version."npm-registry-client"."3.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-3.1.8";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.0.6.tgz";
-        name = "npm-registry-client-3.0.6.tgz";
-        sha1 = "14a17d9a60ed2a80b04edcbc596dbce0d96540ee";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.1.8.tgz";
+        name = "npm-registry-client-3.1.8.tgz";
+        sha1 = "8cc5e0e6523683a95ba0735e53fddb5819372033";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."chownr"."0.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."normalize-package-data"."0.4.2"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."retry"."0.6.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."npmlog"."0.1.1"
-    ];
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  by-spec."npm-registry-client"."~3.0.2" =
-    self.by-version."npm-registry-client"."3.0.6";
+  by-spec."npm-registry-client"."~3.1.7" =
+    self.by-version."npm-registry-client"."3.1.8";
   by-spec."npm-user-validate"."~0.1.0" =
     self.by-version."npm-user-validate"."0.1.0";
   by-version."npm-user-validate"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-user-validate-0.1.0";
+    name = "npm-user-validate-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.0.tgz";
@@ -13030,44 +14023,46 @@
     ];
     buildInputs =
       (self.nativeDeps."npm-user-validate" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
   by-spec."npm2nix"."*" =
-    self.by-version."npm2nix"."5.7.0";
-  by-version."npm2nix"."5.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.7.0";
+    self.by-version."npm2nix"."5.8.1";
+  by-version."npm2nix"."5.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.8.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.7.0.tgz";
-        name = "npm2nix-5.7.0.tgz";
-        sha1 = "ac4547c4ee35fd19fd8dfcf1b1f47eccfb6b6dfa";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.8.1.tgz";
+        name = "npm2nix-5.8.1.tgz";
+        sha1 = "0d8356b458caaa677b4a1225fea4900f2995982f";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm2nix" or []);
-    deps = [
-      self.by-version."semver"."2.3.2"
-      self.by-version."argparse"."0.1.15"
-      self.by-version."npm-registry-client"."0.2.27"
-      self.by-version."npmconf"."0.1.1"
-      self.by-version."tar"."0.1.17"
-      self.by-version."temp"."0.6.0"
-      self.by-version."fs.extra"."1.2.1"
-      self.by-version."findit"."1.2.0"
-    ];
+    deps = {
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "npm-registry-client-0.2.27" = self.by-version."npm-registry-client"."0.2.27";
+      "npmconf-0.1.1" = self.by-version."npmconf"."0.1.1";
+      "tar-0.1.17" = self.by-version."tar"."0.1.17";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "fs.extra-1.2.1" = self.by-version."fs.extra"."1.2.1";
+      "findit-1.2.0" = self.by-version."findit"."1.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.by-version."npm2nix"."5.7.0";
+  "npm2nix" = self.by-version."npm2nix"."5.8.1";
   by-spec."npmconf"."0.0.24" =
     self.by-version."npmconf"."0.0.24";
   by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.0.24";
+    name = "npmconf-0.0.24";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
@@ -13077,16 +14072,16 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."1.0.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."1.1.4"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
@@ -13094,7 +14089,8 @@
   by-spec."npmconf"."0.1.1" =
     self.by-version."npmconf"."0.1.1";
   by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.1";
+    name = "npmconf-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
@@ -13104,16 +14100,16 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."1.0.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
@@ -13121,7 +14117,8 @@
   by-spec."npmconf"."~0.1.2" =
     self.by-version."npmconf"."0.1.16";
   by-version."npmconf"."0.1.16" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.16";
+    name = "npmconf-0.1.16";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
@@ -13131,54 +14128,56 @@
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  by-spec."npmconf"."~2.0.1" =
-    self.by-version."npmconf"."2.0.5";
-  by-version."npmconf"."2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-2.0.5";
+  by-spec."npmconf"."~2.0.5" =
+    self.by-version."npmconf"."2.0.9";
+  by-version."npmconf"."2.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-2.0.9";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.5.tgz";
-        name = "npmconf-2.0.5.tgz";
-        sha1 = "70ad9975cd8d855e198a2deec8df6d04d932035c";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.9.tgz";
+        name = "npmconf-2.0.9.tgz";
+        sha1 = "5c87e5fb308104eceeca781e3d9115d216351ef2";
       })
     ];
     buildInputs =
       (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."semver"."3.0.1"
-      self.by-version."uid-number"."0.0.5"
-    ];
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  by-spec."npmconf"."~2.0.3" =
-    self.by-version."npmconf"."2.0.5";
+  by-spec."npmconf"."~2.0.8" =
+    self.by-version."npmconf"."2.0.9";
   by-spec."npmlog"."*" =
     self.by-version."npmlog"."0.1.1";
   by-version."npmlog"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmlog-0.1.1";
+    name = "npmlog-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz";
@@ -13188,9 +14187,9 @@
     ];
     buildInputs =
       (self.nativeDeps."npmlog" or []);
-    deps = [
-      self.by-version."ansi"."0.3.0"
-    ];
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "npmlog" ];
@@ -13204,7 +14203,8 @@
   by-spec."nssocket"."~0.5.1" =
     self.by-version."nssocket"."0.5.1";
   by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nssocket-0.5.1";
+    name = "nssocket-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
@@ -13214,10 +14214,10 @@
     ];
     buildInputs =
       (self.nativeDeps."nssocket" or []);
-    deps = [
-      self.by-version."eventemitter2"."0.4.14"
-      self.by-version."lazy"."1.0.11"
-    ];
+    deps = {
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "lazy-1.0.11" = self.by-version."lazy"."1.0.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "nssocket" ];
@@ -13225,7 +14225,8 @@
   by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
     self.by-version."oauth"."0.9.11";
   by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-0.9.11";
+    name = "oauth-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "https://github.com/ciaranj/node-oauth/tarball/master";
@@ -13235,8 +14236,8 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth" ];
@@ -13244,7 +14245,8 @@
   by-spec."oauth-sign"."~0.2.0" =
     self.by-version."oauth-sign"."0.2.0";
   by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-sign-0.2.0";
+    name = "oauth-sign-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
@@ -13254,8 +14256,8 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth-sign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
@@ -13263,7 +14265,8 @@
   by-spec."oauth-sign"."~0.3.0" =
     self.by-version."oauth-sign"."0.3.0";
   by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-sign-0.3.0";
+    name = "oauth-sign-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
@@ -13273,8 +14276,28 @@
     ];
     buildInputs =
       (self.nativeDeps."oauth-sign" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+        name = "oauth-sign-0.4.0.tgz";
+        sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
@@ -13282,7 +14305,8 @@
   by-spec."object-additions".">= 0.5.0" =
     self.by-version."object-additions"."0.5.1";
   by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-additions-0.5.1";
+    name = "object-additions-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
@@ -13292,8 +14316,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-additions" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-additions" ];
@@ -13301,7 +14325,8 @@
   by-spec."object-assign"."~0.3.1" =
     self.by-version."object-assign"."0.3.1";
   by-version."object-assign"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-assign-0.3.1";
+    name = "object-assign-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz";
@@ -13311,8 +14336,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-assign" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-assign" ];
@@ -13320,7 +14345,8 @@
   by-spec."object-keys"."~0.4.0" =
     self.by-version."object-keys"."0.4.0";
   by-version."object-keys"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-keys-0.4.0";
+    name = "object-keys-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
@@ -13330,8 +14356,8 @@
     ];
     buildInputs =
       (self.nativeDeps."object-keys" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "object-keys" ];
@@ -13339,7 +14365,8 @@
   by-spec."on-finished"."2.1.0" =
     self.by-version."on-finished"."2.1.0";
   by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-finished-2.1.0";
+    name = "on-finished-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
@@ -13349,36 +14376,20 @@
     ];
     buildInputs =
       (self.nativeDeps."on-finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.5"
-    ];
+    deps = {
+      "ee-first-1.0.5" = self.by-version."ee-first"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "on-finished" ];
   };
-  by-spec."on-headers"."0.0.0" =
-    self.by-version."on-headers"."0.0.0";
-  by-version."on-headers"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-headers/-/on-headers-0.0.0.tgz";
-        name = "on-headers-0.0.0.tgz";
-        sha1 = "ee2817f8344325785cd9c2df2b242bbc17caf4c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-headers" ];
-  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.0";
   by-spec."on-headers"."~1.0.0" =
     self.by-version."on-headers"."1.0.0";
   by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-1.0.0";
+    name = "on-headers-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
@@ -13388,8 +14399,8 @@
     ];
     buildInputs =
       (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "on-headers" ];
@@ -13397,7 +14408,8 @@
   by-spec."once"."1.1.1" =
     self.by-version."once"."1.1.1";
   by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.1.1";
+    name = "once-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
@@ -13407,8 +14419,8 @@
     ];
     buildInputs =
       (self.nativeDeps."once" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
@@ -13416,7 +14428,8 @@
   by-spec."once"."1.x" =
     self.by-version."once"."1.3.0";
   by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.3.0";
+    name = "once-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
@@ -13426,8 +14439,8 @@
     ];
     buildInputs =
       (self.nativeDeps."once" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
@@ -13438,29 +14451,11 @@
     self.by-version."once"."1.1.1";
   by-spec."once"."~1.3.0" =
     self.by-version."once"."1.3.0";
-  by-spec."only"."0.0.2" =
-    self.by-version."only"."0.0.2";
-  by-version."only"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-only-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/only/-/only-0.0.2.tgz";
-        name = "only-0.0.2.tgz";
-        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."only" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "only" ];
-  };
   by-spec."open"."0.0.2" =
     self.by-version."open"."0.0.2";
   by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.2";
+    name = "open-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz";
@@ -13470,8 +14465,8 @@
     ];
     buildInputs =
       (self.nativeDeps."open" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
@@ -13479,7 +14474,8 @@
   by-spec."open"."~0.0.5" =
     self.by-version."open"."0.0.5";
   by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.5";
+    name = "open-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz";
@@ -13489,8 +14485,8 @@
     ];
     buildInputs =
       (self.nativeDeps."open" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
@@ -13499,6 +14495,7 @@
     self.by-version."opener"."1.3.0";
   by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "opener-1.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
@@ -13508,8 +14505,8 @@
     ];
     buildInputs =
       (self.nativeDeps."opener" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "opener" ];
@@ -13517,7 +14514,8 @@
   by-spec."openid".">=0.2.0" =
     self.by-version."openid"."0.5.9";
   by-version."openid"."0.5.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-openid-0.5.9";
+    name = "openid-0.5.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/openid/-/openid-0.5.9.tgz";
@@ -13527,8 +14525,8 @@
     ];
     buildInputs =
       (self.nativeDeps."openid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "openid" ];
@@ -13536,7 +14534,8 @@
   by-spec."optimist"."*" =
     self.by-version."optimist"."0.6.1";
   by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.1";
+    name = "optimist-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
@@ -13546,10 +14545,10 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13558,7 +14557,8 @@
   by-spec."optimist"."0.2" =
     self.by-version."optimist"."0.2.8";
   by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.2.8";
+    name = "optimist-0.2.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
@@ -13568,9 +14568,9 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13578,7 +14578,8 @@
   by-spec."optimist"."0.6.0" =
     self.by-version."optimist"."0.6.0";
   by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.0";
+    name = "optimist-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
@@ -13588,10 +14589,10 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13601,7 +14602,8 @@
   by-spec."optimist"."~0.3" =
     self.by-version."optimist"."0.3.7";
   by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.3.7";
+    name = "optimist-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
@@ -13611,9 +14613,9 @@
     ];
     buildInputs =
       (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
@@ -13627,7 +14629,8 @@
   by-spec."options".">=0.0.5" =
     self.by-version."options"."0.0.5";
   by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-options-0.0.5";
+    name = "options-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
@@ -13637,8 +14640,8 @@
     ];
     buildInputs =
       (self.nativeDeps."options" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "options" ];
@@ -13646,7 +14649,8 @@
   by-spec."optparse"."*" =
     self.by-version."optparse"."1.0.5";
   by-version."optparse"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optparse-1.0.5";
+    name = "optparse-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
@@ -13656,8 +14660,8 @@
     ];
     buildInputs =
       (self.nativeDeps."optparse" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "optparse" ];
@@ -13665,10 +14669,34 @@
   "optparse" = self.by-version."optparse"."1.0.5";
   by-spec."optparse".">= 1.0.3" =
     self.by-version."optparse"."1.0.5";
+  by-spec."orchestrator"."^0.3.0" =
+    self.by-version."orchestrator"."0.3.7";
+  by-version."orchestrator"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "orchestrator-0.3.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz";
+        name = "orchestrator-0.3.7.tgz";
+        sha1 = "c45064e22c5a2a7b99734f409a95ffedc7d3c3df";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."orchestrator" or []);
+    deps = {
+      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
+      "sequencify-0.0.7" = self.by-version."sequencify"."0.0.7";
+      "stream-consume-0.1.0" = self.by-version."stream-consume"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "orchestrator" ];
+  };
   by-spec."ordered-read-streams"."0.0.8" =
     self.by-version."ordered-read-streams"."0.0.8";
   by-version."ordered-read-streams"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ordered-read-streams-0.0.8";
+    name = "ordered-read-streams-0.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.8.tgz";
@@ -13678,8 +14706,8 @@
     ];
     buildInputs =
       (self.nativeDeps."ordered-read-streams" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ordered-read-streams" ];
@@ -13687,7 +14715,8 @@
   by-spec."os-browserify"."~0.1.1" =
     self.by-version."os-browserify"."0.1.2";
   by-version."os-browserify"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-os-browserify-0.1.2";
+    name = "os-browserify-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
@@ -13697,8 +14726,8 @@
     ];
     buildInputs =
       (self.nativeDeps."os-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "os-browserify" ];
@@ -13706,7 +14735,8 @@
   by-spec."osenv"."0" =
     self.by-version."osenv"."0.1.0";
   by-version."osenv"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.1.0";
+    name = "osenv-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz";
@@ -13716,8 +14746,8 @@
     ];
     buildInputs =
       (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
@@ -13725,7 +14755,8 @@
   by-spec."osenv"."0.0.3" =
     self.by-version."osenv"."0.0.3";
   by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.0.3";
+    name = "osenv-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
@@ -13735,8 +14766,8 @@
     ];
     buildInputs =
       (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
@@ -13748,7 +14779,8 @@
   by-spec."owl-deepcopy"."*" =
     self.by-version."owl-deepcopy"."0.0.4";
   by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-owl-deepcopy-0.0.4";
+    name = "owl-deepcopy-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
@@ -13758,8 +14790,8 @@
     ];
     buildInputs =
       (self.nativeDeps."owl-deepcopy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "owl-deepcopy" ];
@@ -13770,7 +14802,8 @@
   by-spec."pako"."~0.2.0" =
     self.by-version."pako"."0.2.5";
   by-version."pako"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pako-0.2.5";
+    name = "pako-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pako/-/pako-0.2.5.tgz";
@@ -13780,8 +14813,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pako" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pako" ];
@@ -13790,6 +14823,7 @@
     self.by-version."parents"."1.0.0";
   by-version."parents"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "parents-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parents/-/parents-1.0.0.tgz";
@@ -13799,9 +14833,9 @@
     ];
     buildInputs =
       (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
+    deps = {
+      "path-platform-0.0.1" = self.by-version."path-platform"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parents" ];
@@ -13810,6 +14844,7 @@
     self.by-version."parents"."0.0.3";
   by-version."parents"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "parents-0.0.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parents/-/parents-0.0.3.tgz";
@@ -13819,9 +14854,9 @@
     ];
     buildInputs =
       (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
+    deps = {
+      "path-platform-0.0.1" = self.by-version."path-platform"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parents" ];
@@ -13829,7 +14864,8 @@
   by-spec."parseurl"."1.0.1" =
     self.by-version."parseurl"."1.0.1";
   by-version."parseurl"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.0.1";
+    name = "parseurl-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
@@ -13839,46 +14875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."parseurl"."~1.1.3" =
-    self.by-version."parseurl"."1.1.3";
-  by-version."parseurl"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.1.3.tgz";
-        name = "parseurl-1.1.3.tgz";
-        sha1 = "1f005738ac71b417bc2d0845cbdfa2a8b63ea639";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."parseurl"."~1.2.0" =
-    self.by-version."parseurl"."1.2.0";
-  by-version."parseurl"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.2.0.tgz";
-        name = "parseurl-1.2.0.tgz";
-        sha1 = "be7df2d698eb49ffb10ea62939693e152991c008";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parseurl" ];
@@ -13886,7 +14884,8 @@
   by-spec."parseurl"."~1.3.0" =
     self.by-version."parseurl"."1.3.0";
   by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.3.0";
+    name = "parseurl-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
@@ -13896,38 +14895,40 @@
     ];
     buildInputs =
       (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "parseurl" ];
   };
   by-spec."passport"."*" =
-    self.by-version."passport"."0.2.0";
-  by-version."passport"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.2.0";
+    self.by-version."passport"."0.2.1";
+  by-version."passport"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "passport-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.2.0.tgz";
-        name = "passport-0.2.0.tgz";
-        sha1 = "ae5ebc5611300d51fdc44032c7ca442a548dbca5";
+        url = "http://registry.npmjs.org/passport/-/passport-0.2.1.tgz";
+        name = "passport-0.2.1.tgz";
+        sha1 = "a7d34c07b30fb605be885edbc8c93e5142e38574";
       })
     ];
     buildInputs =
       (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
-  "passport" = self.by-version."passport"."0.2.0";
+  "passport" = self.by-version."passport"."0.2.1";
   by-spec."passport"."~0.1.3" =
     self.by-version."passport"."0.1.18";
   by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.1.18";
+    name = "passport-0.1.18";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
@@ -13937,20 +14938,21 @@
     ];
     buildInputs =
       (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."pause"."0.0.1"
-    ];
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
   by-spec."passport"."~0.2.0" =
-    self.by-version."passport"."0.2.0";
+    self.by-version."passport"."0.2.1";
   by-spec."passport-http"."*" =
     self.by-version."passport-http"."0.2.2";
   by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-http-0.2.2";
+    name = "passport-http-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
@@ -13960,10 +14962,10 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-http" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."passport"."0.1.18"
-    ];
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-0.1.18" = self.by-version."passport"."0.1.18";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-http" ];
@@ -13972,7 +14974,8 @@
   by-spec."passport-local"."*" =
     self.by-version."passport-local"."1.0.0";
   by-version."passport-local"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-local-1.0.0";
+    name = "passport-local-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
@@ -13982,9 +14985,9 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-local" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-    ];
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-local" ];
@@ -13995,7 +14998,8 @@
   by-spec."passport-strategy"."1.x.x" =
     self.by-version."passport-strategy"."1.0.0";
   by-version."passport-strategy"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-strategy-1.0.0";
+    name = "passport-strategy-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
@@ -14005,8 +15009,8 @@
     ];
     buildInputs =
       (self.nativeDeps."passport-strategy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "passport-strategy" ];
@@ -14014,7 +15018,8 @@
   by-spec."path-browserify"."~0.0.0" =
     self.by-version."path-browserify"."0.0.0";
   by-version."path-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-browserify-0.0.0";
+    name = "path-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
@@ -14024,8 +15029,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-browserify" ];
@@ -14033,7 +15038,8 @@
   by-spec."path-is-inside"."~1.0.0" =
     self.by-version."path-is-inside"."1.0.1";
   by-version."path-is-inside"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-is-inside-1.0.1";
+    name = "path-is-inside-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
@@ -14043,8 +15049,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-is-inside" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-is-inside" ];
@@ -14052,7 +15058,8 @@
   by-spec."path-platform"."^0.0.1" =
     self.by-version."path-platform"."0.0.1";
   by-version."path-platform"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-platform-0.0.1";
+    name = "path-platform-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz";
@@ -14062,8 +15069,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-platform" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-platform" ];
@@ -14071,7 +15078,8 @@
   by-spec."path-to-regexp"."0.1.2" =
     self.by-version."path-to-regexp"."0.1.2";
   by-version."path-to-regexp"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.2";
+    name = "path-to-regexp-0.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz";
@@ -14081,8 +15089,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-to-regexp" ];
@@ -14090,7 +15098,8 @@
   by-spec."path-to-regexp"."0.1.3" =
     self.by-version."path-to-regexp"."0.1.3";
   by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.3";
+    name = "path-to-regexp-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
@@ -14100,8 +15109,8 @@
     ];
     buildInputs =
       (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "path-to-regexp" ];
@@ -14109,7 +15118,8 @@
   by-spec."pause"."0.0.1" =
     self.by-version."pause"."0.0.1";
   by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pause-0.0.1";
+    name = "pause-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
@@ -14119,8 +15129,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pause" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pause" ];
@@ -14129,6 +15139,7 @@
     self.by-version."phantomjs"."1.9.7-15";
   by-version."phantomjs"."1.9.7-15" = lib.makeOverridable self.buildNodePackage {
     name = "phantomjs-1.9.7-15";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
@@ -14138,18 +15149,18 @@
     ];
     buildInputs =
       (self.nativeDeps."phantomjs" or []);
-    deps = [
-      self.by-version."adm-zip"."0.2.1"
-      self.by-version."kew"."0.1.7"
-      self.by-version."ncp"."0.4.2"
-      self.by-version."npmconf"."0.0.24"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."progress"."1.1.8"
-      self.by-version."request"."2.36.0"
-      self.by-version."request-progress"."0.3.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."which"."1.0.5"
-    ];
+    deps = {
+      "adm-zip-0.2.1" = self.by-version."adm-zip"."0.2.1";
+      "kew-0.1.7" = self.by-version."kew"."0.1.7";
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "npmconf-0.0.24" = self.by-version."npmconf"."0.0.24";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "progress-1.1.8" = self.by-version."progress"."1.1.8";
+      "request-2.36.0" = self.by-version."request"."2.36.0";
+      "request-progress-0.3.1" = self.by-version."request-progress"."0.3.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "phantomjs" ];
@@ -14162,7 +15173,8 @@
   by-spec."pkginfo"."0.2.x" =
     self.by-version."pkginfo"."0.2.3";
   by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.2.3";
+    name = "pkginfo-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
@@ -14172,8 +15184,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
@@ -14181,7 +15193,8 @@
   by-spec."pkginfo"."0.3.0" =
     self.by-version."pkginfo"."0.3.0";
   by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.3.0";
+    name = "pkginfo-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
@@ -14191,8 +15204,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
@@ -14204,7 +15217,8 @@
   by-spec."plist-native"."*" =
     self.by-version."plist-native"."0.3.1";
   by-version."plist-native"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-plist-native-0.3.1";
+    name = "plist-native-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/plist-native/-/plist-native-0.3.1.tgz";
@@ -14214,9 +15228,9 @@
     ];
     buildInputs =
       (self.nativeDeps."plist-native" or []);
-    deps = [
-      self.by-version."libxmljs"."0.10.0"
-    ];
+    deps = {
+      "libxmljs-0.10.0" = self.by-version."libxmljs"."0.10.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "plist-native" ];
@@ -14225,7 +15239,8 @@
   by-spec."policyfile"."0.0.4" =
     self.by-version."policyfile"."0.0.4";
   by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-policyfile-0.0.4";
+    name = "policyfile-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
@@ -14235,8 +15250,8 @@
     ];
     buildInputs =
       (self.nativeDeps."policyfile" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "policyfile" ];
@@ -14244,7 +15259,8 @@
   by-spec."posix"."*" =
     self.by-version."posix"."1.0.3";
   by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-posix-1.0.3";
+    name = "posix-1.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz";
@@ -14254,8 +15270,8 @@
     ];
     buildInputs =
       (self.nativeDeps."posix" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "posix" ];
@@ -14264,7 +15280,8 @@
   by-spec."posix-getopt"."1.0.0" =
     self.by-version."posix-getopt"."1.0.0";
   by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-posix-getopt-1.0.0";
+    name = "posix-getopt-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
@@ -14274,8 +15291,8 @@
     ];
     buildInputs =
       (self.nativeDeps."posix-getopt" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "posix-getopt" ];
@@ -14284,6 +15301,7 @@
     self.by-version."pretty-bytes"."0.1.2";
   by-version."pretty-bytes"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "pretty-bytes-0.1.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz";
@@ -14293,16 +15311,37 @@
     ];
     buildInputs =
       (self.nativeDeps."pretty-bytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pretty-bytes" ];
   };
+  by-spec."pretty-hrtime"."^0.2.0" =
+    self.by-version."pretty-hrtime"."0.2.1";
+  by-version."pretty-hrtime"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "pretty-hrtime-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.1.tgz";
+        name = "pretty-hrtime-0.2.1.tgz";
+        sha1 = "f341d39215fa5f7bff50af7d8572f8d4ec9d12f6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pretty-hrtime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pretty-hrtime" ];
+  };
   by-spec."process"."^0.7.0" =
     self.by-version."process"."0.7.0";
   by-version."process"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.7.0";
+    name = "process-0.7.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.7.0.tgz";
@@ -14312,8 +15351,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14321,7 +15360,8 @@
   by-spec."process"."~0.5.1" =
     self.by-version."process"."0.5.2";
   by-version."process"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.5.2";
+    name = "process-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz";
@@ -14331,8 +15371,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14340,7 +15380,8 @@
   by-spec."process"."~0.6.0" =
     self.by-version."process"."0.6.0";
   by-version."process"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.6.0";
+    name = "process-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz";
@@ -14350,8 +15391,8 @@
     ];
     buildInputs =
       (self.nativeDeps."process" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "process" ];
@@ -14359,7 +15400,8 @@
   by-spec."progress"."^1.1.5" =
     self.by-version."progress"."1.1.8";
   by-version."progress"."1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-progress-1.1.8";
+    name = "progress-1.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
@@ -14369,8 +15411,8 @@
     ];
     buildInputs =
       (self.nativeDeps."progress" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "progress" ];
@@ -14378,7 +15420,8 @@
   by-spec."promise"."~2.0" =
     self.by-version."promise"."2.0.0";
   by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promise-2.0.0";
+    name = "promise-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
@@ -14388,9 +15431,9 @@
     ];
     buildInputs =
       (self.nativeDeps."promise" or []);
-    deps = [
-      self.by-version."is-promise"."1.0.1"
-    ];
+    deps = {
+      "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
@@ -14398,7 +15441,8 @@
   by-spec."prompt"."0.2.11" =
     self.by-version."prompt"."0.2.11";
   by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-prompt-0.2.11";
+    name = "prompt-0.2.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
@@ -14408,13 +15452,13 @@
     ];
     buildInputs =
       (self.nativeDeps."prompt" or []);
-    deps = [
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."read"."1.0.5"
-      self.by-version."revalidator"."0.1.8"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.6.2"
-    ];
+    deps = {
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "revalidator-0.1.8" = self.by-version."revalidator"."0.1.8";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
@@ -14422,7 +15466,8 @@
   by-spec."promzard"."~0.2.0" =
     self.by-version."promzard"."0.2.2";
   by-version."promzard"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promzard-0.2.2";
+    name = "promzard-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz";
@@ -14432,9 +15477,9 @@
     ];
     buildInputs =
       (self.nativeDeps."promzard" or []);
-    deps = [
-      self.by-version."read"."1.0.5"
-    ];
+    deps = {
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "promzard" ];
@@ -14442,7 +15487,8 @@
   by-spec."proto-list"."~1.2.1" =
     self.by-version."proto-list"."1.2.3";
   by-version."proto-list"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proto-list-1.2.3";
+    name = "proto-list-1.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz";
@@ -14452,8 +15498,8 @@
     ];
     buildInputs =
       (self.nativeDeps."proto-list" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "proto-list" ];
@@ -14461,7 +15507,8 @@
   by-spec."proxy-addr"."1.0.1" =
     self.by-version."proxy-addr"."1.0.1";
   by-version."proxy-addr"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proxy-addr-1.0.1";
+    name = "proxy-addr-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
@@ -14471,9 +15518,9 @@
     ];
     buildInputs =
       (self.nativeDeps."proxy-addr" or []);
-    deps = [
-      self.by-version."ipaddr.js"."0.1.2"
-    ];
+    deps = {
+      "ipaddr.js-0.1.2" = self.by-version."ipaddr.js"."0.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "proxy-addr" ];
@@ -14481,7 +15528,8 @@
   by-spec."ps-tree"."0.0.x" =
     self.by-version."ps-tree"."0.0.3";
   by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ps-tree-0.0.3";
+    name = "ps-tree-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
@@ -14491,9 +15539,9 @@
     ];
     buildInputs =
       (self.nativeDeps."ps-tree" or []);
-    deps = [
-      self.by-version."event-stream"."0.5.3"
-    ];
+    deps = {
+      "event-stream-0.5.3" = self.by-version."event-stream"."0.5.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
@@ -14503,7 +15551,8 @@
   by-spec."punycode"."1.2.4" =
     self.by-version."punycode"."1.2.4";
   by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.2.4";
+    name = "punycode-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
@@ -14513,8 +15562,8 @@
     ];
     buildInputs =
       (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "punycode" ];
@@ -14522,7 +15571,8 @@
   by-spec."punycode".">=0.2.0" =
     self.by-version."punycode"."1.3.1";
   by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.1";
+    name = "punycode-1.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
@@ -14532,8 +15582,8 @@
     ];
     buildInputs =
       (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "punycode" ];
@@ -14545,7 +15595,8 @@
   by-spec."pure-css"."git://github.com/yui/pure.git#v0.5.0-rc-1" =
     self.by-version."pure-css"."0.5.0-rc-1";
   by-version."pure-css"."0.5.0-rc-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pure-0.5.0-rc-1";
+    name = "pure-0.5.0-rc-1";
+    bin = false;
     src = [
       (fetchgit {
         url = "git://github.com/yui/pure.git";
@@ -14555,8 +15606,8 @@
     ];
     buildInputs =
       (self.nativeDeps."pure" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "pure" ];
@@ -14565,7 +15616,8 @@
   by-spec."q".">= 0.0.1" =
     self.by-version."q"."2.0.2";
   by-version."q"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-2.0.2";
+    name = "q-2.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-2.0.2.tgz";
@@ -14575,10 +15627,10 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-      self.by-version."collections"."2.0.1"
-    ];
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+      "collections-2.0.1" = self.by-version."collections"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14586,7 +15638,8 @@
   by-spec."q"."~0.9.6" =
     self.by-version."q"."0.9.7";
   by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-0.9.7";
+    name = "q-0.9.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
@@ -14596,8 +15649,8 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14607,7 +15660,8 @@
   by-spec."q"."~1.0.1" =
     self.by-version."q"."1.0.1";
   by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-1.0.1";
+    name = "q-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
@@ -14617,8 +15671,8 @@
     ];
     buildInputs =
       (self.nativeDeps."q" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
@@ -14626,7 +15680,8 @@
   by-spec."qs"."0.4.2" =
     self.by-version."qs"."0.4.2";
   by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.4.2";
+    name = "qs-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
@@ -14636,8 +15691,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14647,7 +15702,8 @@
   by-spec."qs"."0.5.1" =
     self.by-version."qs"."0.5.1";
   by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.1";
+    name = "qs-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
@@ -14657,8 +15713,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14666,7 +15722,8 @@
   by-spec."qs"."0.5.2" =
     self.by-version."qs"."0.5.2";
   by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.2";
+    name = "qs-0.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.2.tgz";
@@ -14676,8 +15733,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14685,7 +15742,8 @@
   by-spec."qs"."0.5.5" =
     self.by-version."qs"."0.5.5";
   by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.5";
+    name = "qs-0.5.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
@@ -14695,8 +15753,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14704,7 +15762,8 @@
   by-spec."qs"."0.6.5" =
     self.by-version."qs"."0.6.5";
   by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.5";
+    name = "qs-0.6.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
@@ -14714,8 +15773,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14723,7 +15782,8 @@
   by-spec."qs"."0.6.6" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.6";
+    name = "qs-0.6.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
@@ -14733,37 +15793,59 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  by-spec."qs"."1.2.2" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.2.2";
+  by-spec."qs"."2.2.2" =
+    self.by-version."qs"."2.2.2";
+  by-version."qs"."2.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-2.2.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-        name = "qs-1.2.2.tgz";
-        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        name = "qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
       })
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."2.2.3" =
+    self.by-version."qs"."2.2.3";
+  by-version."qs"."2.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-2.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
+        name = "qs-2.2.3.tgz";
+        sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
   by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."1.2.2";
+    self.by-version."qs"."2.2.3";
   by-spec."qs"."~0.5.4" =
     self.by-version."qs"."0.5.6";
   by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.6";
+    name = "qs-0.5.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
@@ -14773,8 +15855,8 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14784,7 +15866,8 @@
   by-spec."qs"."~1.0.0" =
     self.by-version."qs"."1.0.2";
   by-version."qs"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.0.2";
+    name = "qs-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
@@ -14794,8 +15877,28 @@
     ];
     buildInputs =
       (self.nativeDeps."qs" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-1.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+        name = "qs-1.2.2.tgz";
+        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
@@ -14803,7 +15906,8 @@
   by-spec."querystring-es3"."~0.2.0" =
     self.by-version."querystring-es3"."0.2.1-0";
   by-version."querystring-es3"."0.2.1-0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-querystring-es3-0.2.1-0";
+    name = "querystring-es3-0.2.1-0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1-0.tgz";
@@ -14813,8 +15917,8 @@
     ];
     buildInputs =
       (self.nativeDeps."querystring-es3" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "querystring-es3" ];
@@ -14822,7 +15926,8 @@
   by-spec."rai"."~0.1.11" =
     self.by-version."rai"."0.1.11";
   by-version."rai"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rai-0.1.11";
+    name = "rai-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rai/-/rai-0.1.11.tgz";
@@ -14832,8 +15937,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rai" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
@@ -14841,7 +15946,8 @@
   by-spec."range-parser"."0.0.4" =
     self.by-version."range-parser"."0.0.4";
   by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-range-parser-0.0.4";
+    name = "range-parser-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
@@ -14851,8 +15957,8 @@
     ];
     buildInputs =
       (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
@@ -14860,7 +15966,8 @@
   by-spec."range-parser"."1.0.0" =
     self.by-version."range-parser"."1.0.0";
   by-version."range-parser"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-range-parser-1.0.0";
+    name = "range-parser-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
@@ -14870,36 +15977,54 @@
     ];
     buildInputs =
       (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
   by-spec."range-parser"."~1.0.0" =
-    self.by-version."range-parser"."1.0.0";
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+        name = "range-parser-1.0.2.tgz";
+        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
   by-spec."raven"."~0.7.0" =
-    self.by-version."raven"."0.7.0";
-  by-version."raven"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "raven-0.7.0";
+    self.by-version."raven"."0.7.2";
+  by-version."raven"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.7.2";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raven/-/raven-0.7.0.tgz";
-        name = "raven-0.7.0.tgz";
-        sha1 = "ec7fea6c0b87c59b252a9491c93d5bcf8d0c7ba0";
+        url = "http://registry.npmjs.org/raven/-/raven-0.7.2.tgz";
+        name = "raven-0.7.2.tgz";
+        sha1 = "51c1268e5d947e45c53fdb2e0a88b829c24a02a7";
       })
     ];
     buildInputs =
       (self.nativeDeps."raven" or []);
-    deps = [
-      self.by-version."cookie"."0.1.0"
-      self.by-version."lsmod"."0.0.3"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."stack-trace"."0.0.7"
-      self.by-version."connect"."3.1.1"
-      self.by-version."express"."4.8.5"
-      self.by-version."koa"."0.10.0"
-    ];
+    deps = {
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "lsmod-0.0.3" = self.by-version."lsmod"."0.0.3";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "stack-trace-0.0.7" = self.by-version."stack-trace"."0.0.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raven" ];
@@ -14907,7 +16032,8 @@
   by-spec."raw-body"."0.0.3" =
     self.by-version."raw-body"."0.0.3";
   by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-0.0.3";
+    name = "raw-body-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
@@ -14917,8 +16043,8 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14926,7 +16052,8 @@
   by-spec."raw-body"."1.1.2" =
     self.by-version."raw-body"."1.1.2";
   by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.1.2";
+    name = "raw-body-1.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz";
@@ -14936,30 +16063,9 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."raw-body"."1.2.2" =
-    self.by-version."raw-body"."1.2.2";
-  by-version."raw-body"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.2.2.tgz";
-        name = "raw-body-1.2.2.tgz";
-        sha1 = "0c68e1ee28cfed7dba4822234aec6078461cbc1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.3"
-    ];
+    deps = {
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14967,7 +16073,8 @@
   by-spec."raw-body"."1.3.0" =
     self.by-version."raw-body"."1.3.0";
   by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.3.0";
+    name = "raw-body-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
@@ -14977,10 +16084,10 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.4"
-    ];
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-body" ];
@@ -14988,7 +16095,8 @@
   by-spec."raw-socket"."*" =
     self.by-version."raw-socket"."1.2.2";
   by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-socket-1.2.2";
+    name = "raw-socket-1.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
@@ -14998,8 +16106,8 @@
     ];
     buildInputs =
       (self.nativeDeps."raw-socket" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "raw-socket" ];
@@ -15007,7 +16115,8 @@
   by-spec."rbytes"."*" =
     self.by-version."rbytes"."1.1.0";
   by-version."rbytes"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rbytes-1.1.0";
+    name = "rbytes-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rbytes/-/rbytes-1.1.0.tgz";
@@ -15017,8 +16126,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rbytes" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rbytes" ];
@@ -15028,6 +16137,7 @@
     self.by-version."rc"."0.3.5";
   by-version."rc"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "rc-0.3.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rc/-/rc-0.3.5.tgz";
@@ -15037,34 +16147,35 @@
     ];
     buildInputs =
       (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rc" ];
   };
-  by-spec."rc"."~0.4.0" =
-    self.by-version."rc"."0.4.0";
-  by-version."rc"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.4.0";
+  by-spec."rc"."~0.5.0" =
+    self.by-version."rc"."0.5.1";
+  by-version."rc"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.5.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.4.0.tgz";
-        name = "rc-0.4.0.tgz";
-        sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
+        url = "http://registry.npmjs.org/rc/-/rc-0.5.1.tgz";
+        name = "rc-0.5.1.tgz";
+        sha1 = "b88ef9421a08151352a659e0c3a58c4b82eb7576";
       })
     ];
     buildInputs =
       (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."strip-json-comments"."0.1.3"
-      self.by-version."ini"."1.1.0"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rc" ];
@@ -15072,7 +16183,8 @@
   by-spec."react"."*" =
     self.by-version."react"."0.11.1";
   by-version."react"."0.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-react-0.11.1";
+    name = "react-0.11.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/react/-/react-0.11.1.tgz";
@@ -15082,9 +16194,9 @@
     ];
     buildInputs =
       (self.nativeDeps."react" or []);
-    deps = [
-      self.by-version."envify"."2.0.1"
-    ];
+    deps = {
+      "envify-2.0.1" = self.by-version."envify"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "react" ];
@@ -15093,7 +16205,8 @@
   by-spec."read"."1" =
     self.by-version."read"."1.0.5";
   by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-1.0.5";
+    name = "read-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
@@ -15103,9 +16216,9 @@
     ];
     buildInputs =
       (self.nativeDeps."read" or []);
-    deps = [
-      self.by-version."mute-stream"."0.0.4"
-    ];
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read" ];
@@ -15116,60 +16229,66 @@
     self.by-version."read"."1.0.5";
   by-spec."read"."~1.0.4" =
     self.by-version."read"."1.0.5";
-  by-spec."read-installed"."~2.0.5" =
-    self.by-version."read-installed"."2.0.7";
-  by-version."read-installed"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-installed-2.0.7";
+  by-spec."read-installed"."~3.1.1" =
+    self.by-version."read-installed"."3.1.3";
+  by-version."read-installed"."3.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "read-installed-3.1.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.7.tgz";
-        name = "read-installed-2.0.7.tgz";
-        sha1 = "a82157a5e273576c57f230ecec3702ab215a6d6c";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-3.1.3.tgz";
+        name = "read-installed-3.1.3.tgz";
+        sha1 = "c09092a13c2117f22842cad16804f3b059129d11";
       })
     ];
     buildInputs =
       (self.nativeDeps."read-installed" or []);
-    deps = [
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."util-extend"."1.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "readdir-scoped-modules-1.0.0" = self.by-version."readdir-scoped-modules"."1.0.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "util-extend-1.0.1" = self.by-version."util-extend"."1.0.1";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read-installed" ];
   };
   by-spec."read-package-json"."1" =
-    self.by-version."read-package-json"."1.2.6";
-  by-version."read-package-json"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-package-json-1.2.6";
+    self.by-version."read-package-json"."1.2.7";
+  by-version."read-package-json"."1.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "read-package-json-1.2.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.6.tgz";
-        name = "read-package-json-1.2.6.tgz";
-        sha1 = "eedcc11ba25a94f80e5941fdbccff4a21d8ab13a";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz";
+        name = "read-package-json-1.2.7.tgz";
+        sha1 = "f0b440c461a218f4dbf48b094e80fc65c5248502";
       })
     ];
     buildInputs =
       (self.nativeDeps."read-package-json" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."normalize-package-data"."1.0.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "normalize-package-data-1.0.2" = self.by-version."normalize-package-data"."1.0.2";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "read-package-json" ];
   };
-  by-spec."read-package-json"."~1.2.3" =
-    self.by-version."read-package-json"."1.2.6";
+  by-spec."read-package-json"."~1.2.7" =
+    self.by-version."read-package-json"."1.2.7";
   by-spec."readable-stream"."*" =
     self.by-version."readable-stream"."1.1.13";
   by-version."readable-stream"."1.1.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.1.13";
+    name = "readable-stream-1.1.13";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
@@ -15179,12 +16298,12 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
@@ -15192,7 +16311,8 @@
   by-spec."readable-stream"."1.0" =
     self.by-version."readable-stream"."1.0.31";
   by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.31";
+    name = "readable-stream-1.0.31";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
@@ -15202,12 +16322,12 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
@@ -15215,7 +16335,8 @@
   by-spec."readable-stream"."1.0.27-1" =
     self.by-version."readable-stream"."1.0.27-1";
   by-version."readable-stream"."1.0.27-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.27-1";
+    name = "readable-stream-1.0.27-1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
@@ -15225,16 +16346,18 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
+  by-spec."readable-stream"."1.0.31" =
+    self.by-version."readable-stream"."1.0.31";
   by-spec."readable-stream"."1.1" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream".">=1.0.27-1 <1.1.0-0" =
@@ -15260,7 +16383,8 @@
   by-spec."readable-wrap"."^1.0.0" =
     self.by-version."readable-wrap"."1.0.0";
   by-version."readable-wrap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-wrap-1.0.0";
+    name = "readable-wrap-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz";
@@ -15270,17 +16394,41 @@
     ];
     buildInputs =
       (self.nativeDeps."readable-wrap" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readable-wrap" ];
   };
+  by-spec."readdir-scoped-modules"."^1.0.0" =
+    self.by-version."readdir-scoped-modules"."1.0.0";
+  by-version."readdir-scoped-modules"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "readdir-scoped-modules-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.0.tgz";
+        name = "readdir-scoped-modules-1.0.0.tgz";
+        sha1 = "e939de969b38b3e7dfaa14fbcfe7a2fd15a4ea37";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readdir-scoped-modules" or []);
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "dezalgo-1.0.0" = self.by-version."dezalgo"."1.0.0";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "readdir-scoped-modules" ];
+  };
   by-spec."readdirp"."~0.2.3" =
     self.by-version."readdirp"."0.2.5";
   by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readdirp-0.2.5";
+    name = "readdirp-0.2.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
@@ -15290,9 +16438,9 @@
     ];
     buildInputs =
       (self.nativeDeps."readdirp" or []);
-    deps = [
-      self.by-version."minimatch"."1.0.0"
-    ];
+    deps = {
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "readdirp" ];
@@ -15300,7 +16448,8 @@
   by-spec."recursive-readdir"."0.0.2" =
     self.by-version."recursive-readdir"."0.0.2";
   by-version."recursive-readdir"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-recursive-readdir-0.0.2";
+    name = "recursive-readdir-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz";
@@ -15310,8 +16459,8 @@
     ];
     buildInputs =
       (self.nativeDeps."recursive-readdir" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "recursive-readdir" ];
@@ -15319,7 +16468,8 @@
   by-spec."redis"."*" =
     self.by-version."redis"."0.12.1";
   by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.12.1";
+    name = "redis-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
@@ -15329,8 +16479,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15339,7 +16489,8 @@
   by-spec."redis"."0.10.x" =
     self.by-version."redis"."0.10.3";
   by-version."redis"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.10.3";
+    name = "redis-0.10.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
@@ -15349,8 +16500,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15358,7 +16509,8 @@
   by-spec."redis"."0.7.2" =
     self.by-version."redis"."0.7.2";
   by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.2";
+    name = "redis-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
@@ -15368,9 +16520,9 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-      self.by-version."hiredis"."0.1.17"
-    ];
+    deps = {
+      "hiredis-0.1.17" = self.by-version."hiredis"."0.1.17";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15378,7 +16530,8 @@
   by-spec."redis"."0.7.3" =
     self.by-version."redis"."0.7.3";
   by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.3";
+    name = "redis-0.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
@@ -15388,8 +16541,8 @@
     ];
     buildInputs =
       (self.nativeDeps."redis" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
@@ -15399,7 +16552,8 @@
   by-spec."reds"."~0.2.4" =
     self.by-version."reds"."0.2.4";
   by-version."reds"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-reds-0.2.4";
+    name = "reds-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/reds/-/reds-0.2.4.tgz";
@@ -15409,10 +16563,10 @@
     ];
     buildInputs =
       (self.nativeDeps."reds" or []);
-    deps = [
-      self.by-version."natural"."0.1.17"
-      self.by-version."redis"."0.7.2"
-    ];
+    deps = {
+      "natural-0.1.17" = self.by-version."natural"."0.1.17";
+      "redis-0.7.2" = self.by-version."redis"."0.7.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "reds" ];
@@ -15420,7 +16574,8 @@
   by-spec."reduce-component"."1.0.1" =
     self.by-version."reduce-component"."1.0.1";
   by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-reduce-component-1.0.1";
+    name = "reduce-component-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
@@ -15430,8 +16585,8 @@
     ];
     buildInputs =
       (self.nativeDeps."reduce-component" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "reduce-component" ];
@@ -15439,7 +16594,8 @@
   by-spec."regexp-clone"."0.0.1" =
     self.by-version."regexp-clone"."0.0.1";
   by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-regexp-clone-0.0.1";
+    name = "regexp-clone-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
@@ -15449,74 +16605,79 @@
     ];
     buildInputs =
       (self.nativeDeps."regexp-clone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "regexp-clone" ];
   };
   by-spec."replace"."~0.2.4" =
-    self.by-version."replace"."0.2.9";
-  by-version."replace"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.9";
+    self.by-version."replace"."0.2.10";
+  by-version."replace"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "replace-0.2.10";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.9.tgz";
-        name = "replace-0.2.9.tgz";
-        sha1 = "64428de4451717e8cc34965d2d133dd86dace404";
+        url = "http://registry.npmjs.org/replace/-/replace-0.2.10.tgz";
+        name = "replace-0.2.10.tgz";
+        sha1 = "1123397e995b3bfef9985fc63cddcf79a014fd64";
       })
     ];
     buildInputs =
       (self.nativeDeps."replace" or []);
-    deps = [
-      self.by-version."nomnom"."1.6.2"
-      self.by-version."colors"."0.5.1"
-      self.by-version."minimatch"."0.2.14"
-    ];
+    deps = {
+      "nomnom-1.6.2" = self.by-version."nomnom"."1.6.2";
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "replace" ];
   };
   by-spec."request"."2" =
-    self.by-version."request"."2.40.0";
-  by-version."request"."2.40.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.40.0";
+    self.by-version."request"."2.42.0";
+  by-version."request"."2.42.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.42.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
-        name = "request-2.40.0.tgz";
-        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
+        url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
+        name = "request-2.42.0.tgz";
+        sha1 = "572bd0148938564040ac7ab148b96423a063304a";
       })
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."1.0.2"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-      self.by-version."stringstream"."0.0.4"
-    ];
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
   by-spec."request"."2 >=2.20.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."2 >=2.25.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."2.16.x" =
     self.by-version."request"."2.16.6";
   by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.16.6";
+    name = "request-2.16.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
@@ -15526,19 +16687,19 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."form-data"."0.0.10"
-      self.by-version."mime"."1.2.11"
-      self.by-version."hawk"."0.10.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."cookie-jar"."0.2.0"
-      self.by-version."aws-sign"."0.2.0"
-      self.by-version."oauth-sign"."0.2.0"
-      self.by-version."forever-agent"."0.2.0"
-      self.by-version."tunnel-agent"."0.2.0"
-      self.by-version."json-stringify-safe"."3.0.0"
-      self.by-version."qs"."0.5.6"
-    ];
+    deps = {
+      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
+      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
+      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
+      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
+      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
+      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
@@ -15546,7 +16707,8 @@
   by-spec."request"."2.36.0" =
     self.by-version."request"."2.36.0";
   by-version."request"."2.36.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.36.0";
+    name = "request-2.36.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.36.0.tgz";
@@ -15556,20 +16718,20 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime"."1.2.11"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
@@ -15577,7 +16739,8 @@
   by-spec."request"."2.9.x" =
     self.by-version."request"."2.9.203";
   by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.9.203";
+    name = "request-2.9.203";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
@@ -15587,20 +16750,21 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
   by-spec."request"."^2.36.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."~2" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.42.0";
   by-spec."request"."~2.27.0" =
     self.by-version."request"."2.27.0";
   by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.27.0";
+    name = "request-2.27.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
@@ -15610,121 +16774,64 @@
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign"."0.3.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."cookie-jar"."0.3.0"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."form-data"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.30.0" =
-    self.by-version."request"."2.30.0";
-  by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.30.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
-        name = "request-2.30.0.tgz";
-        sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.9.15"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign-0.3.0" = self.by-version."aws-sign"."0.3.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "cookie-jar-0.3.0" = self.by-version."cookie-jar"."0.3.0";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.34.0";
+  by-spec."request"."~2.40.0" =
+    self.by-version."request"."2.40.0";
+  by-version."request"."2.40.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.40.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+        url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
+        name = "request-2.40.0.tgz";
+        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
       })
     ];
     buildInputs =
       (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.37.0" =
-    self.by-version."request"."2.37.0";
-  by-version."request"."2.37.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.37.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.37.0.tgz";
-        name = "request-2.37.0.tgz";
-        sha1 = "6c04c1f0f34af0c8b7408f1c1e30d4d6bd852d46";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
+    deps = {
+      "qs-1.0.2" = self.by-version."qs"."1.0.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
+  by-spec."request"."~2.42.0" =
+    self.by-version."request"."2.42.0";
   by-spec."request-progress"."^0.3.1" =
     self.by-version."request-progress"."0.3.1";
   by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-progress-0.3.1";
+    name = "request-progress-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
@@ -15734,38 +16841,40 @@
     ];
     buildInputs =
       (self.nativeDeps."request-progress" or []);
-    deps = [
-      self.by-version."throttleit"."0.0.2"
-    ];
+    deps = {
+      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "request-progress" ];
   };
   by-spec."requirejs"."~2.1" =
-    self.by-version."requirejs"."2.1.14";
-  by-version."requirejs"."2.1.14" = lib.makeOverridable self.buildNodePackage {
-    name = "requirejs-2.1.14";
+    self.by-version."requirejs"."2.1.15";
+  by-version."requirejs"."2.1.15" = lib.makeOverridable self.buildNodePackage {
+    name = "requirejs-2.1.15";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.14.tgz";
-        name = "requirejs-2.1.14.tgz";
-        sha1 = "de00290aa526192ff8df4dc0ba9370ce399a76b0";
+        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.15.tgz";
+        name = "requirejs-2.1.15.tgz";
+        sha1 = "cbcfce55d584ae5983c00a20daa8eade37d18892";
       })
     ];
     buildInputs =
       (self.nativeDeps."requirejs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "requirejs" ];
   };
   by-spec."requirejs"."~2.1.0" =
-    self.by-version."requirejs"."2.1.14";
+    self.by-version."requirejs"."2.1.15";
   by-spec."resolve"."0.7.4" =
     self.by-version."resolve"."0.7.4";
   by-version."resolve"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.7.4";
+    name = "resolve-0.7.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz";
@@ -15775,8 +16884,8 @@
     ];
     buildInputs =
       (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
@@ -15786,7 +16895,8 @@
   by-spec."resolve"."~0.3.0" =
     self.by-version."resolve"."0.3.1";
   by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.3.1";
+    name = "resolve-0.3.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
@@ -15796,14 +16906,16 @@
     ];
     buildInputs =
       (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
   by-spec."resolve"."~0.3.1" =
     self.by-version."resolve"."0.3.1";
+  by-spec."resolve"."~0.7.0" =
+    self.by-version."resolve"."0.7.4";
   by-spec."resolve"."~0.7.1" =
     self.by-version."resolve"."0.7.4";
   by-spec."resolve"."~0.7.2" =
@@ -15811,7 +16923,8 @@
   by-spec."response-time"."~2.0.1" =
     self.by-version."response-time"."2.0.1";
   by-version."response-time"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-response-time-2.0.1";
+    name = "response-time-2.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/response-time/-/response-time-2.0.1.tgz";
@@ -15821,9 +16934,9 @@
     ];
     buildInputs =
       (self.nativeDeps."response-time" or []);
-    deps = [
-      self.by-version."on-headers"."1.0.0"
-    ];
+    deps = {
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "response-time" ];
@@ -15832,6 +16945,7 @@
     self.by-version."restify"."2.4.1";
   by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "restify-2.4.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
@@ -15841,54 +16955,56 @@
     ];
     buildInputs =
       (self.nativeDeps."restify" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."backoff"."2.1.0"
-      self.by-version."bunyan"."0.21.1"
-      self.by-version."deep-equal"."0.0.0"
-      self.by-version."formidable"."1.0.13"
-      self.by-version."http-signature"."0.9.11"
-      self.by-version."keep-alive-agent"."0.0.1"
-      self.by-version."lru-cache"."2.3.0"
-      self.by-version."mime"."1.2.9"
-      self.by-version."negotiator"."0.2.5"
-      self.by-version."node-uuid"."1.4.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."qs"."0.5.5"
-      self.by-version."semver"."1.1.4"
-      self.by-version."spdy"."1.7.1"
-      self.by-version."verror"."1.3.6"
-      self.by-version."dtrace-provider"."0.2.8"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "backoff-2.1.0" = self.by-version."backoff"."2.1.0";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "formidable-1.0.13" = self.by-version."formidable"."1.0.13";
+      "http-signature-0.9.11" = self.by-version."http-signature"."0.9.11";
+      "keep-alive-agent-0.0.1" = self.by-version."keep-alive-agent"."0.0.1";
+      "lru-cache-2.3.0" = self.by-version."lru-cache"."2.3.0";
+      "mime-1.2.9" = self.by-version."mime"."1.2.9";
+      "negotiator-0.2.5" = self.by-version."negotiator"."0.2.5";
+      "node-uuid-1.4.0" = self.by-version."node-uuid"."1.4.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "qs-0.5.5" = self.by-version."qs"."0.5.5";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+      "spdy-1.7.1" = self.by-version."spdy"."1.7.1";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "restify" ];
   };
   by-spec."rethinkdb"."*" =
-    self.by-version."rethinkdb"."1.13.0-3";
-  by-version."rethinkdb"."1.13.0-3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rethinkdb-1.13.0-3";
+    self.by-version."rethinkdb"."1.14.0-0";
+  by-version."rethinkdb"."1.14.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "rethinkdb-1.14.0-0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.13.0-3.tgz";
-        name = "rethinkdb-1.13.0-3.tgz";
-        sha1 = "67db23e23ac3ff40fd4738414fc14d1935e6009e";
+        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.14.0-0.tgz";
+        name = "rethinkdb-1.14.0-0.tgz";
+        sha1 = "d198a5bf9caffdaa38670ebd40afc4621b09b0f5";
       })
     ];
     buildInputs =
       (self.nativeDeps."rethinkdb" or []);
-    deps = [
-      self.by-version."bluebird"."2.3.0"
-    ];
+    deps = {
+      "bluebird-2.3.2" = self.by-version."bluebird"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rethinkdb" ];
   };
-  "rethinkdb" = self.by-version."rethinkdb"."1.13.0-3";
+  "rethinkdb" = self.by-version."rethinkdb"."1.14.0-0";
   by-spec."retry"."0.6.0" =
     self.by-version."retry"."0.6.0";
   by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.0";
+    name = "retry-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
@@ -15898,8 +17014,8 @@
     ];
     buildInputs =
       (self.nativeDeps."retry" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
@@ -15907,7 +17023,8 @@
   by-spec."retry"."~0.6.0" =
     self.by-version."retry"."0.6.1";
   by-version."retry"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.1";
+    name = "retry-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
@@ -15917,8 +17034,8 @@
     ];
     buildInputs =
       (self.nativeDeps."retry" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
@@ -15926,7 +17043,8 @@
   by-spec."revalidator"."0.1.x" =
     self.by-version."revalidator"."0.1.8";
   by-version."revalidator"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-revalidator-0.1.8";
+    name = "revalidator-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz";
@@ -15936,8 +17054,8 @@
     ];
     buildInputs =
       (self.nativeDeps."revalidator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "revalidator" ];
@@ -15945,7 +17063,8 @@
   by-spec."rfile"."~1.0" =
     self.by-version."rfile"."1.0.0";
   by-version."rfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rfile-1.0.0";
+    name = "rfile-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";
@@ -15955,10 +17074,10 @@
     ];
     buildInputs =
       (self.nativeDeps."rfile" or []);
-    deps = [
-      self.by-version."callsite"."1.0.0"
-      self.by-version."resolve"."0.3.1"
-    ];
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rfile" ];
@@ -15968,7 +17087,8 @@
   by-spec."rimraf"."1.x.x" =
     self.by-version."rimraf"."1.0.9";
   by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-1.0.9";
+    name = "rimraf-1.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
@@ -15978,8 +17098,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -15988,6 +17108,7 @@
     self.by-version."rimraf"."2.2.8";
   by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.2.8";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
@@ -15997,8 +17118,28 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
+    deps = {
+    };
+    peerDependencies = [
     ];
+    passthru.names = [ "rimraf" ];
+  };
+  by-spec."rimraf"."2.2.6" =
+    self.by-version."rimraf"."2.2.6";
+  by-version."rimraf"."2.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.6";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz";
+        name = "rimraf-2.2.6.tgz";
+        sha1 = "c59597569b14d956ad29cacc42bdddf5f0ea4f4c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rimraf" or []);
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -16012,7 +17153,8 @@
   by-spec."rimraf"."~2.1.4" =
     self.by-version."rimraf"."2.1.4";
   by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-2.1.4";
+    name = "rimraf-2.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
@@ -16022,9 +17164,9 @@
     ];
     buildInputs =
       (self.nativeDeps."rimraf" or []);
-    deps = [
-      self.by-version."graceful-fs"."1.2.3"
-    ];
+    deps = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
@@ -16042,7 +17184,8 @@
   by-spec."ripemd160"."0.2.0" =
     self.by-version."ripemd160"."0.2.0";
   by-version."ripemd160"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ripemd160-0.2.0";
+    name = "ripemd160-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz";
@@ -16052,16 +17195,17 @@
     ];
     buildInputs =
       (self.nativeDeps."ripemd160" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ripemd160" ];
   };
-  by-spec."rndm"."1" =
+  by-spec."rndm"."~1.0.0" =
     self.by-version."rndm"."1.0.0";
   by-version."rndm"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rndm-1.0.0";
+    name = "rndm-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/rndm/-/rndm-1.0.0.tgz";
@@ -16071,8 +17215,8 @@
     ];
     buildInputs =
       (self.nativeDeps."rndm" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "rndm" ];
@@ -16080,7 +17224,8 @@
   by-spec."ruglify"."~1.0.0" =
     self.by-version."ruglify"."1.0.0";
   by-version."ruglify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ruglify-1.0.0";
+    name = "ruglify-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";
@@ -16090,10 +17235,10 @@
     ];
     buildInputs =
       (self.nativeDeps."ruglify" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."uglify-js"."2.2.5"
-    ];
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ruglify" ];
@@ -16102,6 +17247,7 @@
     self.by-version."s3http"."0.0.5";
   by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "s3http-0.0.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
@@ -16111,16 +17257,16 @@
     ];
     buildInputs =
       (self.nativeDeps."s3http" or []);
-    deps = [
-      self.by-version."aws-sdk"."1.18.0"
-      self.by-version."commander"."2.0.0"
-      self.by-version."http-auth"."2.0.7"
-      self.by-version."express"."3.4.4"
-      self.by-version."everyauth"."0.4.5"
-      self.by-version."string"."1.6.1"
-      self.by-version."util"."0.4.9"
-      self.by-version."crypto"."0.0.3"
-    ];
+    deps = {
+      "aws-sdk-1.18.0" = self.by-version."aws-sdk"."1.18.0";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "http-auth-2.0.7" = self.by-version."http-auth"."2.0.7";
+      "express-3.4.4" = self.by-version."express"."3.4.4";
+      "everyauth-0.4.5" = self.by-version."everyauth"."0.4.5";
+      "string-1.6.1" = self.by-version."string"."1.6.1";
+      "util-0.4.9" = self.by-version."util"."0.4.9";
+      "crypto-0.0.3" = self.by-version."crypto"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "s3http" ];
@@ -16129,7 +17275,8 @@
   by-spec."samsam"."~1.1" =
     self.by-version."samsam"."1.1.1";
   by-version."samsam"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-samsam-1.1.1";
+    name = "samsam-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/samsam/-/samsam-1.1.1.tgz";
@@ -16139,8 +17286,8 @@
     ];
     buildInputs =
       (self.nativeDeps."samsam" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "samsam" ];
@@ -16148,7 +17295,8 @@
   by-spec."sauce-connect-launcher"."~0.6.0" =
     self.by-version."sauce-connect-launcher"."0.6.1";
   by-version."sauce-connect-launcher"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sauce-connect-launcher-0.6.1";
+    name = "sauce-connect-launcher-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.6.1.tgz";
@@ -16158,12 +17306,12 @@
     ];
     buildInputs =
       (self.nativeDeps."sauce-connect-launcher" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sauce-connect-launcher" ];
@@ -16171,7 +17319,8 @@
   by-spec."saucelabs"."~0.1.0" =
     self.by-version."saucelabs"."0.1.1";
   by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-saucelabs-0.1.1";
+    name = "saucelabs-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
@@ -16181,8 +17330,8 @@
     ];
     buildInputs =
       (self.nativeDeps."saucelabs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "saucelabs" ];
@@ -16190,7 +17339,8 @@
   by-spec."sax"."0.4.2" =
     self.by-version."sax"."0.4.2";
   by-version."sax"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.4.2";
+    name = "sax-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.4.2.tgz";
@@ -16200,8 +17350,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
@@ -16209,7 +17359,8 @@
   by-spec."sax"."0.5.x" =
     self.by-version."sax"."0.5.8";
   by-version."sax"."0.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.5.8";
+    name = "sax-0.5.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
@@ -16219,8 +17370,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
@@ -16228,7 +17379,8 @@
   by-spec."sax"."0.6.x" =
     self.by-version."sax"."0.6.0";
   by-version."sax"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.6.0";
+    name = "sax-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sax/-/sax-0.6.0.tgz";
@@ -16238,18 +17390,19 @@
     ];
     buildInputs =
       (self.nativeDeps."sax" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
   by-spec."sax".">=0.4.2" =
     self.by-version."sax"."0.6.0";
-  by-spec."scmp"."~0.0.3" =
+  by-spec."scmp"."0.0.3" =
     self.by-version."scmp"."0.0.3";
   by-version."scmp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-scmp-0.0.3";
+    name = "scmp-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
@@ -16259,8 +17412,8 @@
     ];
     buildInputs =
       (self.nativeDeps."scmp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "scmp" ];
@@ -16268,7 +17421,8 @@
   by-spec."selenium-webdriver"."*" =
     self.by-version."selenium-webdriver"."2.42.1";
   by-version."selenium-webdriver"."2.42.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-selenium-webdriver-2.42.1";
+    name = "selenium-webdriver-2.42.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.42.1.tgz";
@@ -16278,8 +17432,8 @@
     ];
     buildInputs =
       (self.nativeDeps."selenium-webdriver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
@@ -16289,6 +17443,7 @@
     self.by-version."semver"."3.0.1";
   by-version."semver"."3.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "semver-3.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-3.0.1.tgz";
@@ -16298,8 +17453,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16309,6 +17464,7 @@
     self.by-version."semver"."1.1.0";
   by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
@@ -16318,8 +17474,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16328,6 +17484,7 @@
     self.by-version."semver"."1.1.4";
   by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
@@ -16337,8 +17494,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16347,6 +17504,7 @@
     self.by-version."semver"."2.3.2";
   by-version."semver"."2.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.3.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
@@ -16356,25 +17514,27 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  by-spec."semver"."2 >=2.2.1 || 3.x" =
+  by-spec."semver"."2 >=2.2.1 || 3.x || 4" =
     self.by-version."semver"."3.0.1";
-  by-spec."semver"."2 || 3" =
+  by-spec."semver"."2 || 3 || 4" =
     self.by-version."semver"."3.0.1";
   by-spec."semver"."2.x" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."2.x || 3.x" =
+  by-spec."semver"."2.x || 3.x || 4" =
     self.by-version."semver"."3.0.1";
   by-spec."semver".">=2.0.10 <3.0.0" =
     self.by-version."semver"."2.3.2";
   by-spec."semver"."^2.3.0" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."^2.3.0 || 3.x" =
+  by-spec."semver"."^2.3.0 || 3.x || 4" =
+    self.by-version."semver"."3.0.1";
+  by-spec."semver"."^3.0.1" =
     self.by-version."semver"."3.0.1";
   by-spec."semver"."~1.1.0" =
     self.by-version."semver"."1.1.4";
@@ -16384,6 +17544,7 @@
     self.by-version."semver"."2.0.11";
   by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.0.11";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
@@ -16393,8 +17554,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16403,6 +17564,7 @@
     self.by-version."semver"."2.1.0";
   by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
@@ -16412,8 +17574,8 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
@@ -16422,6 +17584,7 @@
     self.by-version."semver"."2.2.1";
   by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
@@ -16431,40 +17594,40 @@
     ];
     buildInputs =
       (self.nativeDeps."semver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  by-spec."semver"."~2.3.0" =
-    self.by-version."semver"."2.3.2";
-  by-spec."semver"."~2.3.1" =
-    self.by-version."semver"."2.3.2";
+  by-spec."semver"."~3.0.1" =
+    self.by-version."semver"."3.0.1";
   by-spec."send"."*" =
-    self.by-version."send"."0.8.3";
-  by-version."send"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.8.3";
+    self.by-version."send"."0.9.1";
+  by-version."send"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.9.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.8.3.tgz";
-        name = "send-0.8.3.tgz";
-        sha1 = "593886004fcb968a1b5727814a32b388b3b99083";
+        url = "http://registry.npmjs.org/send/-/send-0.9.1.tgz";
+        name = "send-0.9.1.tgz";
+        sha1 = "d93689f7c9ce36bd32f8ee572bb60bda032edc23";
       })
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."destroy"."1.0.3"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16472,7 +17635,8 @@
   by-spec."send"."0.0.3" =
     self.by-version."send"."0.0.3";
   by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.0.3";
+    name = "send-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
@@ -16482,12 +17646,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16495,7 +17659,8 @@
   by-spec."send"."0.1.0" =
     self.by-version."send"."0.1.0";
   by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.0";
+    name = "send-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
@@ -16505,12 +17670,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16518,7 +17683,8 @@
   by-spec."send"."0.1.4" =
     self.by-version."send"."0.1.4";
   by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.4";
+    name = "send-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
@@ -16528,12 +17694,12 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
@@ -16541,7 +17707,8 @@
   by-spec."send"."0.2.0" =
     self.by-version."send"."0.2.0";
   by-version."send"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.2.0";
+    name = "send-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/send/-/send-0.2.0.tgz";
@@ -16551,74 +17718,52 @@
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."send"."0.4.3" =
-    self.by-version."send"."0.4.3";
-  by-version."send"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.4.3.tgz";
-        name = "send-0.4.3.tgz";
-        sha1 = "9627b23b7707fbf6373831cac5793330b594b640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  by-spec."send"."0.6.0" =
-    self.by-version."send"."0.6.0";
-  by-version."send"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.6.0";
+  by-spec."send"."0.8.5" =
+    self.by-version."send"."0.8.5";
+  by-version."send"."0.8.5" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.8.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.6.0.tgz";
-        name = "send-0.6.0.tgz";
-        sha1 = "a59da9265db7c35141e1079cf1f368ee0d59b3ab";
+        url = "http://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        name = "send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
       })
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  by-spec."send"."0.8.3" =
-    self.by-version."send"."0.8.3";
+  by-spec."send"."0.9.1" =
+    self.by-version."send"."0.9.1";
   by-spec."sequence"."2.2.1" =
     self.by-version."sequence"."2.2.1";
   by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sequence-2.2.1";
+    name = "sequence-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
@@ -16628,52 +17773,77 @@
     ];
     buildInputs =
       (self.nativeDeps."sequence" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sequence" ];
   };
   by-spec."sequence"."2.x" =
     self.by-version."sequence"."2.2.1";
-  by-spec."serve-favicon"."2.0.1" =
-    self.by-version."serve-favicon"."2.0.1";
-  by-version."serve-favicon"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-favicon-2.0.1";
+  by-spec."sequencify"."~0.0.7" =
+    self.by-version."sequencify"."0.0.7";
+  by-version."sequencify"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "sequencify-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz";
-        name = "serve-favicon-2.0.1.tgz";
-        sha1 = "4826975d9f173ca3a4158e9698161f75dec7afec";
+        url = "http://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz";
+        name = "sequencify-0.0.7.tgz";
+        sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
       })
     ];
     buildInputs =
-      (self.nativeDeps."serve-favicon" or []);
-    deps = [
-      self.by-version."fresh"."0.2.2"
+      (self.nativeDeps."sequencify" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sequencify" ];
+  };
+  by-spec."serve-favicon"."~2.1.3" =
+    self.by-version."serve-favicon"."2.1.3";
+  by-version."serve-favicon"."2.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-favicon-2.1.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.3.tgz";
+        name = "serve-favicon-2.1.3.tgz";
+        sha1 = "dfab1064b1ed5dd0099c890dccc1c7d45c936fed";
+      })
     ];
+    buildInputs =
+      (self.nativeDeps."serve-favicon" or []);
+    deps = {
+      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-favicon" ];
   };
-  by-spec."serve-index"."~1.1.6" =
-    self.by-version."serve-index"."1.1.6";
-  by-version."serve-index"."1.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-index-1.1.6";
+  by-spec."serve-index"."~1.2.1" =
+    self.by-version."serve-index"."1.2.1";
+  by-version."serve-index"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-index-1.2.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz";
-        name = "serve-index-1.1.6.tgz";
-        sha1 = "b758318fe781628383f66ac80dd447712ea7781f";
+        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.2.1.tgz";
+        name = "serve-index-1.2.1.tgz";
+        sha1 = "854daef00ac9ff2f5bfda1c019b78fb0ed6d2e6f";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-index" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."batch"."0.5.1"
-      self.by-version."parseurl"."1.3.0"
-    ];
+    deps = {
+      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "batch-0.5.1" = self.by-version."batch"."0.5.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-index" ];
@@ -16681,7 +17851,8 @@
   by-spec."serve-static"."1.0.1" =
     self.by-version."serve-static"."1.0.1";
   by-version."serve-static"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.0.1";
+    name = "serve-static-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz";
@@ -16691,76 +17862,59 @@
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."send"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."serve-static"."1.2.3" =
-    self.by-version."serve-static"."1.2.3";
-  by-version."serve-static"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz";
-        name = "serve-static-1.2.3.tgz";
-        sha1 = "93cecbc340f079ecb8589281d1dc31c26c0cd158";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."send"."0.4.3"
-    ];
+    deps = {
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
   };
-  by-spec."serve-static"."~1.3.0" =
-    self.by-version."serve-static"."1.3.2";
-  by-version."serve-static"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.3.2";
+  by-spec."serve-static"."~1.5.3" =
+    self.by-version."serve-static"."1.5.4";
+  by-version."serve-static"."1.5.4" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-static-1.5.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz";
-        name = "serve-static-1.3.2.tgz";
-        sha1 = "d904a6cbf55f511c78138f6f45ee6e69d9d105ca";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        name = "serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.1.3"
-      self.by-version."send"."0.6.0"
-    ];
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.8.5" = self.by-version."send"."0.8.5";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
   };
-  by-spec."serve-static"."~1.5.3" =
-    self.by-version."serve-static"."1.5.3";
-  by-version."serve-static"."1.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.5.3";
+  by-spec."serve-static"."~1.5.4" =
+    self.by-version."serve-static"."1.5.4";
+  by-spec."serve-static"."~1.6.1" =
+    self.by-version."serve-static"."1.6.1";
+  by-version."serve-static"."1.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-static-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.5.3.tgz";
-        name = "serve-static-1.5.3.tgz";
-        sha1 = "2e28efa5899686fd3ccdb97a80aa464002244581";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz";
+        name = "serve-static-1.6.1.tgz";
+        sha1 = "2f257563afbe931d28cee4aa3dfeddc975a87193";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."utils-merge"."1.0.0"
-    ];
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "serve-static" ];
@@ -16768,7 +17922,8 @@
   by-spec."sha"."~1.2.1" =
     self.by-version."sha"."1.2.4";
   by-version."sha"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sha-1.2.4";
+    name = "sha-1.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sha/-/sha-1.2.4.tgz";
@@ -16778,30 +17933,31 @@
     ];
     buildInputs =
       (self.nativeDeps."sha" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  by-spec."sha.js"."2.1.7" =
-    self.by-version."sha.js"."2.1.7";
-  by-version."sha.js"."2.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "sha.js-2.1.7";
+  by-spec."sha.js"."2.1.8" =
+    self.by-version."sha.js"."2.1.8";
+  by-version."sha.js"."2.1.8" = lib.makeOverridable self.buildNodePackage {
+    name = "sha.js-2.1.8";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.7.tgz";
-        name = "sha.js-2.1.7.tgz";
-        sha1 = "4ab5d386d5c1a26183e61bcc446a9370a3eb8859";
+        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.8.tgz";
+        name = "sha.js-2.1.8.tgz";
+        sha1 = "9b89a99b030eed2280b06a2b79383a4ceecd7719";
       })
     ];
     buildInputs =
       (self.nativeDeps."sha.js" or []);
-    deps = [
-      self.by-version."buffer"."2.3.4"
-    ];
+    deps = {
+      "buffer-2.3.4" = self.by-version."buffer"."2.3.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sha.js" ];
@@ -16809,7 +17965,8 @@
   by-spec."shallow-copy"."0.0.1" =
     self.by-version."shallow-copy"."0.0.1";
   by-version."shallow-copy"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shallow-copy-0.0.1";
+    name = "shallow-copy-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
@@ -16819,8 +17976,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shallow-copy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shallow-copy" ];
@@ -16828,7 +17985,8 @@
   by-spec."shasum"."^1.0.0" =
     self.by-version."shasum"."1.0.0";
   by-version."shasum"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shasum-1.0.0";
+    name = "shasum-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shasum/-/shasum-1.0.0.tgz";
@@ -16838,9 +17996,9 @@
     ];
     buildInputs =
       (self.nativeDeps."shasum" or []);
-    deps = [
-      self.by-version."json-stable-stringify"."0.0.1"
-    ];
+    deps = {
+      "json-stable-stringify-0.0.1" = self.by-version."json-stable-stringify"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shasum" ];
@@ -16848,7 +18006,8 @@
   by-spec."shell-quote"."~0.0.1" =
     self.by-version."shell-quote"."0.0.1";
   by-version."shell-quote"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shell-quote-0.0.1";
+    name = "shell-quote-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
@@ -16858,8 +18017,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shell-quote" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shell-quote" ];
@@ -16868,6 +18027,7 @@
     self.by-version."shelljs"."0.3.0";
   by-version."shelljs"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "shelljs-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
@@ -16877,8 +18037,8 @@
     ];
     buildInputs =
       (self.nativeDeps."shelljs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "shelljs" ];
@@ -16889,7 +18049,8 @@
   by-spec."should"."*" =
     self.by-version."should"."4.0.4";
   by-version."should"."4.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-should-4.0.4";
+    name = "should-4.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/should/-/should-4.0.4.tgz";
@@ -16899,8 +18060,8 @@
     ];
     buildInputs =
       (self.nativeDeps."should" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "should" ];
@@ -16909,7 +18070,8 @@
   by-spec."sigmund"."~1.0.0" =
     self.by-version."sigmund"."1.0.0";
   by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sigmund-1.0.0";
+    name = "sigmund-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
@@ -16919,8 +18081,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sigmund" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sigmund" ];
@@ -16928,7 +18090,8 @@
   by-spec."signals"."<2.0" =
     self.by-version."signals"."1.0.0";
   by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-signals-1.0.0";
+    name = "signals-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
@@ -16938,8 +18101,8 @@
     ];
     buildInputs =
       (self.nativeDeps."signals" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "signals" ];
@@ -16951,7 +18114,8 @@
   by-spec."simple-lru-cache"."0.0.x" =
     self.by-version."simple-lru-cache"."0.0.1";
   by-version."simple-lru-cache"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simple-lru-cache-0.0.1";
+    name = "simple-lru-cache-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz";
@@ -16961,29 +18125,30 @@
     ];
     buildInputs =
       (self.nativeDeps."simple-lru-cache" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "simple-lru-cache" ];
   };
   by-spec."simplesmtp".">= 0.1.22" =
-    self.by-version."simplesmtp"."0.3.32";
-  by-version."simplesmtp"."0.3.32" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simplesmtp-0.3.32";
+    self.by-version."simplesmtp"."0.3.33";
+  by-version."simplesmtp"."0.3.33" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.33";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.32.tgz";
-        name = "simplesmtp-0.3.32.tgz";
-        sha1 = "b3589b4cbf90624e712ab0ec1a7480ec14fd1c12";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.33.tgz";
+        name = "simplesmtp-0.3.33.tgz";
+        sha1 = "f25e12431d8c6363755c106595b998f5f965aad9";
       })
     ];
     buildInputs =
       (self.nativeDeps."simplesmtp" or []);
-    deps = [
-      self.by-version."rai"."0.1.11"
-      self.by-version."xoauth2"."0.1.8"
-    ];
+    deps = {
+      "rai-0.1.11" = self.by-version."rai"."0.1.11";
+      "xoauth2-0.1.8" = self.by-version."xoauth2"."0.1.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "simplesmtp" ];
@@ -16991,7 +18156,8 @@
   by-spec."sinon"."*" =
     self.by-version."sinon"."1.10.3";
   by-version."sinon"."1.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sinon-1.10.3";
+    name = "sinon-1.10.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz";
@@ -17001,41 +18167,43 @@
     ];
     buildInputs =
       (self.nativeDeps."sinon" or []);
-    deps = [
-      self.by-version."formatio"."1.0.2"
-      self.by-version."util"."0.10.3"
-    ];
+    deps = {
+      "formatio-1.0.2" = self.by-version."formatio"."1.0.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sinon" ];
   };
   "sinon" = self.by-version."sinon"."1.10.3";
   by-spec."slasp"."*" =
-    self.by-version."slasp"."0.0.3";
-  by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slasp-0.0.3";
+    self.by-version."slasp"."0.0.4";
+  by-version."slasp"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "slasp-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.3.tgz";
-        name = "slasp-0.0.3.tgz";
-        sha1 = "fb9aba74f30fc2f012d0ff2d34d4b5c678c11f9f";
+        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.4.tgz";
+        name = "slasp-0.0.4.tgz";
+        sha1 = "9adc26ee729a0f95095851a5489f87a5258d57a9";
       })
     ];
     buildInputs =
       (self.nativeDeps."slasp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "slasp" ];
   };
-  "slasp" = self.by-version."slasp"."0.0.3";
-  by-spec."slasp"."0.0.3" =
-    self.by-version."slasp"."0.0.3";
+  "slasp" = self.by-version."slasp"."0.0.4";
+  by-spec."slasp"."0.0.4" =
+    self.by-version."slasp"."0.0.4";
   by-spec."sliced"."0.0.3" =
     self.by-version."sliced"."0.0.3";
   by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.3";
+    name = "sliced-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
@@ -17045,8 +18213,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17054,7 +18222,8 @@
   by-spec."sliced"."0.0.4" =
     self.by-version."sliced"."0.0.4";
   by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.4";
+    name = "sliced-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
@@ -17064,8 +18233,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17073,7 +18242,8 @@
   by-spec."sliced"."0.0.5" =
     self.by-version."sliced"."0.0.5";
   by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.5";
+    name = "sliced-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
@@ -17083,8 +18253,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
@@ -17092,7 +18262,8 @@
   by-spec."slide"."^1.1.3" =
     self.by-version."slide"."1.1.5";
   by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slide-1.1.5";
+    name = "slide-1.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
@@ -17102,8 +18273,8 @@
     ];
     buildInputs =
       (self.nativeDeps."slide" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "slide" ];
@@ -17116,6 +18287,7 @@
     self.by-version."smartdc"."7.3.0";
   by-version."smartdc"."7.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-7.3.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/smartdc/-/smartdc-7.3.0.tgz";
@@ -17125,18 +18297,18 @@
     ];
     buildInputs =
       (self.nativeDeps."smartdc" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."lru-cache"."2.2.0"
-      self.by-version."nopt"."2.0.0"
-      self.by-version."restify"."2.4.1"
-      self.by-version."bunyan"."0.21.1"
-      self.by-version."clone"."0.1.6"
-      self.by-version."smartdc-auth"."1.0.1"
-      self.by-version."cmdln"."1.3.2"
-      self.by-version."dashdash"."1.5.0"
-      self.by-version."vasync"."1.4.3"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "lru-cache-2.2.0" = self.by-version."lru-cache"."2.2.0";
+      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
+      "restify-2.4.1" = self.by-version."restify"."2.4.1";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "clone-0.1.6" = self.by-version."clone"."0.1.6";
+      "smartdc-auth-1.0.1" = self.by-version."smartdc-auth"."1.0.1";
+      "cmdln-1.3.2" = self.by-version."cmdln"."1.3.2";
+      "dashdash-1.5.0" = self.by-version."dashdash"."1.5.0";
+      "vasync-1.4.3" = self.by-version."vasync"."1.4.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
@@ -17145,7 +18317,8 @@
   by-spec."smartdc-auth"."1.0.1" =
     self.by-version."smartdc-auth"."1.0.1";
   by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-smartdc-auth-1.0.1";
+    name = "smartdc-auth-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
@@ -17155,13 +18328,13 @@
     ];
     buildInputs =
       (self.nativeDeps."smartdc-auth" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."clone"."0.1.5"
-      self.by-version."ssh-agent"."0.2.1"
-      self.by-version."once"."1.1.1"
-      self.by-version."vasync"."1.3.3"
-    ];
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "clone-0.1.5" = self.by-version."clone"."0.1.5";
+      "ssh-agent-0.2.1" = self.by-version."ssh-agent"."0.2.1";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "vasync-1.3.3" = self.by-version."vasync"."1.3.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "smartdc-auth" ];
@@ -17169,7 +18342,8 @@
   by-spec."sntp"."0.1.x" =
     self.by-version."sntp"."0.1.4";
   by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.1.4";
+    name = "sntp-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
@@ -17179,9 +18353,9 @@
     ];
     buildInputs =
       (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
@@ -17189,7 +18363,8 @@
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.2.4";
+    name = "sntp-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
@@ -17199,9 +18374,9 @@
     ];
     buildInputs =
       (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
@@ -17209,7 +18384,8 @@
   by-spec."socket.io"."0.9.14" =
     self.by-version."socket.io"."0.9.14";
   by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-0.9.14";
+    name = "socket.io-0.9.14";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
@@ -17219,12 +18395,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io" or []);
-    deps = [
-      self.by-version."socket.io-client"."0.9.11"
-      self.by-version."policyfile"."0.0.4"
-      self.by-version."base64id"."0.1.0"
-      self.by-version."redis"."0.7.3"
-    ];
+    deps = {
+      "socket.io-client-0.9.11" = self.by-version."socket.io-client"."0.9.11";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
@@ -17232,7 +18408,8 @@
   by-spec."socket.io"."~0.9.13" =
     self.by-version."socket.io"."0.9.17";
   by-version."socket.io"."0.9.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-0.9.17";
+    name = "socket.io-0.9.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz";
@@ -17242,12 +18419,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io" or []);
-    deps = [
-      self.by-version."socket.io-client"."0.9.16"
-      self.by-version."policyfile"."0.0.4"
-      self.by-version."base64id"."0.1.0"
-      self.by-version."redis"."0.7.3"
-    ];
+    deps = {
+      "socket.io-client-0.9.16" = self.by-version."socket.io-client"."0.9.16";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
@@ -17257,7 +18434,8 @@
   by-spec."socket.io-client"."0.9.11" =
     self.by-version."socket.io-client"."0.9.11";
   by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-client-0.9.11";
+    name = "socket.io-client-0.9.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
@@ -17267,12 +18445,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
@@ -17280,7 +18458,8 @@
   by-spec."socket.io-client"."0.9.16" =
     self.by-version."socket.io-client"."0.9.16";
   by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-client-0.9.16";
+    name = "socket.io-client-0.9.16";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
@@ -17290,12 +18469,12 @@
     ];
     buildInputs =
       (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
@@ -17303,7 +18482,8 @@
   by-spec."sockjs"."*" =
     self.by-version."sockjs"."0.3.9";
   by-version."sockjs"."0.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sockjs-0.3.9";
+    name = "sockjs-0.3.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.9.tgz";
@@ -17313,10 +18493,10 @@
     ];
     buildInputs =
       (self.nativeDeps."sockjs" or []);
-    deps = [
-      self.by-version."node-uuid"."1.3.3"
-      self.by-version."faye-websocket"."0.7.2"
-    ];
+    deps = {
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "faye-websocket-0.7.2" = self.by-version."faye-websocket"."0.7.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sockjs" ];
@@ -17325,7 +18505,8 @@
   by-spec."sorted-object"."~1.0.0" =
     self.by-version."sorted-object"."1.0.0";
   by-version."sorted-object"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sorted-object-1.0.0";
+    name = "sorted-object-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz";
@@ -17335,37 +18516,39 @@
     ];
     buildInputs =
       (self.nativeDeps."sorted-object" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sorted-object" ];
   };
   by-spec."source-map"."*" =
-    self.by-version."source-map"."0.1.38";
-  by-version."source-map"."0.1.38" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.38";
+    self.by-version."source-map"."0.1.39";
+  by-version."source-map"."0.1.39" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.39";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.38.tgz";
-        name = "source-map-0.1.38.tgz";
-        sha1 = "f93a6f9d96a5b9cf5494c043497d9542f9fa6b33";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.39.tgz";
+        name = "source-map-0.1.39.tgz";
+        sha1 = "64ad329c4761ab956ff7d011c6b205aeb66a2d4a";
       })
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
-  "source-map" = self.by-version."source-map"."0.1.38";
+  "source-map" = self.by-version."source-map"."0.1.39";
   by-spec."source-map"."0.1.11" =
     self.by-version."source-map"."0.1.11";
   by-version."source-map"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.11";
+    name = "source-map-0.1.11";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.11.tgz";
@@ -17375,9 +18558,9 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
@@ -17385,7 +18568,8 @@
   by-spec."source-map"."0.1.31" =
     self.by-version."source-map"."0.1.31";
   by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.31";
+    name = "source-map-0.1.31";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
@@ -17395,9 +18579,9 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
@@ -17405,7 +18589,8 @@
   by-spec."source-map"."0.1.34" =
     self.by-version."source-map"."0.1.34";
   by-version."source-map"."0.1.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.34";
+    name = "source-map-0.1.34";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
@@ -17415,31 +18600,32 @@
     ];
     buildInputs =
       (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
   by-spec."source-map"."0.1.x" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map".">= 0.1.2" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~ 0.1.8" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.30" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.31" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.33" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.39";
   by-spec."spdy"."1.7.1" =
     self.by-version."spdy"."1.7.1";
   by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-spdy-1.7.1";
+    name = "spdy-1.7.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
@@ -17449,8 +18635,8 @@
     ];
     buildInputs =
       (self.nativeDeps."spdy" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "spdy" ];
@@ -17458,7 +18644,8 @@
   by-spec."sprintf"."~0.1.2" =
     self.by-version."sprintf"."0.1.4";
   by-version."sprintf"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sprintf-0.1.4";
+    name = "sprintf-0.1.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.4.tgz";
@@ -17468,8 +18655,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sprintf" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sprintf" ];
@@ -17480,6 +18667,7 @@
     self.by-version."ssh-agent"."0.2.1";
   by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ssh-agent-0.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
@@ -17489,10 +18677,10 @@
     ];
     buildInputs =
       (self.nativeDeps."ssh-agent" or []);
-    deps = [
-      self.by-version."ctype"."0.5.0"
-      self.by-version."posix-getopt"."1.0.0"
-    ];
+    deps = {
+      "ctype-0.5.0" = self.by-version."ctype"."0.5.0";
+      "posix-getopt-1.0.0" = self.by-version."posix-getopt"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ssh-agent" ];
@@ -17500,7 +18688,8 @@
   by-spec."stack-trace"."0.0.7" =
     self.by-version."stack-trace"."0.0.7";
   by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.7";
+    name = "stack-trace-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
@@ -17510,8 +18699,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
@@ -17519,7 +18708,8 @@
   by-spec."stack-trace"."0.0.x" =
     self.by-version."stack-trace"."0.0.9";
   by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.9";
+    name = "stack-trace-0.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
@@ -17529,8 +18719,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
@@ -17538,7 +18728,8 @@
   by-spec."stackdriver-statsd-backend"."*" =
     self.by-version."stackdriver-statsd-backend"."0.2.2";
   by-version."stackdriver-statsd-backend"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stackdriver-statsd-backend-0.2.2";
+    name = "stackdriver-statsd-backend-0.2.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.2.tgz";
@@ -17548,8 +18739,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stackdriver-statsd-backend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stackdriver-statsd-backend" ];
@@ -17559,6 +18750,7 @@
     self.by-version."statsd"."0.7.1";
   by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "statsd-0.7.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz";
@@ -17568,20 +18760,42 @@
     ];
     buildInputs =
       (self.nativeDeps."statsd" or []);
-    deps = [
-      self.by-version."node-syslog"."1.1.7"
-      self.by-version."hashring"."1.0.1"
-      self.by-version."winser"."0.1.6"
-    ];
+    deps = {
+      "node-syslog-1.1.7" = self.by-version."node-syslog"."1.1.7";
+      "hashring-1.0.1" = self.by-version."hashring"."1.0.1";
+      "winser-0.1.6" = self.by-version."winser"."0.1.6";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "statsd" ];
   };
   "statsd" = self.by-version."statsd"."0.7.1";
+  by-spec."statsd-influxdb-backend"."*" =
+    self.by-version."statsd-influxdb-backend"."0.3.0";
+  by-version."statsd-influxdb-backend"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "statsd-influxdb-backend-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/statsd-influxdb-backend/-/statsd-influxdb-backend-0.3.0.tgz";
+        name = "statsd-influxdb-backend-0.3.0.tgz";
+        sha1 = "f66197570545c04743c8637af1fbbc914096ec44";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."statsd-influxdb-backend" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "statsd-influxdb-backend" ];
+  };
+  "statsd-influxdb-backend" = self.by-version."statsd-influxdb-backend"."0.3.0";
   by-spec."statsd-librato-backend"."*" =
     self.by-version."statsd-librato-backend"."0.1.3";
   by-version."statsd-librato-backend"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statsd-librato-backend-0.1.3";
+    name = "statsd-librato-backend-0.1.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.3.tgz";
@@ -17591,36 +18805,18 @@
     ];
     buildInputs =
       (self.nativeDeps."statsd-librato-backend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "statsd-librato-backend" ];
   };
   "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.3";
-  by-spec."statuses"."~1.0.1" =
-    self.by-version."statuses"."1.0.4";
-  by-version."statuses"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statuses-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/statuses/-/statuses-1.0.4.tgz";
-        name = "statuses-1.0.4.tgz";
-        sha1 = "a8b203f645cf475a66426f6be690205c85f3ebdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."statuses" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "statuses" ];
-  };
   by-spec."stream-browserify"."^1.0.0" =
     self.by-version."stream-browserify"."1.0.0";
   by-version."stream-browserify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-browserify-1.0.0";
+    name = "stream-browserify-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz";
@@ -17630,10 +18826,10 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-browserify" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-browserify" ];
@@ -17641,7 +18837,8 @@
   by-spec."stream-combiner"."~0.0.2" =
     self.by-version."stream-combiner"."0.0.4";
   by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner-0.0.4";
+    name = "stream-combiner-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
@@ -17651,9 +18848,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-combiner" or []);
-    deps = [
-      self.by-version."duplexer"."0.1.1"
-    ];
+    deps = {
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-combiner" ];
@@ -17661,7 +18858,8 @@
   by-spec."stream-combiner2"."~1.0.0" =
     self.by-version."stream-combiner2"."1.0.1";
   by-version."stream-combiner2"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner2-1.0.1";
+    name = "stream-combiner2-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.1.tgz";
@@ -17671,18 +18869,39 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-combiner2" or []);
-    deps = [
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."through2"."0.5.1"
-    ];
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-combiner2" ];
   };
+  by-spec."stream-consume"."~0.1.0" =
+    self.by-version."stream-consume"."0.1.0";
+  by-version."stream-consume"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "stream-consume-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz";
+        name = "stream-consume-0.1.0.tgz";
+        sha1 = "a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stream-consume" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "stream-consume" ];
+  };
   by-spec."stream-counter"."^1.0.0" =
     self.by-version."stream-counter"."1.0.0";
   by-version."stream-counter"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-counter-1.0.0";
+    name = "stream-counter-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz";
@@ -17692,8 +18911,8 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-counter" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
@@ -17701,7 +18920,8 @@
   by-spec."stream-counter"."~0.2.0" =
     self.by-version."stream-counter"."0.2.0";
   by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-counter-0.2.0";
+    name = "stream-counter-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
@@ -17711,9 +18931,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-counter" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
@@ -17721,7 +18941,8 @@
   by-spec."stream-splicer"."^1.1.0" =
     self.by-version."stream-splicer"."1.3.0";
   by-version."stream-splicer"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splicer-1.3.0";
+    name = "stream-splicer-1.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.0.tgz";
@@ -17731,14 +18952,14 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."readable-wrap"."1.0.0"
-      self.by-version."through2"."1.1.1"
-      self.by-version."indexof"."0.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "readable-wrap-1.0.0" = self.by-version."readable-wrap"."1.0.0";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-splicer" ];
@@ -17746,7 +18967,8 @@
   by-spec."stream-splitter-transform"."*" =
     self.by-version."stream-splitter-transform"."0.0.4";
   by-version."stream-splitter-transform"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splitter-transform-0.0.4";
+    name = "stream-splitter-transform-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz";
@@ -17756,9 +18978,9 @@
     ];
     buildInputs =
       (self.nativeDeps."stream-splitter-transform" or []);
-    deps = [
-      self.by-version."buffertools"."1.1.1"
-    ];
+    deps = {
+      "buffertools-1.1.1" = self.by-version."buffertools"."1.1.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
@@ -17767,7 +18989,8 @@
   by-spec."string"."1.6.1" =
     self.by-version."string"."1.6.1";
   by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string-1.6.1";
+    name = "string-1.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
@@ -17777,8 +19000,8 @@
     ];
     buildInputs =
       (self.nativeDeps."string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string" ];
@@ -17786,7 +19009,8 @@
   by-spec."string_decoder"."~0.0.0" =
     self.by-version."string_decoder"."0.0.1";
   by-version."string_decoder"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.0.1";
+    name = "string_decoder-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
@@ -17796,27 +19020,28 @@
     ];
     buildInputs =
       (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string_decoder" ];
   };
   by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.25";
-  by-version."string_decoder"."0.10.25" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.10.25";
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25.tgz";
-        name = "string_decoder-0.10.25.tgz";
-        sha1 = "668c9da4f8efbdc937a4a6b6bf1cfbec4e9a82e2";
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        name = "string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
       })
     ];
     buildInputs =
       (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "string_decoder" ];
@@ -17824,7 +19049,8 @@
   by-spec."stringstream"."~0.0.4" =
     self.by-version."stringstream"."0.0.4";
   by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stringstream-0.0.4";
+    name = "stringstream-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
@@ -17834,48 +19060,50 @@
     ];
     buildInputs =
       (self.nativeDeps."stringstream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stringstream" ];
   };
-  by-spec."strip-ansi"."^0.2.1" =
-    self.by-version."strip-ansi"."0.2.2";
-  by-version."strip-ansi"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-ansi-0.2.2";
+  by-spec."strip-ansi"."^0.3.0" =
+    self.by-version."strip-ansi"."0.3.0";
+  by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-ansi-0.3.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz";
-        name = "strip-ansi-0.2.2.tgz";
-        sha1 = "854d290c981525fc8c397a910b025ae2d54ffc08";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+        name = "strip-ansi-0.3.0.tgz";
+        sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.1.0"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
   };
-  by-spec."strip-ansi"."^0.3.0" =
-    self.by-version."strip-ansi"."0.3.0";
-  by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-ansi-0.3.0";
+  by-spec."strip-ansi"."^1.0.0" =
+    self.by-version."strip-ansi"."1.0.0";
+  by-version."strip-ansi"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-ansi-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
-        name = "strip-ansi-0.3.0.tgz";
-        sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-1.0.0.tgz";
+        name = "strip-ansi-1.0.0.tgz";
+        sha1 = "6c021321d6ece161a3c608fbab268c7328901c73";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
@@ -17884,6 +19112,7 @@
     self.by-version."strip-ansi"."0.1.1";
   by-version."strip-ansi"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "strip-ansi-0.1.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
@@ -17893,29 +19122,30 @@
     ];
     buildInputs =
       (self.nativeDeps."strip-ansi" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-ansi" ];
   };
-  by-spec."strip-bom"."^0.3.0" =
-    self.by-version."strip-bom"."0.3.1";
-  by-version."strip-bom"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-bom-0.3.1";
+  by-spec."strip-bom"."^1.0.0" =
+    self.by-version."strip-bom"."1.0.0";
+  by-version."strip-bom"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-bom-1.0.0";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/strip-bom/-/strip-bom-0.3.1.tgz";
-        name = "strip-bom-0.3.1.tgz";
-        sha1 = "9e8a39eff456ff9abc2f059f5f2225bb0f3f7ca5";
+        url = "http://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz";
+        name = "strip-bom-1.0.0.tgz";
+        sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
       })
     ];
     buildInputs =
       (self.nativeDeps."strip-bom" or []);
-    deps = [
-      self.by-version."first-chunk-stream"."0.1.0"
-      self.by-version."is-utf8"."0.2.0"
-    ];
+    deps = {
+      "first-chunk-stream-1.0.0" = self.by-version."first-chunk-stream"."1.0.0";
+      "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-bom" ];
@@ -17924,6 +19154,7 @@
     self.by-version."strip-json-comments"."0.1.3";
   by-version."strip-json-comments"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "strip-json-comments-0.1.3";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
@@ -17933,8 +19164,8 @@
     ];
     buildInputs =
       (self.nativeDeps."strip-json-comments" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strip-json-comments" ];
@@ -17942,7 +19173,8 @@
   by-spec."strong-data-uri"."~0.1.0" =
     self.by-version."strong-data-uri"."0.1.1";
   by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-strong-data-uri-0.1.1";
+    name = "strong-data-uri-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz";
@@ -17952,43 +19184,45 @@
     ];
     buildInputs =
       (self.nativeDeps."strong-data-uri" or []);
-    deps = [
-      self.by-version."truncate"."1.0.2"
-    ];
+    deps = {
+      "truncate-1.0.2" = self.by-version."truncate"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
   by-spec."stylus"."*" =
-    self.by-version."stylus"."0.48.0";
-  by-version."stylus"."0.48.0" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.48.0";
+    self.by-version."stylus"."0.48.1";
+  by-version."stylus"."0.48.1" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.48.1";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.0.tgz";
-        name = "stylus-0.48.0.tgz";
-        sha1 = "a8de8341b1cd89efb9161050bf87a72d65485795";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.1.tgz";
+        name = "stylus-0.48.1.tgz";
+        sha1 = "612c1b8806ce2c35f37cd3a57ad932c883f7ff10";
       })
     ];
     buildInputs =
       (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."source-map"."0.1.38"
-    ];
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.by-version."stylus"."0.48.0";
+  "stylus" = self.by-version."stylus"."0.48.1";
   by-spec."stylus"."0.42.2" =
     self.by-version."stylus"."0.42.2";
   by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage {
     name = "stylus-0.42.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz";
@@ -17998,13 +19232,13 @@
     ];
     buildInputs =
       (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-    ];
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
@@ -18012,7 +19246,8 @@
   by-spec."subarg"."0.0.1" =
     self.by-version."subarg"."0.0.1";
   by-version."subarg"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-subarg-0.0.1";
+    name = "subarg-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz";
@@ -18022,9 +19257,9 @@
     ];
     buildInputs =
       (self.nativeDeps."subarg" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-    ];
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "subarg" ];
@@ -18032,7 +19267,8 @@
   by-spec."superagent"."0.18.0" =
     self.by-version."superagent"."0.18.0";
   by-version."superagent"."0.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.0";
+    name = "superagent-0.18.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz";
@@ -18042,19 +19278,19 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.5"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."0.0.1"
-      self.by-version."cookiejar"."1.3.2"
-      self.by-version."debug"."0.7.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.2"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.5" = self.by-version."mime"."1.2.5";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "cookiejar-1.3.2" = self.by-version."cookiejar"."1.3.2";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.2" = self.by-version."form-data"."0.1.2";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
@@ -18062,7 +19298,8 @@
   by-spec."superagent"."~0.13.0" =
     self.by-version."superagent"."0.13.0";
   by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.13.0";
+    name = "superagent-0.13.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.13.0.tgz";
@@ -18072,22 +19309,23 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.5.2"
-      self.by-version."formidable"."1.0.9"
-      self.by-version."mime"."1.2.5"
-      self.by-version."emitter-component"."0.0.6"
-      self.by-version."methods"."0.0.1"
-      self.by-version."cookiejar"."1.3.0"
-    ];
+    deps = {
+      "qs-0.5.2" = self.by-version."qs"."0.5.2";
+      "formidable-1.0.9" = self.by-version."formidable"."1.0.9";
+      "mime-1.2.5" = self.by-version."mime"."1.2.5";
+      "emitter-component-0.0.6" = self.by-version."emitter-component"."0.0.6";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "cookiejar-1.3.0" = self.by-version."cookiejar"."1.3.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  by-spec."superagent"."~0.18.0" =
+  by-spec."superagent"."~0.18.2" =
     self.by-version."superagent"."0.18.2";
   by-version."superagent"."0.18.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.2";
+    name = "superagent-0.18.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/superagent/-/superagent-0.18.2.tgz";
@@ -18097,19 +19335,19 @@
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.11"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."1.0.1"
-      self.by-version."cookiejar"."2.0.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.3"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-1.0.1" = self.by-version."methods"."1.0.1";
+      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
@@ -18117,7 +19355,8 @@
   by-spec."supertest"."*" =
     self.by-version."supertest"."0.13.0";
   by-version."supertest"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-supertest-0.13.0";
+    name = "supertest-0.13.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz";
@@ -18127,10 +19366,10 @@
     ];
     buildInputs =
       (self.nativeDeps."supertest" or []);
-    deps = [
-      self.by-version."superagent"."0.18.0"
-      self.by-version."methods"."1.0.0"
-    ];
+    deps = {
+      "superagent-0.18.0" = self.by-version."superagent"."0.18.0";
+      "methods-1.0.0" = self.by-version."methods"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "supertest" ];
@@ -18140,6 +19379,7 @@
     self.by-version."supports-color"."0.2.0";
   by-version."supports-color"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "supports-color-0.2.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
@@ -18149,8 +19389,8 @@
     ];
     buildInputs =
       (self.nativeDeps."supports-color" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "supports-color" ];
@@ -18158,7 +19398,8 @@
   by-spec."swig"."0.14.x" =
     self.by-version."swig"."0.14.0";
   by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-swig-0.14.0";
+    name = "swig-0.14.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
@@ -18168,9 +19409,9 @@
     ];
     buildInputs =
       (self.nativeDeps."swig" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "swig" ];
@@ -18179,7 +19420,8 @@
   by-spec."sylvester".">= 0.0.12" =
     self.by-version."sylvester"."0.0.21";
   by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sylvester-0.0.21";
+    name = "sylvester-0.0.21";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
@@ -18189,8 +19431,8 @@
     ];
     buildInputs =
       (self.nativeDeps."sylvester" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
@@ -18200,7 +19442,8 @@
   by-spec."syntax-error"."^1.1.1" =
     self.by-version."syntax-error"."1.1.1";
   by-version."syntax-error"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-syntax-error-1.1.1";
+    name = "syntax-error-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.1.tgz";
@@ -18210,17 +19453,38 @@
     ];
     buildInputs =
       (self.nativeDeps."syntax-error" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
+    deps = {
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "syntax-error" ];
   };
+  by-spec."tabtab"."git+https://github.com/mixu/node-tabtab.git" =
+    self.by-version."tabtab"."0.0.2";
+  by-version."tabtab"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "tabtab-0.0.2";
+    bin = false;
+    src = [
+      (fetchgit {
+        url = "https://github.com/mixu/node-tabtab.git";
+        rev = "94af2b878b174527b6636aec88acd46979247755";
+        sha256 = "7be2daa2fe7893478d38d90b213de359c9a662a7ef06ad9cbfaac11ad399a149";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tabtab" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tabtab" ];
+  };
   by-spec."tape"."~0.2.2" =
     self.by-version."tape"."0.2.2";
   by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "tape-0.2.2";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz";
@@ -18230,11 +19494,11 @@
     ];
     buildInputs =
       (self.nativeDeps."tape" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-      self.by-version."deep-equal"."0.0.0"
-      self.by-version."defined"."0.0.0"
-    ];
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tape" ];
@@ -18242,7 +19506,8 @@
   by-spec."tar"."*" =
     self.by-version."tar"."1.0.1";
   by-version."tar"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-1.0.1";
+    name = "tar-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar/-/tar-1.0.1.tgz";
@@ -18252,42 +19517,21 @@
     ];
     buildInputs =
       (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
   "tar" = self.by-version."tar"."1.0.1";
-  by-spec."tar"."0" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.20";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
   by-spec."tar"."0.1.17" =
     self.by-version."tar"."0.1.17";
   by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.17";
+    name = "tar-0.1.17";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
@@ -18297,23 +19541,24 @@
     ];
     buildInputs =
       (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."inherits"."1.0.0"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-    ];
+    deps = {
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
   by-spec."tar"."^1.0.0" =
     self.by-version."tar"."1.0.1";
-  by-spec."tar"."~0.1.20" =
-    self.by-version."tar"."0.1.20";
+  by-spec."tar"."~1.0.1" =
+    self.by-version."tar"."1.0.1";
   by-spec."tar-stream"."~0.4.0" =
     self.by-version."tar-stream"."0.4.5";
   by-version."tar-stream"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-stream-0.4.5";
+    name = "tar-stream-0.4.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.5.tgz";
@@ -18323,12 +19568,12 @@
     ];
     buildInputs =
       (self.nativeDeps."tar-stream" or []);
-    deps = [
-      self.by-version."bl"."0.9.1"
-      self.by-version."end-of-stream"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tar-stream" ];
@@ -18336,7 +19581,8 @@
   by-spec."temp"."*" =
     self.by-version."temp"."0.8.1";
   by-version."temp"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.8.1";
+    name = "temp-0.8.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/temp/-/temp-0.8.1.tgz";
@@ -18346,9 +19592,9 @@
     ];
     buildInputs =
       (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
@@ -18357,7 +19603,8 @@
   by-spec."temp"."0.6.0" =
     self.by-version."temp"."0.6.0";
   by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.6.0";
+    name = "temp-0.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
@@ -18367,22 +19614,23 @@
     ];
     buildInputs =
       (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.1.4"
-      self.by-version."osenv"."0.0.3"
-    ];
+    deps = {
+      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
   };
   by-spec."temp"."~0.6.0" =
     self.by-version."temp"."0.6.0";
-  by-spec."temp"."~0.8.0" =
+  by-spec."temp"."~0.8.1" =
     self.by-version."temp"."0.8.1";
   by-spec."text-table"."~0.2.0" =
     self.by-version."text-table"."0.2.0";
   by-version."text-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-text-table-0.2.0";
+    name = "text-table-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
@@ -18392,8 +19640,8 @@
     ];
     buildInputs =
       (self.nativeDeps."text-table" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "text-table" ];
@@ -18401,7 +19649,8 @@
   by-spec."throttleit"."~0.0.2" =
     self.by-version."throttleit"."0.0.2";
   by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-throttleit-0.0.2";
+    name = "throttleit-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
@@ -18411,8 +19660,8 @@
     ];
     buildInputs =
       (self.nativeDeps."throttleit" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "throttleit" ];
@@ -18420,7 +19669,8 @@
   by-spec."through".">=2.2.7 <3" =
     self.by-version."through"."2.3.4";
   by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through-2.3.4";
+    name = "through-2.3.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
@@ -18430,8 +19680,8 @@
     ];
     buildInputs =
       (self.nativeDeps."through" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through" ];
@@ -18441,7 +19691,8 @@
   by-spec."through2"."^0.5.1" =
     self.by-version."through2"."0.5.1";
   by-version."through2"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.5.1";
+    name = "through2-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.5.1.tgz";
@@ -18451,10 +19702,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."3.0.0"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18462,7 +19713,8 @@
   by-spec."through2"."^0.6.1" =
     self.by-version."through2"."0.6.1";
   by-version."through2"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.6.1";
+    name = "through2-0.6.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.6.1.tgz";
@@ -18472,10 +19724,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18483,7 +19735,8 @@
   by-spec."through2"."^1.0.0" =
     self.by-version."through2"."1.1.1";
   by-version."through2"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-1.1.1";
+    name = "through2-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz";
@@ -18493,10 +19746,10 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
@@ -18504,7 +19757,8 @@
   by-spec."through2"."~0.4.1" =
     self.by-version."through2"."0.4.2";
   by-version."through2"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.4.2";
+    name = "through2-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
@@ -18514,32 +19768,54 @@
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."2.1.2"
-    ];
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "through2" ];
   };
   by-spec."through2"."~0.5.1" =
     self.by-version."through2"."0.5.1";
+  by-spec."tildify"."^1.0.0" =
+    self.by-version."tildify"."1.0.0";
+  by-version."tildify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "tildify-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tildify/-/tildify-1.0.0.tgz";
+        name = "tildify-1.0.0.tgz";
+        sha1 = "2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tildify" or []);
+    deps = {
+      "user-home-1.0.0" = self.by-version."user-home"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tildify" ];
+  };
   by-spec."timers-browserify"."^1.0.1" =
-    self.by-version."timers-browserify"."1.0.3";
-  by-version."timers-browserify"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timers-browserify-1.0.3";
+    self.by-version."timers-browserify"."1.1.0";
+  by-version."timers-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "timers-browserify-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.3.tgz";
-        name = "timers-browserify-1.0.3.tgz";
-        sha1 = "ffba70c9c12eed916fd67318e629ac6f32295551";
+        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.1.0.tgz";
+        name = "timers-browserify-1.1.0.tgz";
+        sha1 = "bffd11af00fe82b089b015e8de4dc6a911b7ec3e";
       })
     ];
     buildInputs =
       (self.nativeDeps."timers-browserify" or []);
-    deps = [
-      self.by-version."process"."0.5.2"
-    ];
+    deps = {
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timers-browserify" ];
@@ -18547,7 +19823,8 @@
   by-spec."timespan"."~2.3.0" =
     self.by-version."timespan"."2.3.0";
   by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timespan-2.3.0";
+    name = "timespan-2.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
@@ -18557,8 +19834,8 @@
     ];
     buildInputs =
       (self.nativeDeps."timespan" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
@@ -18566,7 +19843,8 @@
   by-spec."timezone"."*" =
     self.by-version."timezone"."0.0.34";
   by-version."timezone"."0.0.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timezone-0.0.34";
+    name = "timezone-0.0.34";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/timezone/-/timezone-0.0.34.tgz";
@@ -18576,8 +19854,8 @@
     ];
     buildInputs =
       (self.nativeDeps."timezone" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
@@ -18586,7 +19864,8 @@
   by-spec."tinycolor"."0.x" =
     self.by-version."tinycolor"."0.0.1";
   by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tinycolor-0.0.1";
+    name = "tinycolor-0.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
@@ -18596,8 +19875,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tinycolor" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
@@ -18606,6 +19885,7 @@
     self.by-version."titanium"."3.2.1";
   by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "titanium-3.2.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz";
@@ -18615,23 +19895,23 @@
     ];
     buildInputs =
       (self.nativeDeps."titanium" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."fields"."0.1.12"
-      self.by-version."humanize"."0.0.9"
-      self.by-version."jade"."0.35.0"
-      self.by-version."longjohn"."0.2.4"
-      self.by-version."moment"."2.4.0"
-      self.by-version."node-appc"."0.2.0"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.2.1"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."winston"."0.6.2"
-      self.by-version."wrench"."1.5.8"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "fields-0.1.13" = self.by-version."fields"."0.1.13";
+      "humanize-0.0.9" = self.by-version."humanize"."0.0.9";
+      "jade-0.35.0" = self.by-version."jade"."0.35.0";
+      "longjohn-0.2.4" = self.by-version."longjohn"."0.2.4";
+      "moment-2.4.0" = self.by-version."moment"."2.4.0";
+      "node-appc-0.2.0" = self.by-version."node-appc"."0.2.0";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "semver-2.2.1" = self.by-version."semver"."2.2.1";
+      "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "titanium" ];
@@ -18640,7 +19920,8 @@
   by-spec."tmp"."~0.0.20" =
     self.by-version."tmp"."0.0.24";
   by-version."tmp"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tmp-0.0.24";
+    name = "tmp-0.0.24";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz";
@@ -18650,8 +19931,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tmp" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
@@ -18659,7 +19940,8 @@
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
   by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.12.1";
+    name = "tough-cookie-0.12.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
@@ -18669,29 +19951,9 @@
     ];
     buildInputs =
       (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tough-cookie"."~0.9.15" =
-    self.by-version."tough-cookie"."0.9.15";
-  by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.9.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
-        name = "tough-cookie-0.9.15.tgz";
-        sha1 = "75617ac347e3659052b0350131885829677399f6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
+    deps = {
+      "punycode-1.3.1" = self.by-version."punycode"."1.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tough-cookie" ];
@@ -18700,6 +19962,7 @@
     self.by-version."traceur"."0.0.55";
   by-version."traceur"."0.0.55" = lib.makeOverridable self.buildNodePackage {
     name = "traceur-0.0.55";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/traceur/-/traceur-0.0.55.tgz";
@@ -18709,11 +19972,11 @@
     ];
     buildInputs =
       (self.nativeDeps."traceur" or []);
-    deps = [
-      self.by-version."commander"."2.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."semver"."2.3.2"
-    ];
+    deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "traceur" ];
@@ -18721,7 +19984,8 @@
   by-spec."transformers"."2.1.0" =
     self.by-version."transformers"."2.1.0";
   by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-transformers-2.1.0";
+    name = "transformers-2.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
@@ -18731,11 +19995,11 @@
     ];
     buildInputs =
       (self.nativeDeps."transformers" or []);
-    deps = [
-      self.by-version."promise"."2.0.0"
-      self.by-version."css"."1.0.8"
-      self.by-version."uglify-js"."2.2.5"
-    ];
+    deps = {
+      "promise-2.0.0" = self.by-version."promise"."2.0.0";
+      "css-1.0.8" = self.by-version."css"."1.0.8";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
@@ -18743,7 +20007,8 @@
   by-spec."truncate"."~1.0.2" =
     self.by-version."truncate"."1.0.2";
   by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-truncate-1.0.2";
+    name = "truncate-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/truncate/-/truncate-1.0.2.tgz";
@@ -18753,8 +20018,8 @@
     ];
     buildInputs =
       (self.nativeDeps."truncate" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
@@ -18762,7 +20027,8 @@
   by-spec."tty-browserify"."~0.0.0" =
     self.by-version."tty-browserify"."0.0.0";
   by-version."tty-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tty-browserify-0.0.0";
+    name = "tty-browserify-0.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
@@ -18772,8 +20038,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tty-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tty-browserify" ];
@@ -18781,7 +20047,8 @@
   by-spec."tunnel-agent"."~0.2.0" =
     self.by-version."tunnel-agent"."0.2.0";
   by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.2.0";
+    name = "tunnel-agent-0.2.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
@@ -18791,8 +20058,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18800,7 +20067,8 @@
   by-spec."tunnel-agent"."~0.3.0" =
     self.by-version."tunnel-agent"."0.3.0";
   by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.3.0";
+    name = "tunnel-agent-0.3.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
@@ -18810,8 +20078,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18819,7 +20087,8 @@
   by-spec."tunnel-agent"."~0.4.0" =
     self.by-version."tunnel-agent"."0.4.0";
   by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.4.0";
+    name = "tunnel-agent-0.4.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
@@ -18829,8 +20098,8 @@
     ];
     buildInputs =
       (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
@@ -18838,7 +20107,8 @@
   by-spec."type-detect"."0.1.1" =
     self.by-version."type-detect"."0.1.1";
   by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-detect-0.1.1";
+    name = "type-detect-0.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
@@ -18848,8 +20118,8 @@
     ];
     buildInputs =
       (self.nativeDeps."type-detect" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
@@ -18857,7 +20127,8 @@
   by-spec."type-is"."1.0.0" =
     self.by-version."type-is"."1.0.0";
   by-version."type-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.0.0";
+    name = "type-is-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz";
@@ -18867,81 +20138,62 @@
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-    ];
+    deps = {
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."1.2.1" =
-    self.by-version."type-is"."1.2.1";
-  by-version."type-is"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz";
-        name = "type-is-1.2.1.tgz";
-        sha1 = "73d448080a4f1dd18acb1eefff62968c5b5d54a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."type-is"."1.3.1" =
-    self.by-version."type-is"."1.3.1";
-  by-version."type-is"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.1";
+  by-spec."type-is"."~1.3.2" =
+    self.by-version."type-is"."1.3.2";
+  by-version."type-is"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "type-is-1.3.2";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.1.tgz";
-        name = "type-is-1.3.1.tgz";
-        sha1 = "a6789b5a52138289ade1ef8f6d9f2874ffd70b6b";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        name = "type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
       })
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.0"
-    ];
+    deps = {
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."~1.3.1" =
-    self.by-version."type-is"."1.3.2";
-  by-version."type-is"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.2";
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.1";
+  by-version."type-is"."1.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "type-is-1.5.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
-        name = "type-is-1.3.2.tgz";
-        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz";
+        name = "type-is-1.5.1.tgz";
+        sha1 = "5c1e62d874f79199fb16b34d16972dba376ccbed";
       })
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.2"
-    ];
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.1" = self.by-version."mime-types"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
-  by-spec."type-is"."~1.3.2" =
-    self.by-version."type-is"."1.3.2";
   by-spec."typechecker"."~2.0.1" =
     self.by-version."typechecker"."2.0.8";
   by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typechecker-2.0.8";
+    name = "typechecker-2.0.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
@@ -18951,8 +20203,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typechecker" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
@@ -18960,7 +20212,8 @@
   by-spec."typedarray"."~0.0.5" =
     self.by-version."typedarray"."0.0.6";
   by-version."typedarray"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typedarray-0.0.6";
+    name = "typedarray-0.0.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
@@ -18970,8 +20223,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typedarray" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typedarray" ];
@@ -18980,6 +20233,7 @@
     self.by-version."typescript"."1.0.1";
   by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "typescript-1.0.1";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
@@ -18989,8 +20243,8 @@
     ];
     buildInputs =
       (self.nativeDeps."typescript" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "typescript" ];
@@ -19000,6 +20254,7 @@
     self.by-version."uglify-js"."2.4.15";
   by-version."uglify-js"."2.4.15" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.15";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz";
@@ -19009,12 +20264,12 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.34"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19024,6 +20279,7 @@
     self.by-version."uglify-js"."1.2.5";
   by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
@@ -19033,8 +20289,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19043,6 +20299,7 @@
     self.by-version."uglify-js"."2.4.0";
   by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
@@ -19052,12 +20309,12 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19068,6 +20325,7 @@
     self.by-version."uglify-js"."2.2.5";
   by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.2.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
@@ -19077,10 +20335,10 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
+    deps = {
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19091,6 +20349,7 @@
     self.by-version."uglify-js"."2.3.6";
   by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.3.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
@@ -19100,11 +20359,11 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
@@ -19118,7 +20377,8 @@
   by-spec."uglify-to-browserify"."~1.0.0" =
     self.by-version."uglify-to-browserify"."1.0.2";
   by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uglify-to-browserify-1.0.2";
+    name = "uglify-to-browserify-1.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
@@ -19128,8 +20388,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uglify-to-browserify" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uglify-to-browserify" ];
@@ -19137,7 +20397,8 @@
   by-spec."uid-number"."0.0.5" =
     self.by-version."uid-number"."0.0.5";
   by-version."uid-number"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-number-0.0.5";
+    name = "uid-number-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
@@ -19147,16 +20408,17 @@
     ];
     buildInputs =
       (self.nativeDeps."uid-number" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid-number" ];
   };
-  by-spec."uid-safe"."1" =
+  by-spec."uid-safe"."1.0.1" =
     self.by-version."uid-safe"."1.0.1";
   by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-safe-1.0.1";
+    name = "uid-safe-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
@@ -19166,20 +20428,21 @@
     ];
     buildInputs =
       (self.nativeDeps."uid-safe" or []);
-    deps = [
-      self.by-version."mz"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
+    deps = {
+      "mz-1.0.1" = self.by-version."mz"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid-safe" ];
   };
-  by-spec."uid-safe"."1.0.1" =
+  by-spec."uid-safe"."~1.0.1" =
     self.by-version."uid-safe"."1.0.1";
   by-spec."uid2"."0.0.3" =
     self.by-version."uid2"."0.0.3";
   by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid2-0.0.3";
+    name = "uid2-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
@@ -19189,8 +20452,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uid2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uid2" ];
@@ -19199,6 +20462,7 @@
     self.by-version."umd"."2.1.0";
   by-version."umd"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "umd-2.1.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/umd/-/umd-2.1.0.tgz";
@@ -19208,12 +20472,12 @@
     ];
     buildInputs =
       (self.nativeDeps."umd" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."ruglify"."1.0.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "ruglify-1.0.0" = self.by-version."ruglify"."1.0.0";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "umd" ];
@@ -19221,9 +20485,31 @@
   by-spec."umd"."~2.1.0" =
     self.by-version."umd"."2.1.0";
   by-spec."underscore"."*" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.7.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        name = "underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  "underscore" = self.by-version."underscore"."1.7.0";
+  by-spec."underscore"."1.6.x" =
     self.by-version."underscore"."1.6.0";
   by-version."underscore"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.6.0";
+    name = "underscore-1.6.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
@@ -19233,27 +20519,23 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  "underscore" = self.by-version."underscore"."1.6.0";
-  by-spec."underscore"."1.6.x" =
-    self.by-version."underscore"."1.6.0";
-  by-spec."underscore".">= 1.3.0" =
-    self.by-version."underscore"."1.6.0";
   by-spec."underscore".">=1.1.7" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore".">=1.3.1" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore".">=1.5.0" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore"."~1.4.3" =
     self.by-version."underscore"."1.4.4";
   by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.4.4";
+    name = "underscore-1.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
@@ -19263,8 +20545,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
@@ -19274,7 +20556,8 @@
   by-spec."underscore"."~1.5.2" =
     self.by-version."underscore"."1.5.2";
   by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.5.2";
+    name = "underscore-1.5.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
@@ -19284,8 +20567,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
@@ -19293,7 +20576,8 @@
   by-spec."underscore.string"."~2.2.1" =
     self.by-version."underscore.string"."2.2.1";
   by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore.string-2.2.1";
+    name = "underscore.string-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
@@ -19303,8 +20587,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
@@ -19312,7 +20596,8 @@
   by-spec."underscore.string"."~2.3.1" =
     self.by-version."underscore.string"."2.3.3";
   by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore.string-2.3.3";
+    name = "underscore.string-2.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
@@ -19322,8 +20607,8 @@
     ];
     buildInputs =
       (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
@@ -19333,7 +20618,8 @@
   by-spec."unfunk-diff"."~0.0.1" =
     self.by-version."unfunk-diff"."0.0.2";
   by-version."unfunk-diff"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unfunk-diff-0.0.2";
+    name = "unfunk-diff-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
@@ -19343,72 +20629,74 @@
     ];
     buildInputs =
       (self.nativeDeps."unfunk-diff" or []);
-    deps = [
-      self.by-version."diff"."1.0.8"
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
+    deps = {
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "unfunk-diff" ];
   };
   by-spec."ungit"."*" =
-    self.by-version."ungit"."0.8.2";
-  by-version."ungit"."0.8.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.8.2";
+    self.by-version."ungit"."0.8.3";
+  by-version."ungit"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.8.3";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.2.tgz";
-        name = "ungit-0.8.2.tgz";
-        sha1 = "11fe51329ab2aaafaccd155eb0c911a90036b27f";
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.3.tgz";
+        name = "ungit-0.8.3.tgz";
+        sha1 = "93ea5734cb8408ef9ba3406102fa5254abfeaa4b";
       })
     ];
     buildInputs =
       (self.nativeDeps."ungit" or []);
-    deps = [
-      self.by-version."express"."4.4.5"
-      self.by-version."superagent"."0.18.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."moment"."2.7.0"
-      self.by-version."async"."0.9.0"
-      self.by-version."rc"."0.4.0"
-      self.by-version."uuid"."1.4.1"
-      self.by-version."winston"."0.7.3"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-local"."1.0.0"
-      self.by-version."semver"."2.3.2"
-      self.by-version."forever-monitor"."1.1.0"
-      self.by-version."open"."0.0.5"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."crossroads"."0.12.0"
-      self.by-version."signals"."1.0.0"
-      self.by-version."hasher"."1.2.0"
-      self.by-version."blueimp-md5"."1.1.0"
-      self.by-version."color"."0.6.0"
-      self.by-version."keen.io"."0.1.2"
-      self.by-version."getmac"."1.0.6"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."raven"."0.7.0"
-      self.by-version."knockout"."3.1.0"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."body-parser"."1.4.3"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."express-session"."1.6.5"
-      self.by-version."serve-static"."1.3.2"
-    ];
+    deps = {
+      "express-4.8.8" = self.by-version."express"."4.8.8";
+      "superagent-0.18.2" = self.by-version."superagent"."0.18.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "moment-2.8.3" = self.by-version."moment"."2.8.3";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "rc-0.5.1" = self.by-version."rc"."0.5.1";
+      "uuid-1.4.1" = self.by-version."uuid"."1.4.1";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-local-1.0.0" = self.by-version."passport-local"."1.0.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "forever-monitor-1.1.0" = self.by-version."forever-monitor"."1.1.0";
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "crossroads-0.12.0" = self.by-version."crossroads"."0.12.0";
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+      "hasher-1.2.0" = self.by-version."hasher"."1.2.0";
+      "blueimp-md5-1.1.0" = self.by-version."blueimp-md5"."1.1.0";
+      "color-0.7.1" = self.by-version."color"."0.7.1";
+      "keen.io-0.1.2" = self.by-version."keen.io"."0.1.2";
+      "getmac-1.0.6" = self.by-version."getmac"."1.0.6";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "raven-0.7.2" = self.by-version."raven"."0.7.2";
+      "knockout-3.2.0" = self.by-version."knockout"."3.2.0";
+      "npm-registry-client-3.1.8" = self.by-version."npm-registry-client"."3.1.8";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "body-parser-1.6.7" = self.by-version."body-parser"."1.6.7";
+      "cookie-parser-1.3.3" = self.by-version."cookie-parser"."1.3.3";
+      "express-session-1.7.6" = self.by-version."express-session"."1.7.6";
+      "serve-static-1.5.4" = self.by-version."serve-static"."1.5.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ungit" ];
   };
-  "ungit" = self.by-version."ungit"."0.8.2";
+  "ungit" = self.by-version."ungit"."0.8.3";
   by-spec."unique-stream"."^1.0.0" =
     self.by-version."unique-stream"."1.0.0";
   by-version."unique-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unique-stream-1.0.0";
+    name = "unique-stream-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
@@ -19418,8 +20706,8 @@
     ];
     buildInputs =
       (self.nativeDeps."unique-stream" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "unique-stream" ];
@@ -19427,7 +20715,8 @@
   by-spec."update-notifier"."~0.1.8" =
     self.by-version."update-notifier"."0.1.10";
   by-version."update-notifier"."0.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-update-notifier-0.1.10";
+    name = "update-notifier-0.1.10";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.10.tgz";
@@ -19437,12 +20726,12 @@
     ];
     buildInputs =
       (self.nativeDeps."update-notifier" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."configstore"."0.3.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."semver"."2.3.2"
-    ];
+    deps = {
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+      "configstore-0.3.1" = self.by-version."configstore"."0.3.1";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
@@ -19450,7 +20739,8 @@
   by-spec."url"."~0.10.1" =
     self.by-version."url"."0.10.1";
   by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-url-0.10.1";
+    name = "url-0.10.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/url/-/url-0.10.1.tgz";
@@ -19460,17 +20750,38 @@
     ];
     buildInputs =
       (self.nativeDeps."url" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-    ];
+    deps = {
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "url" ];
   };
+  by-spec."user-home"."^1.0.0" =
+    self.by-version."user-home"."1.0.0";
+  by-version."user-home"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "user-home-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/user-home/-/user-home-1.0.0.tgz";
+        name = "user-home-1.0.0.tgz";
+        sha1 = "54ecb631e0fa420e9b0a6b946b158d137825b38b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."user-home" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "user-home" ];
+  };
   by-spec."useragent"."~2.0.4" =
     self.by-version."useragent"."2.0.9";
   by-version."useragent"."2.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-useragent-2.0.9";
+    name = "useragent-2.0.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/useragent/-/useragent-2.0.9.tgz";
@@ -19480,29 +20791,30 @@
     ];
     buildInputs =
       (self.nativeDeps."useragent" or []);
-    deps = [
-      self.by-version."lru-cache"."2.2.4"
-    ];
+    deps = {
+      "lru-cache-2.2.4" = self.by-version."lru-cache"."2.2.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "useragent" ];
   };
-  by-spec."util"."0.10.2" =
-    self.by-version."util"."0.10.2";
-  by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.2";
+  by-spec."util"."0.10.3" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "util-0.10.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.2.tgz";
-        name = "util-0.10.2.tgz";
-        sha1 = "8180519cf690fb88bc56480fe55087531f446304";
+        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        name = "util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
       })
     ];
     buildInputs =
       (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
@@ -19510,7 +20822,8 @@
   by-spec."util"."0.4.9" =
     self.by-version."util"."0.4.9";
   by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.4.9";
+    name = "util-0.4.9";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
@@ -19520,39 +20833,22 @@
     ];
     buildInputs =
       (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."events.node"."0.4.9"
-    ];
+    deps = {
+      "events.node-0.4.9" = self.by-version."events.node"."0.4.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
   by-spec."util".">=0.10.3 <1" =
     self.by-version."util"."0.10.3";
-  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        name = "util-0.10.3.tgz";
-        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util" ];
-  };
   by-spec."util"."~0.10.1" =
     self.by-version."util"."0.10.3";
   by-spec."util-extend"."^1.0.1" =
     self.by-version."util-extend"."1.0.1";
   by-version."util-extend"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-extend-1.0.1";
+    name = "util-extend-1.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz";
@@ -19562,8 +20858,8 @@
     ];
     buildInputs =
       (self.nativeDeps."util-extend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "util-extend" ];
@@ -19571,7 +20867,8 @@
   by-spec."utile"."0.1.x" =
     self.by-version."utile"."0.1.7";
   by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.1.7";
+    name = "utile-0.1.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
@@ -19581,14 +20878,14 @@
     ];
     buildInputs =
       (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.2.7"
-      self.by-version."rimraf"."1.0.9"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.2.7" = self.by-version."ncp"."0.2.7";
+      "rimraf-1.0.9" = self.by-version."rimraf"."1.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
@@ -19596,7 +20893,8 @@
   by-spec."utile"."0.2.1" =
     self.by-version."utile"."0.2.1";
   by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.2.1";
+    name = "utile-0.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
@@ -19606,14 +20904,14 @@
     ];
     buildInputs =
       (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.4.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
@@ -19625,7 +20923,8 @@
   by-spec."utils-merge"."1.0.0" =
     self.by-version."utils-merge"."1.0.0";
   by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utils-merge-1.0.0";
+    name = "utils-merge-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
@@ -19635,8 +20934,8 @@
     ];
     buildInputs =
       (self.nativeDeps."utils-merge" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "utils-merge" ];
@@ -19644,7 +20943,8 @@
   by-spec."uuid"."1.4.1" =
     self.by-version."uuid"."1.4.1";
   by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
+    name = "uuid-1.4.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
@@ -19654,8 +20954,8 @@
     ];
     buildInputs =
       (self.nativeDeps."uuid" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
@@ -19665,7 +20965,8 @@
   by-spec."validator"."0.4.x" =
     self.by-version."validator"."0.4.28";
   by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
-    name = "node-validator-0.4.28";
+    name = "validator-0.4.28";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz";
@@ -19675,8 +20976,8 @@
     ];
     buildInputs =
       (self.nativeDeps."validator" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
@@ -19684,7 +20985,8 @@
   by-spec."vargs"."~0.1.0" =
     self.by-version."vargs"."0.1.0";
   by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vargs-0.1.0";
+    name = "vargs-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
@@ -19694,8 +20996,8 @@
     ];
     buildInputs =
       (self.nativeDeps."vargs" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
@@ -19703,7 +21005,8 @@
   by-spec."vary"."0.1.0" =
     self.by-version."vary"."0.1.0";
   by-version."vary"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-0.1.0";
+    name = "vary-0.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
@@ -19713,18 +21016,17 @@
     ];
     buildInputs =
       (self.nativeDeps."vary" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vary" ];
   };
-  by-spec."vary"."~0.1.0" =
-    self.by-version."vary"."0.1.0";
   by-spec."vary"."~1.0.0" =
     self.by-version."vary"."1.0.0";
   by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-1.0.0";
+    name = "vary-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
@@ -19734,8 +21036,8 @@
     ];
     buildInputs =
       (self.nativeDeps."vary" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vary" ];
@@ -19743,7 +21045,8 @@
   by-spec."vasync"."1.3.3" =
     self.by-version."vasync"."1.3.3";
   by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.3.3";
+    name = "vasync-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
@@ -19753,10 +21056,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
@@ -19764,7 +21067,8 @@
   by-spec."vasync"."1.4.3" =
     self.by-version."vasync"."1.4.3";
   by-version."vasync"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.4.3";
+    name = "vasync-1.4.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vasync/-/vasync-1.4.3.tgz";
@@ -19774,10 +21078,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
@@ -19785,7 +21089,8 @@
   by-spec."verror"."1.1.0" =
     self.by-version."verror"."1.1.0";
   by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.1.0";
+    name = "verror-1.1.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
@@ -19795,9 +21100,9 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
@@ -19805,7 +21110,8 @@
   by-spec."verror"."1.3.3" =
     self.by-version."verror"."1.3.3";
   by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.3";
+    name = "verror-1.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
@@ -19815,9 +21121,9 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
@@ -19825,7 +21131,8 @@
   by-spec."verror"."1.3.6" =
     self.by-version."verror"."1.3.6";
   by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.6";
+    name = "verror-1.3.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
@@ -19835,28 +21142,29 @@
     ];
     buildInputs =
       (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.2"
-    ];
+    deps = {
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  by-spec."vhost"."2.0.0" =
-    self.by-version."vhost"."2.0.0";
-  by-version."vhost"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vhost-2.0.0";
+  by-spec."vhost"."~3.0.0" =
+    self.by-version."vhost"."3.0.0";
+  by-version."vhost"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "vhost-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vhost/-/vhost-2.0.0.tgz";
-        name = "vhost-2.0.0.tgz";
-        sha1 = "1e26770bd0fce86c40945591e6f284c6891791e2";
+        url = "http://registry.npmjs.org/vhost/-/vhost-3.0.0.tgz";
+        name = "vhost-3.0.0.tgz";
+        sha1 = "2d0ec59a3e012278b65adbe17c1717a5a5023045";
       })
     ];
     buildInputs =
       (self.nativeDeps."vhost" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vhost" ];
@@ -19864,7 +21172,8 @@
   by-spec."view-helpers"."*" =
     self.by-version."view-helpers"."0.1.5";
   by-version."view-helpers"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-view-helpers-0.1.5";
+    name = "view-helpers-0.1.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.5.tgz";
@@ -19874,8 +21183,8 @@
     ];
     buildInputs =
       (self.nativeDeps."view-helpers" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
@@ -19884,7 +21193,8 @@
   by-spec."vinyl"."^0.2.3" =
     self.by-version."vinyl"."0.2.3";
   by-version."vinyl"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.2.3";
+    name = "vinyl-0.2.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz";
@@ -19894,65 +21204,70 @@
     ];
     buildInputs =
       (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-    ];
+    deps = {
+      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl" ];
   };
-  by-spec."vinyl"."^0.3.2" =
-    self.by-version."vinyl"."0.3.2";
-  by-version."vinyl"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.3.2";
+  by-spec."vinyl"."^0.4.0" =
+    self.by-version."vinyl"."0.4.3";
+  by-version."vinyl"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "vinyl-0.4.3";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.3.2.tgz";
-        name = "vinyl-0.3.2.tgz";
-        sha1 = "2b422d7c5ff0abc0d22d90ed2275e409dab5e174";
+        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.4.3.tgz";
+        name = "vinyl-0.4.3.tgz";
+        sha1 = "19f61a1b28e72b4c50697889dbe91d7503943ecf";
       })
     ];
     buildInputs =
       (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-      self.by-version."lodash"."2.4.1"
-    ];
+    deps = {
+      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl" ];
   };
-  by-spec."vinyl-fs"."^0.3.3" =
-    self.by-version."vinyl-fs"."0.3.6";
-  by-version."vinyl-fs"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-fs-0.3.6";
+  by-spec."vinyl-fs"."^0.3.0" =
+    self.by-version."vinyl-fs"."0.3.7";
+  by-version."vinyl-fs"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "vinyl-fs-0.3.7";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.6.tgz";
-        name = "vinyl-fs-0.3.6.tgz";
-        sha1 = "c96985527cd53eb4a3eeb8ffb3180bda3084ecfc";
+        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.7.tgz";
+        name = "vinyl-fs-0.3.7.tgz";
+        sha1 = "2e25cfe6df5c80818f97ff417bf5c21a41e4a49b";
       })
     ];
     buildInputs =
       (self.nativeDeps."vinyl-fs" or []);
-    deps = [
-      self.by-version."glob-stream"."3.1.15"
-      self.by-version."glob-watcher"."0.0.6"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."strip-bom"."0.3.1"
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.3.2"
-    ];
+    deps = {
+      "glob-stream-3.1.15" = self.by-version."glob-stream"."3.1.15";
+      "glob-watcher-0.0.6" = self.by-version."glob-watcher"."0.0.6";
+      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "strip-bom-1.0.0" = self.by-version."strip-bom"."1.0.0";
+      "through2-0.6.1" = self.by-version."through2"."0.6.1";
+      "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vinyl-fs" ];
   };
+  by-spec."vinyl-fs"."^0.3.3" =
+    self.by-version."vinyl-fs"."0.3.7";
   by-spec."vm-browserify"."~0.0.1" =
     self.by-version."vm-browserify"."0.0.4";
   by-version."vm-browserify"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vm-browserify-0.0.4";
+    name = "vm-browserify-0.0.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
@@ -19962,17 +21277,38 @@
     ];
     buildInputs =
       (self.nativeDeps."vm-browserify" or []);
-    deps = [
-      self.by-version."indexof"."0.0.1"
-    ];
+    deps = {
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vm-browserify" ];
   };
+  by-spec."void-elements"."~1.0.0" =
+    self.by-version."void-elements"."1.0.0";
+  by-version."void-elements"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "void-elements-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/void-elements/-/void-elements-1.0.0.tgz";
+        name = "void-elements-1.0.0.tgz";
+        sha1 = "6e5db1e35d591f5ac690ce1a340f793a817b2c2a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."void-elements" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "void-elements" ];
+  };
   by-spec."vows".">=0.5.13" =
     self.by-version."vows"."0.7.0";
   by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "vows-0.7.0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
@@ -19982,10 +21318,10 @@
     ];
     buildInputs =
       (self.nativeDeps."vows" or []);
-    deps = [
-      self.by-version."eyes"."0.1.8"
-      self.by-version."diff"."1.0.8"
-    ];
+    deps = {
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
@@ -19993,7 +21329,8 @@
   by-spec."walk"."*" =
     self.by-version."walk"."2.3.3";
   by-version."walk"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.3.3";
+    name = "walk-2.3.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/walk/-/walk-2.3.3.tgz";
@@ -20003,9 +21340,9 @@
     ];
     buildInputs =
       (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."foreachasync"."3.0.0"
-    ];
+    deps = {
+      "foreachasync-3.0.0" = self.by-version."foreachasync"."3.0.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
@@ -20014,7 +21351,8 @@
   by-spec."walk"."~2.2.1" =
     self.by-version."walk"."2.2.1";
   by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.2.1";
+    name = "walk-2.2.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
@@ -20024,9 +21362,9 @@
     ];
     buildInputs =
       (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."forEachAsync"."2.2.1"
-    ];
+    deps = {
+      "forEachAsync-2.2.1" = self.by-version."forEachAsync"."2.2.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
@@ -20034,7 +21372,8 @@
   by-spec."watch"."0.5.x" =
     self.by-version."watch"."0.5.1";
   by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.5.1";
+    name = "watch-0.5.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
@@ -20044,8 +21383,8 @@
     ];
     buildInputs =
       (self.nativeDeps."watch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
@@ -20053,7 +21392,8 @@
   by-spec."watch"."~0.8.0" =
     self.by-version."watch"."0.8.0";
   by-version."watch"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.8.0";
+    name = "watch-0.8.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/watch/-/watch-0.8.0.tgz";
@@ -20063,55 +21403,57 @@
     ];
     buildInputs =
       (self.nativeDeps."watch" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  by-spec."wcwidth.js"."~0.0.4" =
-    self.by-version."wcwidth.js"."0.0.4";
-  by-version."wcwidth.js"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wcwidth.js-0.0.4";
+  by-spec."wcwidth"."^1.0.0" =
+    self.by-version."wcwidth"."1.0.0";
+  by-version."wcwidth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "wcwidth-1.0.0";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz";
-        name = "wcwidth.js-0.0.4.tgz";
-        sha1 = "44298a7c899c17501990fdaddd76ef6bd081be75";
+        url = "http://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz";
+        name = "wcwidth-1.0.0.tgz";
+        sha1 = "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wcwidth.js" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
+      (self.nativeDeps."wcwidth" or []);
+    deps = {
+      "defaults-1.0.0" = self.by-version."defaults"."1.0.0";
+    };
     peerDependencies = [
     ];
-    passthru.names = [ "wcwidth.js" ];
+    passthru.names = [ "wcwidth" ];
   };
   by-spec."wd"."~0.3.4" =
-    self.by-version."wd"."0.3.4";
-  by-version."wd"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.3.4";
+    self.by-version."wd"."0.3.7";
+  by-version."wd"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.3.7";
+    bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.3.4.tgz";
-        name = "wd-0.3.4.tgz";
-        sha1 = "da95a0998eb8acfd297e3a9baf28f610b6345543";
+        url = "http://registry.npmjs.org/wd/-/wd-0.3.7.tgz";
+        name = "wd-0.3.7.tgz";
+        sha1 = "311f03e56a7d67fe263aa446a360145c592a5dc8";
       })
     ];
     buildInputs =
       (self.nativeDeps."wd" or []);
-    deps = [
-      self.by-version."archiver"."0.10.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."q"."1.0.1"
-      self.by-version."request"."2.37.0"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."vargs"."0.1.0"
-    ];
+    deps = {
+      "archiver-0.11.0" = self.by-version."archiver"."0.11.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "vargs-0.1.0" = self.by-version."vargs"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
@@ -20119,7 +21461,8 @@
   by-spec."weak-map"."^1.0.4" =
     self.by-version."weak-map"."1.0.5";
   by-version."weak-map"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-weak-map-1.0.5";
+    name = "weak-map-1.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz";
@@ -20129,8 +21472,8 @@
     ];
     buildInputs =
       (self.nativeDeps."weak-map" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "weak-map" ];
@@ -20139,6 +21482,7 @@
     self.by-version."webdrvr"."2.41.0-0";
   by-version."webdrvr"."2.41.0-0" = lib.makeOverridable self.buildNodePackage {
     name = "webdrvr-2.41.0-0";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.41.0-0.tgz";
@@ -20148,15 +21492,15 @@
     ];
     buildInputs =
       (self.nativeDeps."webdrvr" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."kew"."0.1.7"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."npmconf"."0.1.16"
-      self.by-version."phantomjs"."1.9.7-15"
-      self.by-version."tmp"."0.0.24"
-      self.by-version."follow-redirects"."0.0.3"
-    ];
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "kew-0.1.7" = self.by-version."kew"."0.1.7";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "npmconf-0.1.16" = self.by-version."npmconf"."0.1.16";
+      "phantomjs-1.9.7-15" = self.by-version."phantomjs"."1.9.7-15";
+      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
@@ -20165,7 +21509,8 @@
   by-spec."websocket-driver".">=0.3.1" =
     self.by-version."websocket-driver"."0.3.5";
   by-version."websocket-driver"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-websocket-driver-0.3.5";
+    name = "websocket-driver-0.3.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.5.tgz";
@@ -20175,27 +21520,28 @@
     ];
     buildInputs =
       (self.nativeDeps."websocket-driver" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  by-spec."when"."~3.1.0" =
-    self.by-version."when"."3.1.0";
-  by-version."when"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-when-3.1.0";
+  by-spec."when"."~3.4.4" =
+    self.by-version."when"."3.4.5";
+  by-version."when"."3.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "when-3.4.5";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/when/-/when-3.1.0.tgz";
-        name = "when-3.1.0.tgz";
-        sha1 = "a2479659ca15f725541ecf52ebae091b781ee134";
+        url = "http://registry.npmjs.org/when/-/when-3.4.5.tgz";
+        name = "when-3.4.5.tgz";
+        sha1 = "1f39cc46cfb349f0aee37c5b1abce6a527846969";
       })
     ];
     buildInputs =
       (self.nativeDeps."when" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
@@ -20204,6 +21550,7 @@
     self.by-version."which"."1.0.5";
   by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
@@ -20213,8 +21560,8 @@
     ];
     buildInputs =
       (self.nativeDeps."which" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "which" ];
@@ -20227,6 +21574,7 @@
     self.by-version."winser"."0.1.6";
   by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "winser-0.1.6";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
@@ -20236,10 +21584,10 @@
     ];
     buildInputs =
       (self.nativeDeps."winser" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-      self.by-version."commander"."1.3.1"
-    ];
+    deps = {
+      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
+      "commander-1.3.1" = self.by-version."commander"."1.3.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winser" ];
@@ -20247,7 +21595,8 @@
   by-spec."winston"."*" =
     self.by-version."winston"."0.7.3";
   by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.3";
+    name = "winston-0.7.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
@@ -20257,15 +21606,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."request"."2.16.6"
-      self.by-version."stack-trace"."0.0.9"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20274,7 +21623,8 @@
   by-spec."winston"."0.6.2" =
     self.by-version."winston"."0.6.2";
   by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.6.2";
+    name = "winston-0.6.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
@@ -20284,15 +21634,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."request"."2.9.203"
-      self.by-version."stack-trace"."0.0.9"
-    ];
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20302,7 +21652,8 @@
   by-spec."winston"."0.7.2" =
     self.by-version."winston"."0.7.2";
   by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.2";
+    name = "winston-0.7.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
@@ -20312,15 +21663,15 @@
     ];
     buildInputs =
       (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."request"."2.16.6"
-      self.by-version."stack-trace"."0.0.9"
-    ];
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
@@ -20332,7 +21683,8 @@
   by-spec."with"."~1.1.0" =
     self.by-version."with"."1.1.1";
   by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-1.1.1";
+    name = "with-1.1.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
@@ -20342,9 +21694,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20352,7 +21704,8 @@
   by-spec."with"."~2.0.0" =
     self.by-version."with"."2.0.0";
   by-version."with"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-2.0.0";
+    name = "with-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz";
@@ -20362,9 +21715,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20372,7 +21725,8 @@
   by-spec."with"."~3.0.0" =
     self.by-version."with"."3.0.1";
   by-version."with"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-3.0.1";
+    name = "with-3.0.1";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/with/-/with-3.0.1.tgz";
@@ -20382,9 +21736,9 @@
     ];
     buildInputs =
       (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
+    deps = {
+      "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
@@ -20392,7 +21746,8 @@
   by-spec."wordwrap"."0.0.x" =
     self.by-version."wordwrap"."0.0.2";
   by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wordwrap-0.0.2";
+    name = "wordwrap-0.0.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
@@ -20402,8 +21757,8 @@
     ];
     buildInputs =
       (self.nativeDeps."wordwrap" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
@@ -20415,7 +21770,8 @@
   by-spec."wrench"."~1.5.0" =
     self.by-version."wrench"."1.5.8";
   by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wrench-1.5.8";
+    name = "wrench-1.5.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
@@ -20425,8 +21781,8 @@
     ];
     buildInputs =
       (self.nativeDeps."wrench" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wrench" ];
@@ -20437,6 +21793,7 @@
     self.by-version."ws"."0.4.32";
   by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.32";
+    bin = true;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
@@ -20446,12 +21803,12 @@
     ];
     buildInputs =
       (self.nativeDeps."ws" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."nan"."1.0.0"
-      self.by-version."tinycolor"."0.0.1"
-      self.by-version."options"."0.0.5"
-    ];
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.5" = self.by-version."options"."0.0.5";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
@@ -20461,7 +21818,8 @@
   by-spec."wu"."*" =
     self.by-version."wu"."2.0.0";
   by-version."wu"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wu-2.0.0";
+    name = "wu-2.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/wu/-/wu-2.0.0.tgz";
@@ -20471,9 +21829,9 @@
     ];
     buildInputs =
       (self.nativeDeps."wu" or []);
-    deps = [
-      self.by-version."traceur"."0.0.55"
-    ];
+    deps = {
+      "traceur-0.0.55" = self.by-version."traceur"."0.0.55";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
@@ -20482,7 +21840,8 @@
   by-spec."x509"."*" =
     self.by-version."x509"."0.0.7";
   by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-x509-0.0.7";
+    name = "x509-0.0.7";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz";
@@ -20492,8 +21851,8 @@
     ];
     buildInputs =
       (self.nativeDeps."x509" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
@@ -20502,7 +21861,8 @@
   by-spec."xml2js"."0.2.4" =
     self.by-version."xml2js"."0.2.4";
   by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.4";
+    name = "xml2js-0.2.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
@@ -20512,9 +21872,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-    ];
+    deps = {
+      "sax-0.6.0" = self.by-version."sax"."0.6.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20522,7 +21882,8 @@
   by-spec."xml2js"."0.2.6" =
     self.by-version."xml2js"."0.2.6";
   by-version."xml2js"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.6";
+    name = "xml2js-0.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz";
@@ -20532,9 +21893,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.4.2"
-    ];
+    deps = {
+      "sax-0.4.2" = self.by-version."sax"."0.4.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20542,7 +21903,8 @@
   by-spec."xml2js".">= 0.0.1" =
     self.by-version."xml2js"."0.4.4";
   by-version."xml2js"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.4.4";
+    name = "xml2js-0.4.4";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz";
@@ -20552,10 +21914,10 @@
     ];
     buildInputs =
       (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-      self.by-version."xmlbuilder"."2.4.3"
-    ];
+    deps = {
+      "sax-0.6.0" = self.by-version."sax"."0.6.0";
+      "xmlbuilder-2.4.4" = self.by-version."xmlbuilder"."2.4.4";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
@@ -20567,7 +21929,8 @@
   by-spec."xmlbuilder"."0.4.2" =
     self.by-version."xmlbuilder"."0.4.2";
   by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-0.4.2";
+    name = "xmlbuilder-0.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
@@ -20577,28 +21940,29 @@
     ];
     buildInputs =
       (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
   by-spec."xmlbuilder".">=1.0.0" =
-    self.by-version."xmlbuilder"."2.4.3";
-  by-version."xmlbuilder"."2.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-2.4.3";
+    self.by-version."xmlbuilder"."2.4.4";
+  by-version."xmlbuilder"."2.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "xmlbuilder-2.4.4";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.3.tgz";
-        name = "xmlbuilder-2.4.3.tgz";
-        sha1 = "0589eeee0986adf0af605e878f24ff6557d7697f";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.4.tgz";
+        name = "xmlbuilder-2.4.4.tgz";
+        sha1 = "6e2a84da5df79e11abb0a05bad2f0acc12e33893";
       })
     ];
     buildInputs =
       (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-      self.by-version."lodash-node"."2.4.1"
-    ];
+    deps = {
+      "lodash-node-2.4.1" = self.by-version."lodash-node"."2.4.1";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
@@ -20606,7 +21970,8 @@
   by-spec."xmldom"."~0.1.16" =
     self.by-version."xmldom"."0.1.19";
   by-version."xmldom"."0.1.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmldom-0.1.19";
+    name = "xmldom-0.1.19";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
@@ -20616,8 +21981,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xmldom" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmldom" ];
@@ -20625,7 +21990,8 @@
   by-spec."xmlhttprequest"."1.4.2" =
     self.by-version."xmlhttprequest"."1.4.2";
   by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlhttprequest-1.4.2";
+    name = "xmlhttprequest-1.4.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
@@ -20635,8 +22001,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xmlhttprequest" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xmlhttprequest" ];
@@ -20644,7 +22010,8 @@
   by-spec."xoauth2"."~0.1.8" =
     self.by-version."xoauth2"."0.1.8";
   by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xoauth2-0.1.8";
+    name = "xoauth2-0.1.8";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
@@ -20654,8 +22021,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xoauth2" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xoauth2" ];
@@ -20663,7 +22030,8 @@
   by-spec."xtend".">=4.0.0 <4.1.0-0" =
     self.by-version."xtend"."4.0.0";
   by-version."xtend"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-4.0.0";
+    name = "xtend-4.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
@@ -20673,8 +22041,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20682,7 +22050,8 @@
   by-spec."xtend"."^3.0.0" =
     self.by-version."xtend"."3.0.0";
   by-version."xtend"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-3.0.0";
+    name = "xtend-3.0.0";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz";
@@ -20692,8 +22061,8 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20703,7 +22072,8 @@
   by-spec."xtend"."~2.1.1" =
     self.by-version."xtend"."2.1.2";
   by-version."xtend"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-2.1.2";
+    name = "xtend-2.1.2";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
@@ -20713,9 +22083,9 @@
     ];
     buildInputs =
       (self.nativeDeps."xtend" or []);
-    deps = [
-      self.by-version."object-keys"."0.4.0"
-    ];
+    deps = {
+      "object-keys-0.4.0" = self.by-version."object-keys"."0.4.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "xtend" ];
@@ -20727,7 +22097,8 @@
   by-spec."yargs"."~1.2.1" =
     self.by-version."yargs"."1.2.6";
   by-version."yargs"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-yargs-1.2.6";
+    name = "yargs-1.2.6";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz";
@@ -20737,9 +22108,9 @@
     ];
     buildInputs =
       (self.nativeDeps."yargs" or []);
-    deps = [
-      self.by-version."minimist"."0.1.0"
-    ];
+    deps = {
+      "minimist-0.1.0" = self.by-version."minimist"."0.1.0";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "yargs" ];
@@ -20747,7 +22118,8 @@
   by-spec."zeparser"."0.0.5" =
     self.by-version."zeparser"."0.0.5";
   by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zeparser-0.0.5";
+    name = "zeparser-0.0.5";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
@@ -20757,33 +22129,31 @@
     ];
     buildInputs =
       (self.nativeDeps."zeparser" or []);
-    deps = [
-    ];
+    deps = {
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zeparser" ];
   };
-  by-spec."zip-stream"."~0.3.0" =
-    self.by-version."zip-stream"."0.3.7";
-  by-version."zip-stream"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zip-stream-0.3.7";
+  by-spec."zip-stream"."~0.4.0" =
+    self.by-version."zip-stream"."0.4.1";
+  by-version."zip-stream"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "zip-stream-0.4.1";
+    bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.3.7.tgz";
-        name = "zip-stream-0.3.7.tgz";
-        sha1 = "c84d057eb0bcc0139747bd3c6c97280bcf5f2bb2";
+        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.4.1.tgz";
+        name = "zip-stream-0.4.1.tgz";
+        sha1 = "4ea795a8ce19e9fab49a31d1d0877214159f03a3";
       })
     ];
     buildInputs =
       (self.nativeDeps."zip-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."crc32-stream"."0.2.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."deflate-crc32-stream"."0.1.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."readable-stream"."1.0.31"
-    ];
+    deps = {
+      "compress-commons-0.1.6" = self.by-version."compress-commons"."0.1.6";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zip-stream" ];
@@ -20791,7 +22161,8 @@
   by-spec."zlib-browserify"."^0.0.3" =
     self.by-version."zlib-browserify"."0.0.3";
   by-version."zlib-browserify"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zlib-browserify-0.0.3";
+    name = "zlib-browserify-0.0.3";
+    bin = false;
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz";
@@ -20801,9 +22172,9 @@
     ];
     buildInputs =
       (self.nativeDeps."zlib-browserify" or []);
-    deps = [
-      self.by-version."tape"."0.2.2"
-    ];
+    deps = {
+      "tape-0.2.2" = self.by-version."tape"."0.2.2";
+    };
     peerDependencies = [
     ];
     passthru.names = [ "zlib-browserify" ];
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1ebb9f290b71d..f4ce379d76e3a 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -72,6 +72,7 @@
 , "statsd"
 , "statsd-librato-backend"
 , "stackdriver-statsd-backend"
+, "statsd-influxdb-backend"
 , "ungit"
 , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index a50a56177947a..dae21ea4f6c0a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -25,10 +25,10 @@ let self = _self // overrides; _self = with self; {
 
 
   ack = buildPerlPackage rec {
-    name = "ack-2.12";
+    name = "ack-2.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "0avxpgg1fvib4354d9a9710j63sgxpb5j07if5qr83apq9xx7wjj";
+      sha256 = "0gqv30666vlclnwylhk9i64s7raa70x4ncy6bg48s5gcxwrshjc5";
     };
     # use gnused so that the preCheck command passes
     buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ];
@@ -301,7 +301,7 @@ let self = _self // overrides; _self = with self; {
         and produces an XML document in Dia format (or images via graphviz
         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
         package.  The diagrams its creates are standard UML diagrams showing
-        dependancies, superclasses, packages, classes and inheritances, as
+        dependencies, superclasses, packages, classes and inheritances, as
         well as the methods, etc of each class.
 
         AutoDia supports any language that a Handler has been written for,
@@ -480,6 +480,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "14s75bsm5irisp8wkbwl3ycw160srr1rks7x9jcbvcxh79wr6gbh";
     };
     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
+    doCheck = false; # randomly fails
   };
 
   CacheFastMmap = buildPerlPackage rec {
@@ -3784,10 +3785,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FinanceQuote = buildPerlPackage rec {
-    name = "Finance-Quote-1.29";
+    name = "Finance-Quote-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
-      sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f";
+      sha256 = "0mxfhi1ndckj4w7fw20rwy6ymalg2yncnp9xn0v2bnk5ibqj439w";
     };
     propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ];
     meta = {
@@ -6450,6 +6451,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       description = "Use the Amazon S3 - Simple Storage Service";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -6474,6 +6476,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz;
       sha256 = "0b2ba7de2cd7ddd5fe102a2e2ae7aeba21eaab1078bf3bfd3c5a722937256380";
     };
+    doCheck = false; # failures on 32bit
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
     meta = {
@@ -6975,10 +6978,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Plack = buildPerlPackage {
-    name = "Plack-1.0030";
+    name = "Plack-1.0031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz;
-      sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0031.tar.gz;
+      sha256 = "0vvppxs36729lggrx4s1gn37lzsm794wfkm3k386bwhkmk7sr31i";
     };
     buildInputs = [ FileShareDirInstall TestRequires ];
     propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ];
diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix
index 247d18680d967..bb6be68fa9a54 100644
--- a/pkgs/top-level/python-packages-generated.nix
+++ b/pkgs/top-level/python-packages-generated.nix
@@ -3670,7 +3670,7 @@ in
         md5 = "d5d886088e78b1bdbfd66d328fc2d0bc";
     };
     doCheck = false;
-    buildInputs = [  ];
+    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json
index 74e092d309a97..7ef83ef9072ad 100644
--- a/pkgs/top-level/python-packages.json
+++ b/pkgs/top-level/python-packages.json
@@ -89,6 +89,10 @@
       "Products.DCWorkflow": {
         "propagatedBuildInputs": [ "eggtestinfo" ]
       },
+      "lxml": {
+        "buildInputs": [ "pkgs.libxml2", "pkgs.libxslt" ],
+        "doCheck": false
+      },
       "Products.CMFDefault": {
         "propagatedBuildInputs": [ "eggtestinfo" ]
       },
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 57032cf2ec4de..673bfb1fa9ed6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1,5 +1,6 @@
 { pkgs, python }:
-  with pkgs.lib;
+
+with pkgs.lib;
 
 let
   isPy26 = python.majorVersion == "2.6";
@@ -17,28 +18,34 @@ let
     if isPy34 then "python34" else
     if isPyPy then "pypy" else "";
 
-  modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; };
-
-pythonPackages = modules // import ./python-packages-generated.nix {
-  inherit pkgs python;
-  inherit (pkgs) stdenv fetchurl;
-  self = pythonPackages;
-} //
+  modules = python.modules or {
+    readline = null;
+    sqlite3 = null;
+    curses = null;
+    curses_panel = null;
+    ssl = null;
+    crypt = null;
+  };
 
+  pythonPackages = modules // import ./python-packages-generated.nix {
+    inherit pkgs python;
+    inherit (pkgs) stdenv fetchurl;
+    self = pythonPackages;
+  }
 # Python packages for all python versions
-rec {
+// rec {
 
   inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName;
   inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip;
 
   # helpers
 
-  callPackage = callPackageWith (pkgs // pythonPackages);
+  callPackage = pkgs.newScope pythonPackages;
 
   # global distutils config used by buildPythonPackage
   distutils-cfg = callPackage ../development/python-modules/distutils-cfg { };
 
-  buildPythonPackage = callPackage ../development/python-modules/generic { };
+  buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { });
 
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
@@ -49,23 +56,16 @@ rec {
 
   # specials
 
-  recursivePthLoader = import ../development/python-modules/recursive-pth-loader {
-    inherit (pkgs) stdenv;
-    inherit python;
-  };
+  recursivePthLoader = callPackage ../development/python-modules/recursive-pth-loader { };
 
-  setuptools = import ../development/python-modules/setuptools {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python wrapPython distutils-cfg;
-  };
+  setuptools = callPackage ../development/python-modules/setuptools { };
 
   # packages defined elsewhere
 
   blivet = callPackage ../development/python-modules/blivet { };
 
-  dbus = import ../development/python-modules/dbus {
-    inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools;
-    inherit python;
+  dbus = callPackage ../development/python-modules/dbus {
+    dbus = pkgs.dbus;
   };
 
   discid = buildPythonPackage rec {
@@ -90,96 +90,70 @@ rec {
     '';
   };
 
-  ipython = import ../shells/ipython {
-    inherit (pkgs) stdenv fetchurl sip pyqt4;
-    inherit buildPythonPackage pythonPackages;
+  h5py = callPackage ../development/python-modules/h5py {
+    hdf5 = pkgs.hdf5.override { mpi = null; };
+  };
+
+  h5py-mpi = h5py.override {
+    mpiSupport = true;
+    mpi = pkgs.openmpi;
+    hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; };
+    inherit mpi4py;
+  };
+
+  ipython = callPackage ../shells/ipython {
     qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin
     pylabQtSupport = !pkgs.stdenv.isDarwin;
     pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin
   };
 
-  ipythonLight = lowPrio (import ../shells/ipython {
-    inherit (pkgs) stdenv fetchurl;
-    inherit buildPythonPackage pythonPackages;
+  ipythonLight = lowPrio (ipython.override {
     qtconsoleSupport = false;
     pylabSupport = false;
     pylabQtSupport = false;
   });
 
+  mpi4py = callPackage ../development/python-modules/mpi4py {
+    mpi = pkgs.openmpi;
+  };
+
   nixpart = callPackage ../tools/filesystems/nixpart { };
 
   # This is used for NixOps to make sure we won't break it with the next major
   # version of nixpart.
   nixpart0 = nixpart;
 
-  pitz = import ../applications/misc/pitz {
-    inherit (pkgs) stdenv fetchurl;
-    inherit buildPythonPackage tempita jinja2 pyyaml clepy mock nose decorator docutils;
-  };
+  pitz = callPackage ../applications/misc/pitz { };
 
-  pycairo = import ../development/python-modules/pycairo {
-    inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11;
-    inherit python;
+  pycairo = callPackage ../development/python-modules/pycairo {
   };
 
-  pycrypto = import ../development/python-modules/pycrypto {
-    inherit (pkgs) fetchurl stdenv gmp;
-    inherit python buildPythonPackage;
-  };
+  pycrypto = callPackage ../development/python-modules/pycrypto { };
 
-  pygobject = import ../development/python-modules/pygobject {
-    inherit (pkgs) stdenv fetchurl pkgconfig glib;
-    inherit python;
-  };
+  pygobject = callPackage ../development/python-modules/pygobject { };
 
-  pygobject3 = import ../development/python-modules/pygobject/3.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig glib gobjectIntrospection cairo;
-    inherit python pycairo;
-  };
+  pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
 
-  pygtk = import ../development/python-modules/pygtk {
-    inherit (pkgs) fetchurl stdenv pkgconfig gtk;
-    inherit python buildPythonPackage pygobject pycairo isPy3k;
-  };
+  pygtk = callPackage ../development/python-modules/pygtk { libglade = null; };
 
-  # XXX: how can we get an override here?
-  #pyGtkGlade = pygtk.override {
-  #  inherit (pkgs.gnome) libglade;
-  #};
-  pyGtkGlade = import ../development/python-modules/pygtk {
-    inherit (pkgs) fetchurl stdenv pkgconfig gtk;
-    inherit (pkgs.gnome) libglade;
-    inherit python buildPythonPackage pygobject pycairo isPy3k;
+  pyGtkGlade = pygtk.override {
+    libglade = pkgs.gnome.libglade;
   };
 
-  pyqt4 = import ../development/python-modules/pyqt/4.x.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig qt4 makeWrapper;
-    inherit (pkgs.xorg) lndir;
-    inherit python sip;
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     pythonDBus = dbus;
   };
 
-  pyqt5 = import ../development/python-modules/pyqt/5.x.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper;
-    inherit (pkgs.xorg) lndir;
-    inherit python;
+  pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix {
     sip = sip_4_16;
     pythonDBus = dbus;
   };
 
-  sip = import ../development/python-modules/sip {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python;
-  };
+  sip = callPackage ../development/python-modules/sip { };
 
-  sip_4_16 = import ../development/python-modules/sip/4.16.nix {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python;
-  };
+  sip_4_16 = callPackage ../development/python-modules/sip/4.16.nix { };
 
-  tables = import ../development/python-modules/tables {
-    inherit (pkgs) stdenv fetchurl bzip2 lzo;
-    inherit python buildPythonPackage cython numpy numexpr;
+  tables = callPackage ../development/python-modules/tables {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
@@ -421,6 +395,7 @@ rec {
 
   apsw = buildPythonPackage rec {
     name = "apsw-3.7.6.2-r1";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://apsw.googlecode.com/files/${name}.zip";
@@ -458,12 +433,11 @@ rec {
 
 
   area53 = buildPythonPackage (rec {
-    name = "area53-b2c9cdcabd";
+    name = "Area53-0.94";
 
-    src = fetchgit {
-      url = git://github.com/bigmlcom/Area53.git;
-      rev = "b2c9cdcabd";
-      sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/A/Area53/${name}.tar.gz";
+      sha256 = "0v9b7f8b6v21y410anx5sr52k2ac8jrzdf19q6m6p0zsdsf9vr42";
     };
 
     # error: invalid command 'test'
@@ -614,6 +588,24 @@ rec {
     };
   };
 
+  batinfo = buildPythonPackage rec {
+    version = "0.1.9";
+    name = "batinfo-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/batinfo/${name}.tar.gz";
+      sha256 = "0ppzbh8lii16xfq5piczn82hwps1fnbq9rbwwl3rdpdx0n86l560";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/nicolargo/batinfo;
+      description = "A simple Python lib to retreive battery information";
+      license = licenses.lgpl3;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
   bcdoc = buildPythonPackage rec {
     name = "bcdoc-0.12.1";
 
@@ -655,7 +647,7 @@ rec {
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz";
-      md5 = "c012adc06217b8532c446d181cc56586";
+      md5 = "f1481ed77336de77a2d8e5b061b6ad62";
     };
 
     # invalid command 'test'
@@ -872,6 +864,23 @@ rec {
   };
 
 
+  blinker = buildPythonPackage rec {
+    name = "blinker-${version}";
+    version = "1.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/blinker/${name}.tar.gz";
+      md5 = "66e9688f2d287593a0e698cd8a5fbc57";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://pythonhosted.org/blinker/;
+      description = "Fast, simple object-to-object and broadcast signaling";
+      license = licenses.mit;
+    };
+  };
+
+
   blockdiag = buildPythonPackage rec {
     name = "blockdiag-1.3.2";
 
@@ -972,6 +981,26 @@ rec {
     };
   };
 
+  bottle = buildPythonPackage rec {
+    version = "0.12.7";
+    name = "bottle-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bottle/${name}.tar.gz";
+      sha256 = "0wr0gfz0bqlzhxk691x0xnf80b8v5pnl3jpnbgs1m9bcy28j3sp3";
+    };
+
+    propagatedBuildInputs = [ setuptools ];
+
+    meta = with stdenv.lib; {
+      homepage = http://bottlepy.org;
+      description = "A fast and simple micro-framework for small web-applications";
+      license = licenses.mit;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
 
   # bugz = buildPythonPackage (rec {
   #   name = "bugz-0.9.3";
@@ -1094,6 +1123,24 @@ rec {
   });
 
 
+  cairocffi = buildPythonPackage rec {
+    name = "cairocffi-0.5.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz";
+      md5 = "e3fa4002583bfaa88b156e1af9c75bde";
+    };
+
+    propagatedBuildInputs = [ cffi ];
+
+    meta = {
+      homepage = https://github.com/SimonSapin/cairocffi;
+      license = "bsd";
+      description = "cffi-based cairo bindings for Python";
+    };
+  };
+
+
   carrot = buildPythonPackage rec {
     name = "carrot-0.10.7";
 
@@ -1118,6 +1165,22 @@ rec {
   };
 
 
+  characteristic = buildPythonPackage rec {
+    name = "characteristic-14.1.0";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/characteristic/${name}.tar.gz";
+      md5 = "68ea7e28997fc57d3631791ec0567a05";
+    };
+
+    buildInputs = [ pythonPackages.pytest ];
+
+    meta = {
+      description = "Python attributes without boilerplate";
+      homepage = https://characteristic.readthedocs.org;
+    };
+  };
+
+
   cheetah = buildPythonPackage rec {
     version = "2.4.4";
     name = "cheetah-${version}";
@@ -1558,22 +1621,16 @@ rec {
   };
 
   pytest = buildPythonPackage rec {
-    name = "pytest-2.5.1";
+    name = "pytest-2.6.2";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz";
-      md5 = "4e155a0134e6757b37cc6698c20f3e9f";
+      md5 = "0a1735fb1d481ef3864f34678607ba85";
     };
 
     preCheck = ''
-      # broken on python3, fixed in master, remove in next release
-      rm doc/en/plugins_index/test_plugins_index.py
-
       # don't test bash builtins
       rm testing/test_argcomplete.py
-
-      # yaml test are failing
-      rm doc/en/example/nonpython/test_simple.yml
     '';
 
     propagatedBuildInputs = [ py ]
@@ -1583,7 +1640,7 @@ rec {
         pythonPackages.selenium;
 
     meta = with stdenv.lib; {
-      maintainers = with maintainers; [ iElectric lovek323 ];
+      maintainers = with maintainers; [ iElectric lovek323 madjar ];
       platforms = platforms.unix;
     };
   };
@@ -1835,6 +1892,27 @@ rec {
     };
   };
 
+  docker = buildPythonPackage rec {
+    name = "docker-py-0.4.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz";
+      md5 = "21ab8fd729105487e6423b654d6c0860";
+    };
+
+    propagatedBuildInputs = [ six requests websocket_client ];
+
+    # Version conflict
+    doCheck = false;
+
+    meta = {
+      description = "An API client for docker written in Python";
+      homepage = https://github.com/docker/docker-py;
+      license = licenses.asl20;
+    };
+  };
+
+
   dogpile_cache = buildPythonPackage rec {
     name = "dogpile.cache-0.5.4";
 
@@ -1871,6 +1949,23 @@ rec {
     };
   };
 
+  dotfiles = buildPythonPackage rec {
+    name = "dotfiles-0.6.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dotfiles/${name}.tar.gz";
+      md5 = "95a0792eb92a8fc0db8a7e59389470fe";
+    };
+
+    doCheck = true;
+
+    meta = {
+      description = "Easily manage your dotfiles";
+      homepage = https://github.com/jbernard/dotfiles;
+      license = licenses.isc;
+    };
+  };
+
   dpkt = buildPythonPackage rec {
     name = "dpkt-1.8";
     disabled = isPy3k;
@@ -1920,6 +2015,7 @@ rec {
 
   dropbox = buildPythonPackage rec {
     name = "dropbox-2.0.0";
+    doCheck = !isPy3k; # failures with hash randomization
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip";
@@ -1965,6 +2061,7 @@ rec {
   eyeD3 = buildPythonPackage rec {
     version = "0.7.4";
     name    = "eyeD3-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://eyed3.nicfit.net/releases/${name}.tgz";
@@ -2069,6 +2166,7 @@ rec {
       sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1";
     };
     disabled = isPy3k;
+    doCheck = (!isPyPy);  # https://github.com/fabric/fabric/issues/11891
     propagatedBuildInputs = [ paramiko pycrypto ];
     buildInputs = [ fudge nose ];
   };
@@ -2129,6 +2227,21 @@ rec {
     };
   };
 
+  singledispatch = buildPythonPackage rec {
+    name = "singledispatch-3.4.0.3";
+
+    propagatedBuildInputs = [ six ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/singledispatch/${name}.tar.gz";
+      md5 = "af2fc6a3d6cc5a02d0bf54d909785fcb";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://docs.python.org/3/library/functools.html;
+    };
+  };
+
   gcutil = buildPythonPackage rec {
     name = "gcutil-1.15.0";
     meta.maintainers = [ stdenv.lib.maintainers.phreedom ];
@@ -2138,6 +2251,10 @@ rec {
       sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq";
     };
 
+    patchPhase = ''
+      substituteInPlace setup.py --replace "httplib2==0.8" "httplib2"
+    '';
+
     propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ];
   };
 
@@ -2242,6 +2359,34 @@ rec {
     };
   };
 
+  jsonwatch = buildPythonPackage rec {
+    name = "jsonwatch-0.2.0";
+
+    disabled = isPyPy; # doesn't find setuptools
+
+    src = fetchurl {
+      url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz";
+      sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06";
+    };
+
+    propagatedBuildInputs = [ six ];
+
+    meta = {
+      description = "Like watch -d but for JSON";
+      longDescription = ''
+        jsonwatch is a command line utility with which you can track changes in
+        JSON data delivered by a shell command or a web (HTTP/HTTPS) API.
+        jsonwatch requests data from the designated source repeatedly at a set
+        interval and displays the differences when the data changes. It is
+        similar in its behavior to how watch(1) with the -d switch works
+        for plain-text data.
+      '';
+      homepage = "https://github.com/dbohdan/jsonwatch";
+      license = stdenv.lib.licenses.mit;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
   logilab_astng = buildPythonPackage rec {
     name = "logilab-astng-0.24.3";
 
@@ -2731,7 +2876,7 @@ rec {
 
   random2 = pythonPackages.buildPythonPackage rec {
     name = "random2-1.0.1";
-    
+
     doCheck = !isPyPy;
 
     src = fetchurl {
@@ -3317,6 +3462,21 @@ rec {
     };
   };
 
+  feedgenerator = buildPythonPackage (rec {
+    name = "feedgenerator-1.7";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/f/feedgenerator/${name}.tar.gz";
+      md5 = "92978492871342ad64e8ae0ccfcf200c";
+    };
+
+    propagatedBuildInputs = [ six pytz ];
+
+    meta = {
+      homepage = https://github.com/dmdm/feedgenerator-py3k.git;
+      description = "Standalone version of django.utils.feedgenerator,  compatible with Py3k";
+    };
+  });
 
   feedparser = buildPythonPackage (rec {
     name = "feedparser-5.1.3";
@@ -3375,6 +3535,23 @@ rec {
     };
   };
 
+  flask_cache = buildPythonPackage rec {
+    name = "Flask-Cache-0.13.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/F/Flask-Cache/${name}.tar.gz";
+      md5 = "ab82a9cd0844891ccdb54fbb93fd6c59";
+    };
+
+    propagatedBuildInputs = [ werkzeug flask ];
+
+    meta = {
+      homepage = https://github.com/thadeusb/flask-cache;
+      description = "Adds cache support to your Flask application";
+      license = "BSD";
+    };
+  };
+
   flexget = buildPythonPackage rec {
     name = "FlexGet-1.2.161";
     disabled = isPy3k;
@@ -3385,7 +3562,7 @@ rec {
     };
 
     buildInputs = [ nose ];
-    # dateutil dependancy: requirement is dateutil !=2.0 and != 2.2,
+    # dateutil dependency: requirement is dateutil !=2.0 and != 2.2,
     # dateutil_1_5 is used as it's supported, but a newer version could be used
     propagatedBuildInputs = [ paver feedparser sqlalchemy pyyaml rpyc
 	    beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask
@@ -3697,25 +3874,27 @@ rec {
   };
 
   glances = buildPythonPackage rec {
-    name = "glances-${meta.version}";
+    name = "glances-${version}";
+    version = "2.1";
+    disabled = isPyPy;
 
-    src = fetchurl {
-      url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz";
-      sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0";
+    src = pkgs.fetchFromGitHub {
+      owner = "nicolargo";
+      repo = "glances";
+      rev = "v${version}";
+      sha256 = "1bgr7lif0bpnz39arcdrsfdy7ra4c3ay2pxz1lvh4fqxyxwp3gm6";
     };
 
-    buildInputs = [ pkgs.hddtemp ];
-
-    propagatedBuildInputs = [ psutil jinja2 modules.curses modules.curses_panel];
-
     doCheck = false;
 
+    buildInputs = [ unittest2 ];
+    propagatedBuildInputs = [ modules.curses modules.curses_panel psutil setuptools bottle batinfo pkgs.hddtemp pysnmp ];
+
     preConfigure = ''
-      sed -i -r -e '/data_files.append[(][(](conf|etc)_path/ietc_path="etc/glances"; conf_path="etc/glances"' setup.py;
+      sed -i 's/data_files\.append((conf_path/data_files.append(("etc\/glances"/' setup.py;
     '';
 
     meta = {
-      version = "1.7.4";
       homepage = "http://nicolargo.github.io/glances/";
       description = "Cross-platform curses-based monitoring tool";
     };
@@ -3784,6 +3963,7 @@ rec {
 
   greenlet = buildPythonPackage rec {
     name = "greenlet-0.4.3";
+    disabled = isPyPy;  # builtin for pypy
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip";
@@ -3798,13 +3978,13 @@ rec {
 
 
   gyp = buildPythonPackage rec {
-    rev = "1944";
+    rev = "1977";
     name = "gyp-r${rev}";
 
     src = fetchsvn {
       url = "http://gyp.googlecode.com/svn/trunk";
       inherit rev;
-      sha256 = "15k3ivk3jyhx4rwdf1mn6qpyrwixvy01jpkir8d14c4g9hax1dx1";
+      sha256 = "0vnr75yd3bidysiwl9lljvf1dv6v9m9xqdnx0hdgyl92w689n9j8";
     };
 
     patches = optionals pkgs.stdenv.isDarwin [
@@ -3861,12 +4041,12 @@ rec {
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.7.0";
+    version = "0.7.2";
 
     src = fetchurl {
       url = "https://github.com/RedMoonStudios/hetzner/archive/"
           + "v${version}.tar.gz";
-      sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src";
+      sha256 = "07jnrgy9fkh1hwgsa8491ljz9spazmifqsg92m3xnamja1536qfl";
     };
 
     # not there yet, but coming soon.
@@ -3956,11 +4136,11 @@ rec {
   };
 
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.8";
+    name = "httplib2-0.9";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz";
-      sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff";
+      sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir";
     };
 
     meta = {
@@ -3975,6 +4155,7 @@ rec {
     name = "httpretty-${version}";
     version = "0.8.3";
     disabled = isPy3k;
+    doCheck = !isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz";
@@ -4013,6 +4194,25 @@ rec {
     doCheck = false;
   }) else null;
 
+  influxdb = buildPythonPackage rec {
+    name = "influxdb-0.1.12";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/i/influxdb/${name}.tar.gz";
+      md5 = "6c975058ccc4df41dad8d8234c52d754";
+    };
+
+    # ImportError: No module named tests
+    doCheck = false;
+    propagatedBuildInputs = [ requests ];
+
+    meta = {
+      description = "Python client for InfluxDB";
+      homepage = https://github.com/influxdb/influxdb-python;
+      license = licenses.mit;
+    };
+  };
+
   iptools = buildPythonPackage rec {
     version = "0.6.1";
     name = "iptools-${version}";
@@ -4066,11 +4266,12 @@ rec {
     };
   };
 
-  ipdb = buildPythonPackage {
-    name = "ipdb-0.7";
+  ipdb = buildPythonPackage rec {
+    name = "ipdb-0.8";
+    disabled = isPyPy;  # setupterm: could not find terminfo database
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
-      md5 = "d879f9b2b0f26e0e999809585dcaec61";
+      url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip";
+      md5 = "96dca0712efa01aa5eaf6b22071dd3ed";
     };
     propagatedBuildInputs = [ pythonPackages.ipythonLight ];
   };
@@ -4280,29 +4481,12 @@ rec {
     propagatedBuildInputs = [ unittest2 ];
   };
 
-  "lxml-2.3.6" = buildPythonPackage rec {
-    name = "lxml-2.3.6";
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/l/lxml/lxml-2.3.6.tar.gz";
-      md5 = "d5d886088e78b1bdbfd66d328fc2d0bc";
-    };
-    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
-    propagatedBuildInputs = [  ];
-    doCheck = false;
-
-    meta = {
-      description = "Pythonic binding for the libxml2 and libxslt libraries";
-      homepage = http://codespeak.net/lxml/index.html;
-      license = "BSD";
-    };
-  };
-
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.0.2";
+    name = "lxml-3.3.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz";
-      md5 = "38b15b0dd5e9292cf98be800e84a3ce4";
+      md5 = "a804b36864c483fe7abdd7f493a0c379";
     };
 
     buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
@@ -4685,6 +4869,25 @@ rec {
     };
   });
 
+  moretools = buildPythonPackage rec {
+    name = "moretools-0.1a41";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz";
+      sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f";
+    };
+
+    buildInputs = [ six pathpy setuptools ];
+    propagatedBuildInputs = [ decorator ];
+
+    meta = with stdenv.lib; {
+      description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections";
+      homepage = https://bitbucket.org/userzimmermann/python-moretools;
+      license = licenses.gpl3Plus;
+      platforms = platforms.linux;
+    };
+  };
+
 
   mox = buildPythonPackage rec {
     name = "mox-0.5.3";
@@ -5043,12 +5246,12 @@ rec {
   });
 
   nose = buildPythonPackage rec {
-    version = "1.3.3";
+    version = "1.3.4";
     name = "nose-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
-      sha256 = "09h3a74hzw1cfx4ic19ibxq8kg6sl1n64px2mmb57f5yd3r2y35l";
+      sha256 = "00qymfgwg4iam4xi0w9bnv7lcb3fypq1hzfafzgs1rfmwaj67g3n";
     };
 
     buildInputs = [ coverage ];
@@ -5208,13 +5411,15 @@ rec {
   };
 
   numpy = buildPythonPackage ( rec {
-    name = "numpy-1.7.1";
+    name = "numpy-1.8.2";
 
     src = fetchurl {
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
-      sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am";
+      sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf";
     };
 
+    disabled = isPyPy;  # WIP
+
     preConfigure = ''
       sed -i 's/-faltivec//' numpy/distutils/system_info.py
       sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
@@ -5263,17 +5468,18 @@ rec {
     };
   };
 
-  livestreamer = if isPy34 then null else (buildPythonPackage rec {
-    version = "1.8.2";
+  livestreamer = buildPythonPackage rec {
+    version = "1.10.2";
     name = "livestreamer-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
-      sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc";
+      sha256 = "0f1m51wax4q17ida4h0ckyakmlchf36kbhfa9qs6bpxc6xqqbry0";
     };
 
     buildInputs = [ pkgs.makeWrapper ];
-    propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ];
+    propagatedBuildInputs = [ requests2 pkgs.rtmpdump pycrypto singledispatch futures ];
     postInstall = ''
       wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
     '';
@@ -5286,7 +5492,7 @@ rec {
       '';
       license = "bsd";
     };
-  });
+  };
 
   oauth2 = buildPythonPackage (rec {
     name = "oauth2-1.5.211";
@@ -5534,6 +5740,22 @@ rec {
     };
   };
 
+  pathpy = buildPythonPackage rec {
+    name = "path.py-5.2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip";
+      sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A module wrapper for os.path";
+      homepage = http://github.com/jaraco/path.py;
+      license = licenses.mit;
+      platforms = platforms.linux;
+    };
+  };
+
   paypalrestsdk = buildPythonPackage rec {
     name = "paypalrestsdk-0.7.0";
 
@@ -5573,6 +5795,29 @@ rec {
     };
   };
 
+  pelican = buildPythonPackage rec {
+    name = "pelican-${version}";
+    version = "3.4.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pelican/${name}.tar.gz";
+      md5 = "8e57bdd075503903125b14621b1e533d";
+    };
+
+    # Test data not provided
+    #buildInputs = [nose mock];
+    doCheck = false;
+
+    propagatedBuildInputs = [jinja2 pygments docutils pytz unidecode six dateutil feedgenerator blinker pillow beautifulsoup4];
+
+    meta = {
+      homepage = http://getpelican.com/;
+      description = "A tool to generate a static blog from reStructuredText or Markdown input files";
+      license = licenses.agpl3;
+      maintainers = [ stdenv.lib.maintainers.offline ];
+    };
+  };
+
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
     version = "1.5.7";
@@ -5680,9 +5925,10 @@ rec {
     buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ];
 
     disabled = isPy3k;
-
     doCheck = true;
 
+    postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL";
+
     preConfigure = ''
       sed -i "setup.py" \
           -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ;
@@ -5690,13 +5936,8 @@ rec {
               s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;'
     '';
 
-    checkPhase   = "${python}/bin/${python.executable} selftest.py";
-    buildPhase   = "${python}/bin/${python.executable} setup.py build_ext -i";
-
-    postInstall = ''
-      cd "$out"/lib/python*/site-packages
-      ln -s $PWD PIL
-    '';
+    checkPhase = "${python}/bin/${python.executable} selftest.py";
+    buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i";
 
     meta = {
       homepage = http://www.pythonware.com/products/pil/;
@@ -5860,11 +6101,12 @@ rec {
 
 
   psutil = buildPythonPackage rec {
-    name = "psutil-1.0.1";
+    name = "psutil-${version}";
+    version = "2.1.1";
 
     src = fetchurl {
-      url = "http://psutil.googlecode.com/files/${name}.tar.gz";
-      sha256 = "1zrzh7hi0f79sf9axwrw3c2kl86qs72kvx8xbbrdwlp39rfa1i1f";
+      url = "https://pypi.python.org/packages/source/p/psutil/${name}.tar.gz";
+      sha256 = "14smqj57yjrm6hjz5n2annkgv0kmxckdhqvfx784f4d4lr52m0dz";
     };
 
     # failed tests: https://code.google.com/p/psutil/issues/detail?id=434
@@ -5879,6 +6121,7 @@ rec {
 
   psycopg2 = buildPythonPackage rec {
     name = "psycopg2-2.5.3";
+    disabled = isPyPy;
 
     # error: invalid command 'test'
     doCheck = false;
@@ -5915,11 +6158,11 @@ rec {
 
 
   py = buildPythonPackage rec {
-    name = "py-1.4.20";
+    name = "py-1.4.24";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz";
-      md5 = "5f1708be5482f3ff6711dfd6cafd45e0";
+      md5 = "8f32ee0cd1e01472a255fe1d28d81217";
     };
   };
 
@@ -6099,6 +6342,7 @@ rec {
 
   pycurl = buildPythonPackage (rec {
     name = "pycurl-7.19.5";
+    disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
 
     src = fetchurl {
       url = "http://pycurl.sourceforge.net/download/${name}.tar.gz";
@@ -6258,6 +6502,7 @@ rec {
   pygpgme = buildPythonPackage rec {
     version = "0.3";
     name = "pygpgme-${version}";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz";
@@ -6334,6 +6579,7 @@ rec {
 
   pyodbc = buildPythonPackage rec {
     name = "pyodbc-3.0.7";
+    disabled = isPyPy;  # use pypypdbc instead
 
     src = fetchurl {
       url = "https://pyodbc.googlecode.com/files/${name}.zip";
@@ -6373,6 +6619,7 @@ rec {
   pyparted = buildPythonPackage rec {
     name = "pyparted-${version}";
     version = "3.10";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz";
@@ -6425,6 +6672,26 @@ rec {
     };
   });
 
+  pyqtgraph = buildPythonPackage rec {
+    name = "pyqtgraph-${version}";
+    version = "0.9.8";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyqtgraph/${name}.tar.gz";
+      sha256 = "1fnhj26d9qrqqmjx092m1qspclh3mia3vag7rji5wciw0plpszi5";
+    };
+
+    propagatedBuildInputs = [ scipy numpy pyqt4 pyopengl ];
+
+    meta = with stdenv.lib; {
+      description = "Scientific Graphics and GUI Library for Python";
+      homepage = http://www.pyqtgraph.org/;
+      license = licenses.mit;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
   pyro3 = buildPythonPackage (rec {
     name = "Pyro-3.16";
     disabled = isPy3k;
@@ -6459,6 +6726,26 @@ rec {
     };
   });
 
+  pysnmp = buildPythonPackage rec {
+    version = "4.2.5";
+    name = "pysnmp-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pysnmp/${name}.tar.gz";
+      sha256 = "0zq7yx8732ad9dxpxqgpqyixj7kfwbvf402q7l5njkv0kbcnavn4";
+    };
+
+    propagatedBuildInputs = [ pyasn1 pycrypto ];
+
+    meta = with stdenv.lib; {
+      homepage = http://pysnmp.sf.net;
+      description = "A pure-Python SNMPv1/v2c/v3 library";
+      license = licenses.bsd2;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
   python_fedora = buildPythonPackage (rec {
     name = "python-fedora-0.3.33";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
@@ -6975,11 +7262,11 @@ rec {
 
 
   requests = buildPythonPackage rec {
-    name = "requests-1.2.0";
+    name = "requests-1.2.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
-      md5 = "22af2682233770e5468a986f451c51c0";
+      md5 = "adbd3f18445f7fe5e77f65c502e264fb";
     };
 
     meta = {
@@ -7196,6 +7483,26 @@ rec {
   };
 
 
+  robotframework-tools = buildPythonPackage rec {
+    version = "0.1a115";
+    name = "robotframework-tools-${version}";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz";
+      sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q";
+    };
+
+    propagatedBuildInputs = [ robotframework moretools pathpy six setuptools ];
+
+    meta = with stdenv.lib; {
+      description = "Python Tools for Robot Framework and Test Libraries";
+      homepage = http://bitbucket.org/userzimmermann/robotframework-tools;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+    };
+  };
+
+
   robotsuite = buildPythonPackage rec {
     version = "1.4.2";
     name = "robotsuite-${version}";
@@ -7584,12 +7891,27 @@ rec {
     };
   };
 
+  pgpdump = pythonPackages.buildPythonPackage rec {
+    name = "pgpdump-1.5";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pgpdump/pgpdump-1.5.tar.gz";
+      md5 = "040a451c8e63de3e61fc5b66efa7fca5";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Python library for parsing PGP packets";
+      homepage = https://github.com/toofishes/python-pgpdump;
+      license = licenses.bsd3;
+    };
+  };
+
   spambayes = buildPythonPackage rec {
-    name = "spambayes-1.1a6";
+    name = "spambayes-1.1b1";
 
     src = fetchurl {
       url = "mirror://sourceforge/spambayes/${name}.tar.gz";
-      sha256 = "0lqhn2v0avgwxmk4dq9lkwr2g39ls2p6x8hqk5w07wd462cjsx8l";
+      sha256 = "0kqvjb89b02wp41p650ydfspi1s8d7akx1igcrw62diidqbxp04n";
     };
 
     propagatedBuildInputs = [ pydns lockfile ];
@@ -7662,6 +7984,7 @@ rec {
 
   sympy = buildPythonPackage rec {
     name = "sympy-0.7.4";
+    disabled = isPy34;  # some tests fail
 
     src = fetchurl {
       url    = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz";
@@ -7852,7 +8175,7 @@ rec {
 
   skype4py = buildPythonPackage (rec {
     name = "Skype4Py-1.0.32.0";
-    disabled = isPy3k;
+    disabled = isPy3k || isPyPy;
 
     src = fetchurl {
       url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz;
@@ -8015,9 +8338,11 @@ rec {
     };
   });
 
-  sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy = sqlalchemy9.override rec {
     name = "SQLAlchemy-0.7.10";
-    disabled = isPy3k;
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
@@ -8030,10 +8355,13 @@ rec {
     preConfigure = optionalString isPy3k ''
       python3 sa2to3.py --no-diffs -w lib test examples
     '';
-  });
+  };
 
-  sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy8 = sqlalchemy9.override rec {
     name = "SQLAlchemy-0.8.7";
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       md5 = "4f3377306309e46739696721b1785335";
@@ -8041,7 +8369,7 @@ rec {
     preConfigure = optionalString isPy3k ''
       python3 sa2to3.py --no-diffs -w lib test examples
     '';
-  });
+  };
 
   sqlalchemy9 = buildPythonPackage rec {
     name = "SQLAlchemy-0.9.4";
@@ -8068,12 +8396,13 @@ rec {
 
   sqlalchemy_imageattach = buildPythonPackage rec {
     name = "SQLAlchemy-ImageAttach-${version}";
-    version = "0.8.1";
+    version = "0.8.2";
+    disabled = isPy33;
 
     src = fetchgit {
       url = https://github.com/crosspop/sqlalchemy-imageattach.git;
       rev = "refs/tags/${version}";
-      md5 = "051dd9de0757714d33c3ecd5ab37b97d";
+      md5 = "cffdcde30952176e35fccf385f579dda";
     };
 
     buildInputs = [ pytest webob pkgs.imagemagick nose ];
@@ -8086,6 +8415,7 @@ rec {
       py.test
       cd ..
     '';
+    doCheck = !isPyPy;  # failures due to sqla version mismatch
 
     meta = {
       homepage = https://github.com/crosspop/sqlalchemy-imageattach;
@@ -8191,15 +8521,11 @@ rec {
       export LC_ALL="en_US.UTF-8"
     '';
 
-    # Not picking up from PyPI because it doesn't contain tests.
-    src = fetchgit {
-      url = "git://github.com/gabrielfalcao/sure.git";
-      rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a";
-      sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz";
+      md5 = "6dbecef27dffc41c8cd8aab8a8b3fdfb";
     };
 
-
-
     buildInputs = [ nose ];
 
     propagatedBuildInputs = [ six mock ];
@@ -8212,6 +8538,22 @@ rec {
   };
 
 
+  structlog = buildPythonPackage rec {
+    name = "structlog-0.4.2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/structlog/${name}.tar.gz";
+      md5 = "062cda36069e8573e00c265f451f899e";
+    };
+
+    meta = {
+      description = "Painless structural logging";
+      homepage = http://www.structlog.org/;
+      license = licenses.asl20;
+    };
+  };
+
+
   # XXX: ValueError: ZIP does not support timestamps before 1980
   # svneverever =  buildPythonPackage rec {
   #   name = "svneverever-778489a8";
@@ -8412,7 +8754,7 @@ rec {
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
-    disabled = isPy3k;  # next release will have py3k support
+    disabled = isPy3k || isPyPy;  # next release will have py3k/pypy support
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
     src = fetchurl {
@@ -8933,12 +9275,12 @@ rec {
   };
 
 
-  werkzeug = buildPythonPackage {
-    name = "werkzeug-0.9.4";
+  werkzeug = buildPythonPackage rec {
+    name = "Werkzeug-0.9.6";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.4.tar.gz";
-      md5 = "670fad41f57c13b71a6816765765a3dd";
+      url = "http://pypi.python.org/packages/source/W/Werkzeug/${name}.tar.gz";
+      md5 = "f7afcadc03b0f2267bdc156c34586043";
     };
 
     propagatedBuildInputs = [ itsdangerous ];
@@ -8994,15 +9336,11 @@ rec {
   wxPython = wxPython28;
 
 
-  wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+  wxPython28 = callPackage ../development/python-modules/wxPython/2.8.nix {
     wxGTK = pkgs.wxGTK28;
   };
 
-  wxPython30 = import ../development/python-modules/wxPython/3.0.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+  wxPython30 = callPackage ../development/python-modules/wxPython/3.0.nix {
     wxGTK = pkgs.wxGTK30;
   };
 
@@ -9131,6 +9469,7 @@ rec {
 
   zfec = buildPythonPackage (rec {
     name = "zfec-1.4.24";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
@@ -9161,6 +9500,7 @@ rec {
   zodb3 = buildPythonPackage rec {
     name = "zodb3-${version}";
     version = "3.11.0";
+    disabled = isPyPy;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz";
@@ -9179,6 +9519,8 @@ rec {
 
   zodb = buildPythonPackage rec {
     name = "zodb-${version}";
+    disabled = isPyPy;
+
     version = "4.0.1";
 
     src = fetchurl {
@@ -9204,6 +9546,7 @@ rec {
 
   zodbpickle = pythonPackages.buildPythonPackage rec {
     name = "zodbpickle-0.5.2";
+    disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz";
@@ -9551,11 +9894,11 @@ rec {
 
 
   zope_schema = buildPythonPackage rec {
-    name = "zope.schema-4.4.1";
+    name = "zope.schema-4.4.2";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz";
-      sha256 = "0wpwfggd736ai8bbrwbsnqf522sh5j57d1zxq8m8p6i5nwml0q02";
+      sha256 = "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank";
     };
 
     propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
@@ -9602,11 +9945,13 @@ rec {
 
 
   zope_sqlalchemy = buildPythonPackage rec {
-    name = "zope.sqlalchemy-0.7.3";
+    name = "zope.sqlalchemy-0.7.5";
+
+    doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
-      md5 = "8b317b41244fc2e67f2f286890ba59a0";
+      md5 = "0a468bd5b8884cd29fb71acbf7eaa31e";
     };
 
     buildInputs = [ zope_testing zope_interface ];
@@ -9655,8 +10000,7 @@ rec {
 
     propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit;
 
-    # a test is failing
-    doCheck = false;
+    doCheck = true;
 
     meta = {
       description = "A flexible test runner with layer support";
@@ -9777,6 +10121,37 @@ rec {
     };
   };
 
+  screenkey = buildPythonPackage rec {
+    version = "0.2-b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6";
+    name = "screenkey-${version}";
+
+    propagatedBuildInputs = [ pygtk distutils_extra xlib pkgs.xorg.xmodmap ];
+
+    preConfigure = ''
+      substituteInPlace setup.py --replace "/usr/share" "./share"
+
+      # disable the feature that binds a shortcut to turning on/off
+      # screenkey. This is because keybinder is not packages in Nix as
+      # of today.
+      substituteInPlace Screenkey/screenkey.py \
+        --replace "import keybinder" "" \
+        --replace "        keybinder.bind(self.options['hotkey'], self.hotkey_cb, show_item)" ""
+    '';
+
+    src = fetchgit {
+        url = https://github.com/scs3jb/screenkey.git;
+        rev = "b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6";
+        sha256 = "eb754917e98e03cb9d528eb5f57a08c88fa7a8172f92325a9fe796b2daf14db0";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/scs3jb/screenkey;
+      description = "A screencast tool to show your keys";
+      license = stdenv.lib.licenses.gpl3Plus;
+      maintainers = [ maintainers.DamienCassou ];
+      platforms = platforms.linux;
+    };
+  };
 
   tarman = buildPythonPackage rec {
     version = "0.1.3";
@@ -9927,6 +10302,24 @@ rec {
   };
 
 
+  websocket_client = buildPythonPackage rec {
+    name = "websocket-client-0.17.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz";
+      md5 = "c86591719085eaf4a01c2275e0c834fc";
+    };
+
+    propagatedBuildInputs = [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ];
+
+    meta = {
+      homepage = https://github.com/liris/websocket-client;
+      description = "Websocket client for python";
+      license = licenses.lgpl2;
+    };
+  };
+
+
   webhelpers = buildPythonPackage rec {
     name = "WebHelpers-1.3";
 
@@ -10113,6 +10506,66 @@ rec {
     };
   };
 
+  graphite_api = buildPythonPackage rec {
+    name = "graphite-api-1.0.1";
+    disabled = isPyPy;
+
+    src = fetchgit {
+      url = "https://github.com/brutasse/graphite-api.git";
+      rev = "b6f75e8a08fae695c094fece6de611b893fc65fb";
+      sha256 = "41b90d5f35e99a020a6b1b77938690652521d1841b3165574fcfcee807ce4e6a";
+    };
+
+    checkPhase = "nosetests";
+
+    propagatedBuildInputs = [
+      flask
+      flask_cache
+      cairocffi
+      pyparsing
+      pytz
+      pyyaml
+      raven
+      six
+      structlog
+      tzlocal
+    ];
+
+    buildInputs = [
+      nose
+      mock
+    ];
+
+    LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
+
+    meta = {
+      description = "Graphite-web, without the interface. Just the rendering HTTP API.";
+      homepage = https://github.com/brutasse/graphite-api;
+      license = licenses.asl20;
+    };
+  };
+
+  graphite_influxdb = buildPythonPackage rec {
+    name = "graphite-influxdb-0.3";
+
+    src = fetchgit {
+      url = "https://github.com/vimeo/graphite-influxdb.git";
+      rev = "2273d12a24e1d804685a36debfd4224b7416b62f";
+      sha256 = "e386eaf190793d3ad0a42a74b9e137a968a51fc3806f602ff756e09c0c0648a8";
+    };
+
+    propagatedBuildInputs = [ influxdb graphite_api ];
+
+    passthru.moduleName = "graphite_influxdb.InfluxdbFinder";
+
+    meta = {
+      description = "An influxdb backend for Graphite-web and graphite-api";
+      homepage = https://github.com/vimeo/graphite-influxdb;
+      license = licenses.asl20;
+    };
+  };
+
+
   pyspotify = buildPythonPackage rec {
     name = "pyspotify-${version}";
 
@@ -10389,6 +10842,26 @@ rec {
     };
   };
 
+  pythonefl_1_11 = buildPythonPackage rec {
+    name = "python-efl-${version}";
+    version = "1.11.0";
+    src = fetchurl {
+      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.xz";
+      sha256 = "1d4hj39alg6j7ah1bc8wvlka9d13i8iy3fxxraik2f60w6811i48";
+    };
+    preConfigure = ''
+      export NIX_CFLAGS_COMPILE="-I${pkgs.e19.efl}/include/eo-1 -I${pkgs.e19.efl}/include/eina-1 -I${pkgs.e19.efl}/include/eina-1/eina -I${pkgs.e19.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e19.efl}/include/efl-1 -I${pkgs.e19.efl}/include/eet-1 -I${pkgs.e19.efl}/include/ecore-1 -I${pkgs.e19.efl}/include/ecore-evas-1 -I${pkgs.e19.efl}/include/ecore-file-1 -I${pkgs.e19.efl}/include/ecore-input-1 -I${pkgs.e19.efl}/include/ecore-imf-1 -I${pkgs.e19.efl}/include/ecore-con-1 -I${pkgs.e19.efl}/include/edje-1 -I${pkgs.e19.efl}/include/eldbus-1 -I${pkgs.e19.efl}/include/efreet-1 -I${pkgs.e19.efl}/include/ethumb-client-1 -I${pkgs.e19.efl}/include/ethumb-1 -I${pkgs.e19.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
+    '';
+    buildInputs = [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ];
+    meta = {
+      description = "Python bindings for EFL and Elementary.";
+      homepage = http://enlightenment.org/;
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+      platforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.gpl3;
+    };
+  };
+
   pythonefl = buildPythonPackage rec {
     name = "python-efl-${version}";
     version = "1.10.0";
@@ -10409,6 +10882,51 @@ rec {
     };
   };
 
+  snapperGUI = buildPythonPackage rec {
+    name = "Snapper-GUI";
+
+    src = fetchgit {
+      url = "https://github.com/ricardomv/snapper-gui";
+      rev = "11d98586b122180c75a86fccda45c4d7e3137591";
+      sha256 = "7a9f86fc17dbf130526e70c3e925eac30e2c74d6b932efbf7e7cd9fbba6dc4b1";
+    };
+
+    # no tests available
+    doCheck = false;
+
+    propagatedBuildInputs = with pythonPackages; [ pygobject3 dbus ];
+
+    meta = {
+      homepage = https://github.com/ricardomv/snapper-gui;
+      description = "Graphical frontend for snapper";
+      license = licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    };
+  };
+
+
+  redNotebook = buildPythonPackage rec {
+    name = "rednotebook-1.8.1";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/rednotebook/${name}.tar.gz";
+      sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn";
+    };
+
+    # no tests available
+    doCheck = false;
+
+    propagatedBuildInputs = with pythonPackages; [ pygtk pywebkitgtk pyyaml chardet ];
+
+    meta = {
+      homepage = http://rednotebook.sourceforge.net/index.html;
+      description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
+      license = licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    };
+  };
+
+
 
 # python2.7 specific packages
 } // optionalAttrs isPy27 (
@@ -10509,6 +11027,23 @@ rec {
     };
   };
 
+  weboob = buildPythonPackage rec {
+    name = "weboob-0.j";
+
+    src = fetchurl {
+      url = "https://symlink.me/attachments/download/271/${name}.tar.gz";
+      md5 = "9e11b1f376ccb87d35995ec87bba5b38";
+    };
+
+    setupPyBuildFlags = ["--qt" "--xdg"];
 
+    propagatedBuildInputs = [ pillow prettytable pyyaml dateutil gdata requests2 mechanize feedparser lxml pkgs.gnupg pyqt4 pkgs.libyaml simplejson cssselect ];
 
+    meta = {
+      homepage = http://weboob.org;
+      description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
+      license = stdenv.lib.licenses.agpl3;
+      maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    };
+  };
 }); in pythonPackages
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index e2f5309ced336..0a8e7165d663c 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -123,6 +123,8 @@ rec {
       packagesWithMetaPlatform attrSet
     else if attrSet.recurseForRelease or false then
       packagesWithMetaPlatform attrSet
+    else if attrSet.meta.broken or false then
+      []
     else
       attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 07c3126e5abe2..71f51554719ca 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -48,39 +48,25 @@ let
     } // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec {
 
       abcde = linux;
-      alsaUtils = linux;
       apacheHttpd = linux;
       aspell = all;
       at = linux;
       atlas = linux;
-      audacious = linux;
       autoconf = all;
       automake = all;
-      avahi = allBut cygwin;  # Cygwin builds fail
       bash = all;
       bashInteractive = all;
       bazaar = linux; # first let sqlite3 work on darwin
-      bc = all;
       binutils = linux;
       bind = linux;
-      bitlbee = linux;
-      bittorrent = linux;
-      blender = linux;
-      bsdiff = all;
-      btrfsProgs = linux;
       bvi = all;
-      bzip2 = all;
-      cabextract = all;
       castle_combat = linux;
       cdrkit = linux;
-      chatzilla = linux;
       cksfv = all;
       classpath = linux;
       coreutils = all;
-      cpio = all;
       cron = linux;
       cvs = linux;
-      db4 = all;
       ddrescue = linux;
       dhcp = linux;
       dico = linux;
@@ -97,22 +83,15 @@ let
       dosbox = linux;
       dovecot = linux;
       doxygen = linux;
-      dpkg = linux;
       drgeo = linux;
       ejabberd = linux;
       elinks = linux;
-      enscript = all;
       eprover = linux;
-      evince = linux;
       expect = linux;
       exult = linux;
-      fbterm = linux;
-      feh = linux;
-      file = all;
       findutils = all;
       flex = all;
       fontforge = linux;
-      fuse = linux;
       gajim = linux;
       gawk = all;
       gcc = linux;
@@ -120,53 +99,34 @@ let
       gcc34 = linux;
       gcc44 = linux;
       gcj = linux;
-      ghdl = linux;
       ghostscript = linux;
       ghostscriptX = linux;
-      gimp_2_8 = linux;
       git = linux;
       gitFull = linux;
       glibc = linux;
       glibcLocales = linux;
       glxinfo = linux;
-      gnash = linux;
-      gnat = linux;
-      gnugrep = all;
       gnum4 = all;
-      gnumake = all;
-      gnupatch = all;
       gnupg = linux;
       gnuplot = allBut cygwin;
-      gnused = all;
-      gnutar = all;
       gnutls = linux;
       gogoclient = linux;
       gphoto2 = linux;
       gpm = linux;
-      gprolog = linux;
       gpscorrelate = linux;
-      gpsd = linux;
       gqview = gtkSupported;
       graphviz = all;
       grub = linux;
-      grub2 = linux;
       gsl = linux;
       guile = linux;  # tests fail on Cygwin
-      gv = linux;
       gzip = all;
       hddtemp = linux;
-      hello = all;
       host = linux;
       htmlTidy = all;
-      hugin = linux;
       iana_etc = linux;
       icewm = linux;
-      idutils = all;
       ifplugd = linux;
-      impressive = linux;
-      inetutils = linux;
       inkscape = linux;
-      iputils = linux;
       irssi = linux;
       jfsutils = linux;
       jfsrec = linux;
@@ -175,19 +135,14 @@ let
       kbd = linux;
       keen4 = ["i686-linux"];
     #  klibc = linux;
-      kvm = linux;
-      qemu = linux;
-      qemu_kvm = linux;
       less = all;
       lftp = all;
       libarchive = linux;
-      libsmbios = linux;
       libtool = all;
       libtool_2 = all;
       lout = linux;
       lsof = linux;
       ltrace = linux;
-      lvm2 = linux;
       lynx = linux;
       lzma = linux;
       man = linux;
@@ -200,14 +155,11 @@ let
       mercurial = unix;
       mercurialFull = linux;
       mesa = mesaPlatforms;
-      midori = linux;
       mingetty = linux;
       mk = linux;
       mktemp = all;
       mod_python = linux;
       module_init_tools = linux;
-      mono = linux;
-      mpg321 = linux;
       mupen64plus = linux;
       mutt = linux;
       mysql = linux;
@@ -216,71 +168,53 @@ let
       nano = allBut cygwin;
       ncat = linux;
       netcat = all;
-      nfsUtils = linux;
-      nmap = linux;
       nss_ldap = linux;
       nssmdns = linux;
-      ntfs3g = linux;
-      ntp = linux;
       ocaml = linux;
-      octave = linux;
-      openssl = all;
       pam_console = linux;
       pam_login = linux;
       pan = gtkSupported;
       par2cmdline = all;
-      pavucontrol = linux;
       pciutils = linux;
       pdf2xml = all;
       perl = all;
       php = linux;
-      pidgin = linux;
       pinentry = linux;
       pltScheme = linux;
       pmccabe = linux;
       portmap = linux;
       postgresql = all;
-      postfix = linux;
       ppl = all;
       procps = linux;
       pthreadmanpages = linux;
       pygtk = linux;
-      pyqt4 = linux;
       python = allBut cygwin;
       pythonFull = linux;
       sbcl = linux;
       qt3 = linux;
       quake3demo = linux;
-      readline = all;
       reiserfsprogs = linux;
       rlwrap = all;
       rogue = all;
       rpm = linux;
       rsync = linux;
       rubber = allBut cygwin;
-      ruby = all;
       rxvt_unicode = linux;
       screen = linux ++ darwin;
       scrot = linux;
       sdparm = linux;
       seccure = linux;
       sgtpuzzles = linux;
-      sharutils = all;
-      slim = linux;
       sloccount = allBut cygwin;
-      smartmontools = linux;
       spidermonkey = linux;
-      sqlite = allBut cygwin;
       squid = linux;
       ssmtp = linux;
       stdenv = prio 175 all;
       stlport = linux;
-      strace = linux;
       su = linux;
       sudo = linux;
       superTuxKart = linux;
       swig = linux;
-      sylpheed = linux;
       sysklogd = linux;
       syslinux = ["i686-linux"];
       sysvinit = linux;
@@ -298,29 +232,23 @@ let
       time = linux;
       tinycc = linux;
       uae = linux;
-      udev = linux;
       unrar = linux;
       upstart = linux;
       usbutils = linux;
       utillinux = linux;
       utillinuxCurses = linux;
-      uzbl = linux;
       viking = linux;
       vice = linux;
       vim = linux;
       vimHugeX = linux;
       vncrec = linux;
       vorbisTools = linux;
-      vpnc = linux;
       vsftpd = linux;
       w3m = all;
-      webkit = linux;
       weechat = linux;
-      wget = all;
       which = all;
       wicd = linux;
       wine = ["i686-linux"];
-      wireshark = linux;
       wirelesstools = linux;
       wxGTK = linux;
       x11_ssh_askpass = linux;
@@ -334,10 +262,7 @@ let
       xscreensaver = linux;
       xsel = linux;
       xterm = linux;
-      xxdiff = linux;
       zdelta = linux;
-      zile = linux;
-      zip = all;
       zsh = linux;
       zsnes = ["i686-linux"];