summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-10-07 00:09:37 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-10-07 00:09:37 +0200
commita85dcf4a00c1ac354eda3b84209b8fa6b2133259 (patch)
tree16bbf46e3cd5d7ea259783ee8b1ea8d5c7048e0d
parent4b2ce84872a0903b9800d3ed23915f48ecedc565 (diff)
parent46a9e805efeee40d360605fa5987866ca45fed23 (diff)
Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/libav/default.nix
	pkgs/shells/bash/bash-4.2-patches.nix
	pkgs/stdenv/generic/default.nix
-rw-r--r--.travis.yml3
-rw-r--r--doc/language-support.xml84
-rw-r--r--lib/attrsets.nix24
-rw-r--r--lib/customisation.nix10
-rw-r--r--lib/debug.nix32
-rw-r--r--lib/licenses.nix13
-rw-r--r--lib/lists.nix48
-rw-r--r--lib/maintainers.nix10
-rw-r--r--lib/misc.nix45
-rw-r--r--lib/modules.nix16
-rw-r--r--lib/options.nix6
-rw-r--r--lib/platforms.nix2
-rw-r--r--lib/strings-with-deps.nix4
-rw-r--r--lib/strings.nix16
-rw-r--r--lib/systems.nix2
-rwxr-xr-xmaintainers/scripts/travis-nox-review-pr.sh29
-rw-r--r--maintainers/scripts/vanity-manual-equalities.txt3
-rwxr-xr-xmaintainers/scripts/vanity.sh65
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml19
-rw-r--r--nixos/lib/test-driver/Machine.pm2
-rw-r--r--nixos/lib/testing.nix6
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix5
-rw-r--r--nixos/modules/config/pulseaudio.nix23
-rw-r--r--nixos/modules/config/users-groups.nix4
-rw-r--r--nixos/modules/hardware/opengl.nix20
-rw-r--r--nixos/modules/hardware/video/ati.nix37
-rw-r--r--nixos/modules/misc/ids.nix11
-rwxr-xr-xnixos/modules/module-list.nix5
-rw-r--r--nixos/modules/programs/environment.nix1
-rw-r--r--nixos/modules/programs/uim.nix4
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/services/audio/mpd.nix54
-rw-r--r--nixos/modules/services/databases/postgresql.nix4
-rw-r--r--nixos/modules/services/misc/cpuminer-cryptonight.nix66
-rw-r--r--nixos/modules/services/misc/gitolite.nix13
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix49
-rw-r--r--nixos/modules/services/network-filesystems/yandex-disk.nix4
-rw-r--r--nixos/modules/services/networking/atftpd.nix4
-rw-r--r--nixos/modules/services/networking/btsync.nix2
-rw-r--r--nixos/modules/services/networking/cjdns.nix4
-rw-r--r--nixos/modules/services/networking/consul.nix166
-rw-r--r--nixos/modules/services/networking/mailpile.nix76
-rw-r--r--nixos/modules/services/networking/nat.nix27
-rw-r--r--nixos/modules/services/web-servers/lighttpd/cgit.nix3
-rw-r--r--nixos/modules/services/web-servers/lighttpd/default.nix95
-rw-r--r--nixos/modules/services/web-servers/lighttpd/gitweb.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde4_next.nix163
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix3
-rw-r--r--nixos/modules/services/x11/window-managers/afterstep.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/ratpoison.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/windowmaker.nix28
-rw-r--r--nixos/modules/services/x11/xserver.nix12
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix10
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl5
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh21
-rw-r--r--nixos/modules/system/boot/stage-1.nix16
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix4
-rw-r--r--nixos/modules/system/boot/systemd.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces.nix46
-rw-r--r--nixos/release-combined.nix16
-rw-r--r--nixos/release.nix15
-rw-r--r--nixos/tests/installer.nix7
-rw-r--r--nixos/tests/jenkins.nix2
-rw-r--r--nixos/tests/kde4.nix2
-rw-r--r--nixos/tests/munin.nix2
-rw-r--r--nixos/tests/nat.nix130
-rw-r--r--pkgs/applications/audio/cantata/default.nix6
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix98
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/easytag/default.nix10
-rw-r--r--pkgs/applications/audio/freewheeling/am_path_sdl.patch40
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix44
-rw-r--r--pkgs/applications/audio/freewheeling/xml.patch13
-rw-r--r--pkgs/applications/audio/google-musicmanager/default.nix12
-rw-r--r--pkgs/applications/audio/guitarix/default.nix4
-rw-r--r--pkgs/applications/audio/ingen/default.nix6
-rw-r--r--pkgs/applications/audio/kid3/default.nix74
-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/paprefs/default.nix33
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix17
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/samplv1/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix20
-rw-r--r--pkgs/applications/audio/synthv1/default.nix4
-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/emacs-modes/cask/default.nix47
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix11
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch16
-rw-r--r--pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/tuareg/default.nix6
-rw-r--r--pkgs/applications/editors/flpsed/default.nix7
-rw-r--r--pkgs/applications/editors/geany/default.nix10
-rw-r--r--pkgs/applications/editors/idea/default.nix239
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix115
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix4
-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.nix33
-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/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/rapcad/default.nix2
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix4
-rw-r--r--pkgs/applications/graphics/xournal/default.nix12
-rw-r--r--pkgs/applications/misc/batti/default.nix49
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix9
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cura/default.nix8
-rw-r--r--pkgs/applications/misc/curaengine/default.nix2
-rw-r--r--pkgs/applications/misc/freicoin/default.nix2
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix4
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/misc/monero/default.nix6
-rw-r--r--pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--pkgs/applications/misc/namecoin/default.nix8
-rw-r--r--pkgs/applications/misc/namecoin/qt.nix4
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix31
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix6
-rw-r--r--pkgs/applications/misc/roxterm/default.nix62
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix4
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix8
-rw-r--r--pkgs/applications/misc/termite/default.nix26
-rw-r--r--pkgs/applications/misc/tilda/default.nix4
-rw-r--r--pkgs/applications/misc/twmn/default.nix2
-rw-r--r--pkgs/applications/misc/vym/default.nix2
-rw-r--r--pkgs/applications/misc/xfe/default.nix4
-rw-r--r--pkgs/applications/misc/xiphos/default.nix11
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix32
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix24
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix364
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb2
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix44
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix1
-rw-r--r--pkgs/applications/networking/copy-com/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix7
-rw-r--r--pkgs/applications/networking/ids/bro/default.nix11
-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/instant-messengers/bitlbee/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/linssid/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix18
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix12
-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/p2p/eiskaltdcpp/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix13
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix43
-rw-r--r--pkgs/applications/office/abiword/default.nix29
-rw-r--r--pkgs/applications/office/gnucash/default.nix2
-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/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix2
-rw-r--r--pkgs/applications/science/logic/coq/8.3.nix6
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix34
-rw-r--r--pkgs/applications/science/logic/coq/default.nix30
-rw-r--r--pkgs/applications/science/logic/hol_light/Makefile.patch13
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix8
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix36
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix50
-rw-r--r--pkgs/applications/science/logic/ssreflect/static.patch21
-rw-r--r--pkgs/applications/science/logic/stp/default.nix2
-rw-r--r--pkgs/applications/science/math/pari/default.nix4
-rw-r--r--pkgs/applications/science/math/pcalc/default.nix26
-rw-r--r--pkgs/applications/science/math/sloane/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/git-and-tools/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/gource/default.nix5
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix13
-rw-r--r--pkgs/applications/video/aegisub/default.nix10
-rw-r--r--pkgs/applications/video/cmplayer/default.nix83
-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.nix18
-rw-r--r--pkgs/applications/video/omxplayer/default.nix4
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--pkgs/applications/video/xbmc/default.nix2
-rw-r--r--pkgs/applications/video/xbmc/plugins.nix84
-rw-r--r--pkgs/applications/video/xbmc/wrapper.nix46
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix151
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix3
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/default.nix2
-rw-r--r--pkgs/applications/window-managers/afterstep/default.nix42
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix6
-rw-r--r--pkgs/applications/window-managers/icewm/deprecated.patch23
-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.nix23
-rw-r--r--pkgs/build-support/fetchadc/builder.sh7
-rw-r--r--pkgs/build-support/fetchadc/default.nix46
-rw-r--r--pkgs/build-support/fetchurl/builder.sh16
-rw-r--r--pkgs/build-support/replace-dependency.nix26
-rw-r--r--pkgs/build-support/vm/default.nix2
-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/fonts/cantarell-fonts/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.10/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix50
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix6
-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.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix4
-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/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/kde-4.14/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.14/applications/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.14/default.nix44
-rw-r--r--pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch17
-rw-r--r--pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch36
-rw-r--r--pkgs/desktops/kde-4.14/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.14/kactivities.nix15
-rw-r--r--pkgs/desktops/kde-4.14/kde-base-artwork.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/4.14.1.nix627
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/default.nix131
-rwxr-xr-xpkgs/desktops/kde-4.14/kde-package/kde-manifest.sh173
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt22
-rw-r--r--pkgs/desktops/kde-4.14/kde-runtime.nix24
-rw-r--r--pkgs/desktops/kde-4.14/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.14/kde-workspace.nix38
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/kcron.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/kuser.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix15
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/styles.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/perlqt.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/pykde4.nix32
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch15
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/qtruby.nix20
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokekde.nix19
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix15
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/analitza.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/artikulate.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/blinken.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/cantor.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kalzium.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kanagram.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kbruch.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kgeography.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/khangman.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kig.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kiten.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/klettres.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kmplot.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kstars.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/ktouch.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kturtle.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/marble.nix12
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/pairs.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/parley.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/rocs.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/bomber.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/bovo.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/granatier.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kajongg.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kapman.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/katomic.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kblackbox.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kblocks.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kbounce.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kbreakout.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kdiamond.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kfourinline.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kigo.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/killbots.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kiriki.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/klickety.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/klines.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kmines.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/knetwalk.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kolf.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kollision.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/konquest.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kpat.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kreversi.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kshisen.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksirk.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksquares.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksudoku.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ktuberling.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kubrick.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/libkdegames.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/lskat.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/palapeli.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/picmi.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix16
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/okular.nix17
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/baloo.nix18
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix48
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix20
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/juk.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kget.nix20
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kopete.nix26
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kppp.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/krdc.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/krfb.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdepim-runtime.nix16
-rw-r--r--pkgs/desktops/kde-4.14/kdepim.nix28
-rw-r--r--pkgs/desktops/kde-4.14/kdepimlibs.nix19
-rw-r--r--pkgs/desktops/kde-4.14/kdeplasma-addons.nix23
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/cervisia.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix12
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/lokalize.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/okteta.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/poxml.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/umbrello.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/amor.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/kteatime.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/ktux.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/ark.nix17
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/filelight.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kcalc.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kdf.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kgpg.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/ktimer.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/print-manager.nix27
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/sweeper.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kommander.nix9
-rw-r--r--pkgs/desktops/kde-4.14/l10n/default.nix46
-rwxr-xr-xpkgs/desktops/kde-4.14/l10n/l10n-manifest.sh32
-rw-r--r--pkgs/desktops/kde-4.14/l10n/manifest-4.14.1.nix267
-rw-r--r--pkgs/desktops/kde-4.14/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.14/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/xfce/default.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix22
-rw-r--r--pkgs/development/compilers/ats2/default.nix4
-rw-r--r--pkgs/development/compilers/compcert/default.nix15
-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.nix35
-rw-r--r--pkgs/development/compilers/hhvm/default.nix6
-rw-r--r--pkgs/development/compilers/idris/default.nix1
-rw-r--r--pkgs/development/compilers/idris/wrapper.nix3
-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/orc/default.nix10
-rw-r--r--pkgs/development/compilers/polyml/default.nix4
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch24
-rw-r--r--pkgs/development/compilers/rustc/head.nix34
-rw-r--r--pkgs/development/coq-modules/containers/default.nix25
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix24
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix26
-rw-r--r--pkgs/development/interpreters/acl2/default.nix4
-rw-r--r--pkgs/development/interpreters/clisp/2.44.1.nix4
-rw-r--r--pkgs/development/interpreters/elixir/default.nix7
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix6
-rw-r--r--pkgs/development/interpreters/falcon/default.nix41
-rw-r--r--pkgs/development/interpreters/groovy/default.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/nix-exec/default.nix25
-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/ruby/generated.nix128
-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/TotalParserCombinators/contextfile213
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/default.nix25
-rw-r--r--pkgs/development/libraries/agda/agda-base/default.nix22
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix26
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/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/assimp/default.nix27
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix4
-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/clutter-gtk/0.10.8.nix5
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix10
-rw-r--r--pkgs/development/libraries/dotconf/default.nix22
-rw-r--r--pkgs/development/libraries/enet/default.nix9
-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/0.10.nix5
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.nix1
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix1
-rw-r--r--pkgs/development/libraries/ffmpeg/2.3.x.nix109
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix4
-rw-r--r--pkgs/development/libraries/ffms/default.nix7
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.xsl10
-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/gettext/0.17.nix5
-rw-r--r--pkgs/development/libraries/giflib/5.0.nix (renamed from pkgs/development/libraries/giflib/default.nix)0
-rw-r--r--pkgs/development/libraries/giflib/5.1.nix17
-rw-r--r--pkgs/development/libraries/glm/default.nix5
-rw-r--r--pkgs/development/libraries/gloox/default.nix7
-rw-r--r--pkgs/development/libraries/gmime/default.nix4
-rw-r--r--pkgs/development/libraries/gmm/default.nix6
-rw-r--r--pkgs/development/libraries/gpgme/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix18
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix16
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix4
-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/MonadPrompt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ShellCheck/default.nix19
-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/aws/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blank-canvas/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boomerang/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bv/default.nix7
-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/cassava/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-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/gtk.nix16
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/fay/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/generic-aeson/default.nix1
-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.2.nix)18
-rw-r--r--pkgs/development/libraries/haskell/ghc-parser/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-dom/default.nix4
-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/haskell-generate/default.nix4
-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/here/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hindent/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-common/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-streams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix1
-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.nix4
-rw-r--r--pkgs/development/libraries/haskell/json-schema/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jwt/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/kansas-comet/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/language-c-inline/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/language-java/0.2.6.nix25
-rw-r--r--pkgs/development/libraries/haskell/language-java/0.2.7.nix (renamed from pkgs/development/libraries/haskell/language-java/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/lens-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/liblastfm/default.nix15
-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/lzma-enumerator/default.nix1
-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/miniutter/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/multipart/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/openssl-streams/default.nix4
-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/persistent-mysql/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-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.nix1
-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/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix12
-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/rvar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/sdl2/default.nix16
-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/socket-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/system-argv0/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tables/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tasty-program/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tostring/default.nix1
-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/vado/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/vty/5.2.3.nix (renamed from pkgs/development/libraries/haskell/vty/5.2.1.nix)6
-rw-r--r--pkgs/development/libraries/haskell/wai-util/default.nix22
-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/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-test/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix6
-rw-r--r--pkgs/development/libraries/indilib/0_9_9.nix21
-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/kdevplatform/default.nix8
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix6
-rw-r--r--pkgs/development/libraries/lesstif/c-bad_integer_cast.patch13
-rw-r--r--pkgs/development/libraries/lesstif/c-linkage.patch23
-rw-r--r--pkgs/development/libraries/lesstif/c-unsigned_int.patch38
-rw-r--r--pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch24
-rw-r--r--pkgs/development/libraries/lesstif/default.nix8
-rw-r--r--pkgs/development/libraries/libLAS/default.nix22
-rw-r--r--pkgs/development/libraries/libbluray/default.nix52
-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/libfm/default.nix18
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix10
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libharu/default.nix8
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix2
-rw-r--r--pkgs/development/libraries/libmsgpack/CMakeLists.patch12
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix19
-rw-r--r--pkgs/development/libraries/libogg/default.nix7
-rw-r--r--pkgs/development/libraries/libpng/12.nix4
-rw-r--r--pkgs/development/libraries/libpng/15.nix8
-rw-r--r--pkgs/development/libraries/libpng/default.nix4
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix16
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix7
-rw-r--r--pkgs/development/libraries/libwebp/default.nix6
-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/menu-cache/default.nix12
-rw-r--r--pkgs/development/libraries/mythes/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/physics/geant4/default.nix150
-rw-r--r--pkgs/development/libraries/physics/geant4/fetch.nix19
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/configure.patch12
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/default.nix70
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/physics/geant4/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/quazip/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix15
-rw-r--r--pkgs/development/libraries/simgear/default.nix64
-rw-r--r--pkgs/development/libraries/slang/default.nix21
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix10
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix10
-rw-r--r--pkgs/development/libraries/telepathy/qt/farstream-0.2.diff28
-rw-r--r--pkgs/development/libraries/vtk/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/lua-modules/generic/default.nix24
-rw-r--r--pkgs/development/lua-modules/luasql.patch37
-rw-r--r--pkgs/development/lua-modules/zip.patch23
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix4
-rw-r--r--pkgs/development/mobile/androidenv/make-standalone-toolchain.patch13
-rw-r--r--pkgs/development/mobile/xcodeenv/default.nix4
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix10
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix8
-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.nix4
-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.nix21
-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.nix9
-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.nix18
-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/ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pprint/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/sexplib/108.08.00.nix29
-rw-r--r--pkgs/development/ocaml-modules/sexplib/default.nix25
-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.nix7
-rw-r--r--pkgs/development/ocaml-modules/twt/default.nix5
-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.nix23
-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.nix5
-rw-r--r--pkgs/development/pharo/launcher/default.nix71
-rw-r--r--pkgs/development/pharo/vm/default.nix11
-rw-r--r--pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch84
-rw-r--r--pkgs/development/pharo/vm/patches/fix-executable-name.patch14
-rw-r--r--pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch23
-rw-r--r--pkgs/development/python-modules/generic/default.nix9
-rw-r--r--pkgs/development/qtcreator/default.nix4
-rw-r--r--pkgs/development/r-modules/cran-packages.nix26
-rw-r--r--pkgs/development/tools/analysis/findbugs/default.nix6
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix11
-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-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/scons/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix20
-rw-r--r--pkgs/development/tools/haskell/BNFC/default.nix25
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/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/graphmod/default.nix18
-rw-r--r--pkgs/development/tools/haskell/ihaskell/default.nix49
-rw-r--r--pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch34
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix26
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix4
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix4
-rw-r--r--pkgs/development/tools/misc/ShellCheck/default.nix1
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix4
-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/help2man/default.nix4
-rw-r--r--pkgs/development/tools/neoload/default.nix3
-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/camlp5/default.nix14
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix9
-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.nix2
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix6
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/tools/vagrant/default.nix2
-rw-r--r--pkgs/development/web/grails/default.nix52
-rw-r--r--pkgs/games/anki/default.nix4
-rw-r--r--pkgs/games/asc/default.nix12
-rw-r--r--pkgs/games/globulation/default.nix5
-rw-r--r--pkgs/games/minecraft-server/default.nix2
-rw-r--r--pkgs/games/minecraft/default.nix5
-rw-r--r--pkgs/games/mudlet/default.nix40
-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.nix2
-rw-r--r--pkgs/games/spring/springlobby.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix1
-rw-r--r--pkgs/games/tibia/default.nix10
-rw-r--r--pkgs/games/ue4demos/default.nix192
-rw-r--r--pkgs/games/wesnoth/default.nix5
-rw-r--r--pkgs/misc/cups/drivers/cups-bjnp/default.nix4
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix7
-rw-r--r--pkgs/misc/emulators/hatari/default.nix7
-rw-r--r--pkgs/misc/emulators/higan/builder.sh35
-rw-r--r--pkgs/misc/emulators/higan/default.nix64
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix7
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix129
-rw-r--r--pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix39
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix6
-rw-r--r--pkgs/misc/screensavers/alock/default.nix2
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/sound-of-sorting/default.nix28
-rw-r--r--pkgs/misc/vim-plugins/default.nix21
-rw-r--r--pkgs/os-specific/darwin/command-line-tools/default.nix71
-rw-r--r--pkgs/os-specific/darwin/osx-private-sdk/default.nix34
-rw-r--r--pkgs/os-specific/darwin/osx-sdk/default.nix26
-rw-r--r--pkgs/os-specific/darwin/security-tool/default.nix30
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix1
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch232
-rw-r--r--pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch110
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix7
-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.nix9
-rw-r--r--pkgs/os-specific/linux/atop/default.upstream4
-rw-r--r--pkgs/os-specific/linux/audit/default.nix5
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix4
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix4
-rw-r--r--pkgs/os-specific/linux/dmraid/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix6
-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/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/linux-3.17.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix5
-rw-r--r--pkgs/os-specific/linux/seturgent/default.nix27
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-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/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix14
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix4
-rw-r--r--pkgs/servers/http/couchdb/default.nix4
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix69
-rw-r--r--pkgs/servers/http/openresty/default.nix10
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix38
-rw-r--r--pkgs/servers/nosql/cassandra/default.nix43
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix35
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix8
-rw-r--r--pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch51
-rw-r--r--pkgs/servers/openafs-client/default.nix11
-rw-r--r--pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch130
-rw-r--r--pkgs/servers/pulseaudio/default.nix9
-rw-r--r--pkgs/servers/rippled/default.nix8
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix12
-rw-r--r--pkgs/shells/bash/default.nix4
-rw-r--r--pkgs/shells/dash/default.nix4
-rw-r--r--pkgs/shells/zsh/default.nix12
-rw-r--r--pkgs/stdenv/generic/default.nix8
-rw-r--r--pkgs/tools/X11/bumblebee/default.nix1
-rw-r--r--pkgs/tools/X11/keynav/default.nix20
-rw-r--r--pkgs/tools/backup/duply/default.nix4
-rw-r--r--pkgs/tools/backup/rsnapshot/default.nix3
-rw-r--r--pkgs/tools/cd-dvd/vobsub2srt/default.nix6
-rw-r--r--pkgs/tools/filesystems/bashmount/default.nix2
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix8
-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.nix67
-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/graphics/dmtx/default.nix12
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix2
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix9
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix30
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix42
-rw-r--r--pkgs/tools/inputmethods/fcitx/default.nix4
-rw-r--r--pkgs/tools/misc/binwalk/default.nix32
-rw-r--r--pkgs/tools/misc/bmon/default.nix32
-rw-r--r--pkgs/tools/misc/byobu/default.nix6
-rw-r--r--pkgs/tools/misc/cpuminer-multi/default.nix12
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix6
-rw-r--r--pkgs/tools/misc/escoger/default.nix33
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/grc/default.nix5
-rw-r--r--pkgs/tools/misc/kde-gtk-config/default.nix5
-rw-r--r--pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch13
-rw-r--r--pkgs/tools/misc/less/default.nix6
-rw-r--r--pkgs/tools/misc/parallel/default.nix12
-rw-r--r--pkgs/tools/misc/remind/default.nix6
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix7
-rw-r--r--pkgs/tools/misc/snapper/default.nix52
-rw-r--r--pkgs/tools/misc/tmux/default.nix5
-rw-r--r--pkgs/tools/misc/tty-clock/default.nix27
-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/babeld/default.nix5
-rw-r--r--pkgs/tools/networking/bud/default.nix6
-rw-r--r--pkgs/tools/networking/cjdns/default.nix11
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--pkgs/tools/networking/iperf/2.nix (renamed from pkgs/tools/networking/iperf/default.nix)0
-rw-r--r--pkgs/tools/networking/iperf/3.nix22
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/netkit/tftp/default.nix1
-rw-r--r--pkgs/tools/networking/ntopng/default.nix12
-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/strongswan/default.nix8
-rw-r--r--pkgs/tools/networking/strongswan/no-hardcoded-sysconfdir.patch145
-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/traceroute/default.nix25
-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.nix4
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-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.nix10
-rw-r--r--pkgs/tools/security/gnupg/default.nix29
-rw-r--r--pkgs/tools/security/gnupg/git.nix57
-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.nix4
-rw-r--r--pkgs/tools/security/pius/default.nix6
-rw-r--r--pkgs/tools/security/thc-hydra/default.nix27
-rw-r--r--pkgs/tools/system/ansible/default.nix10
-rw-r--r--pkgs/tools/system/at/default.nix6
-rw-r--r--pkgs/tools/system/ddrescue/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.upstream2
-rw-r--r--pkgs/tools/text/dadadodo/default.nix34
-rw-r--r--pkgs/tools/text/dos2unix/default.nix6
-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/builder.sh2
-rw-r--r--pkgs/tools/typesetting/pdfjam/default.nix15
-rw-r--r--pkgs/tools/typesetting/tex/pgf/3.x.nix26
-rw-r--r--pkgs/top-level/all-packages.nix546
-rw-r--r--pkgs/top-level/haskell-packages.nix78
-rw-r--r--pkgs/top-level/lua-packages.nix145
-rw-r--r--pkgs/top-level/node-packages-generated.nix4704
-rw-r--r--pkgs/top-level/node-packages.json4
-rw-r--r--pkgs/top-level/perl-packages.nix31
-rw-r--r--pkgs/top-level/python-packages.nix458
1001 files changed, 19979 insertions, 5584 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000..d34a7831d65d2
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,3 @@
+language: python
+python: "3.4"
+script: ./maintainers/scripts/travis-nox-review-pr.sh
diff --git a/doc/language-support.xml b/doc/language-support.xml
index e7ffa8af11838..5e49121e695b6 100644
--- a/doc/language-support.xml
+++ b/doc/language-support.xml
@@ -330,6 +330,90 @@ Runtime) instead of the OpenJRE.</para>
 </section>
 
 
+<section xml:id="ssec-language-lua"><title>Lua</title>
+
+<para>
+  Lua packages are built by the <varname>buildLuaPackage</varname> function.  This function is
+  implemented
+  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix">
+  <filename>pkgs/development/lua-modules/generic/default.nix</filename></link>
+  and works similarly to <varname>buildPerlPackage</varname>. (See
+  <xref linkend="ssec-language-perl"/> for details.)
+</para>
+
+<para>
+  Lua packages are defined
+  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>.
+  Most of them are simple. For example:
+
+  <programlisting>
+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 ];
+  };
+};
+  </programlisting>
+</para>
+
+<para>
+  Though, more complicated package should be placed in a seperate file in 
+  <link
+  xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules"><filename>pkgs/development/lua-modules</filename></link>.
+</para>
+<para>
+  Lua packages accept additional parameter <varname>disabled</varname>, which defines
+  the condition of disabling package from luaPackages. For example, if package has
+  <varname>disabled</varname> assigned to <literal>lua.luaversion != "5.1"</literal>,
+  it will not be included in any luaPackages except lua51Packages, making it
+  only be built for lua 5.1.
+</para>
+
+</section>
+
+<section xml:id="ssec-language-coq"><title>Coq</title>
+  <para>
+    Coq libraries should be installed in
+    <literal>$(out)/lib/coq/${coq.coq-version}/user-contrib/</literal>.
+    Such directories are automatically added to the
+    <literal>$COQPATH</literal> environment variable by the hook defined
+    in the Coq derivation.
+  </para>
+  <para>
+    Some libraries require OCaml and sometimes also Camlp5. The exact
+    versions that were used to build Coq are saved in the
+    <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal>
+    attributes.
+  </para>
+  <para>
+    Here is a simple package example. It is a pure Coq library, thus it
+    only depends on Coq. Its <literal>makefile</literal> has been
+    generated using <literal>coq_makefile</literal> so we only have to
+    set the <literal>$COQLIB</literal> variable at install time.
+  </para>
+  <programlisting>
+{stdenv, fetchurl, coq}:
+stdenv.mkDerivation {
+  src = fetchurl {
+    url = http://coq.inria.fr/pylons/contribs/files/Karatsuba/v8.4/Karatsuba.tar.gz;
+    sha256 = "0ymfpv4v49k4fm63nq6gcl1hbnnxrvjjp7yzc4973n49b853c5b1";
+  };
+
+  name = "coq-karatsuba";
+
+  buildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+}
+</programlisting>
+</section>
+
 <!--
 <section><title>Haskell</title>
 
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index da735d71b255d..3615328b19242 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -20,8 +20,8 @@ rec {
     let attr = head attrPath;
     in
       if attrPath == [] then e
-      else if hasAttr attr e
-      then attrByPath (tail attrPath) default (getAttr attr e)
+      else if e ? ${attr}
+      then attrByPath (tail attrPath) default e.${attr}
       else default;
 
 
@@ -44,8 +44,7 @@ rec {
        attrVals ["a" "b" "c"] as
        => [as.a as.b as.c]
   */
-  attrVals = nameList: set:
-    map (x: getAttr x set) nameList;
+  attrVals = nameList: set: map (x: set.${x}) nameList;
 
 
   /* Return the values of all attributes in the given set, sorted by
@@ -55,7 +54,7 @@ rec {
        attrValues {c = 3; a = 1; b = 2;}
        => [1 2 3]
   */
-  attrValues = attrs: attrVals (attrNames attrs) attrs;
+  attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs);
 
 
   /* Collect each attribute named `attr' from a list of attribute
@@ -65,7 +64,8 @@ rec {
        catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
        => [1 2]
   */
-  catAttrs = attr: l: concatLists (map (s: if hasAttr attr s then [(getAttr attr s)] else []) l);
+  catAttrs = builtins.catAttrs or
+    (attr: l: concatLists (map (s: if s ? ${attr} then [s.${attr}] else []) l));
 
 
   /* Filter an attribute set by removing all attributes for which the
@@ -76,7 +76,7 @@ rec {
        => { foo = 1; }
   */
   filterAttrs = pred: set:
-    listToAttrs (fold (n: ys: let v = getAttr n set; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
+    listToAttrs (fold (n: ys: let v = set.${n}; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
 
 
   /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
@@ -86,7 +86,7 @@ rec {
   foldAttrs = op: nul: list_of_attrs:
     fold (n: a:
         fold (name: o:
-          o // (listToAttrs [{inherit name; value = op (getAttr name n) (maybeAttr name nul a); }])
+          o // (listToAttrs [{inherit name; value = op n.${name} (maybeAttr name nul a); }])
         ) a (attrNames n)
     ) {} list_of_attrs;
 
@@ -132,7 +132,7 @@ rec {
        => { x = "x-foo"; y = "y-bar"; }
   */
   mapAttrs = f: set:
-    listToAttrs (map (attr: { name = attr; value = f attr (getAttr attr set); }) (attrNames set));
+    listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set));
 
 
   /* Like `mapAttrs', but allows the name of each attribute to be
@@ -145,7 +145,7 @@ rec {
        => { foo_x = "bar-a"; foo_y = "bar-b"; }
   */
   mapAttrs' = f: set:
-    listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set));
+    listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
 
 
   /* Call a function for each attribute in the given set and return
@@ -157,7 +157,7 @@ rec {
        => [ "xa" "yb" ]
   */
   mapAttrsToList = f: attrs:
-    map (name: f name (getAttr name attrs)) (attrNames attrs);
+    map (name: f name attrs.${name}) (attrNames attrs);
 
 
   /* Like `mapAttrs', except that it recursively applies itself to
@@ -322,7 +322,7 @@ rec {
   # override only the attributes that are already present in the old set
   # useful for deep-overriding
   overrideExisting = old: new:
-    old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] (getAttr attr old) new)) (attrNames old));
+    old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
 
   deepSeqAttrs = x: y: deepSeqList (attrValues x) y;
 }
diff --git a/lib/customisation.nix b/lib/customisation.nix
index bfa61169efb1e..90a0c65058d0c 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -1,6 +1,6 @@
-let lib = import ./default.nix;
-    inherit (builtins) getAttr attrNames isFunction;
-
+let
+  lib = import ./default.nix;
+  inherit (builtins) attrNames isFunction;
 in
 
 rec {
@@ -107,10 +107,10 @@ rec {
       outputToAttrListElement = outputName:
         { name = outputName;
           value = commonAttrs // {
-            inherit (builtins.getAttr outputName drv) outPath drvPath type outputName;
+            inherit (drv.${outputName}) outPath drvPath type outputName;
           };
         };
 
       outputsList = map outputToAttrListElement outputs;
-  in builtins.getAttr drv.outputName commonAttrs;
+  in commonAttrs.${drv.outputName};
 }
diff --git a/lib/debug.nix b/lib/debug.nix
index d627bc861abb7..8852c22981c5e 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -9,23 +9,15 @@ in
 
 rec {
 
+  inherit (builtins) addErrorContext;
+
+  addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
+
+
+  traceVal = x: builtins.trace x x;
+  traceXMLVal = x: builtins.trace (builtins.toXML x) x;
+  traceXMLValMarked = str: x: builtins.trace (str + builtins.toXML x) x;
 
-  # Wrapper aroung the primop `addErrorContext', which shouldn't used
-  # directly.  It evaluates and returns `val', but if an evaluation
-  # error occurs, the text in `msg' is added to the error context
-  # (stack trace) printed by Nix.
-  addErrorContext =
-    if builtins ? addErrorContext
-    then builtins.addErrorContext
-    else msg: val: val;
-
-  addErrorContextToAttrs = lib.mapAttrs (a : v : lib.addErrorContext "while evaluating ${a}" v);
-
-  
-  traceVal = if builtins ? trace then x: (builtins.trace x x) else x: x;
-  traceXMLVal = if builtins ? trace then x: (builtins.trace (builtins.toXML x) x) else x: x;
-  traceXMLValMarked = str: if builtins ? trace then x: (builtins.trace ( str + builtins.toXML x) x) else x: x;
-  
   # this can help debug your code as well - designed to not produce thousands of lines
   traceShowVal = x : trace (showVal x) x;
   traceShowValMarked = str: x: trace (str + showVal x) x;
@@ -44,7 +36,7 @@ rec {
       else if isString x then "x is a string `${substring 0 50 x}...'"
       else "x is probably a path `${substring 0 50 (toString x)}...'";
 
-  # trace the arguments passed to function and its result 
+  # trace the arguments passed to function and its result
   # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
   traceCall  = n : f : a : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
   traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
@@ -70,7 +62,7 @@ rec {
 
       then [ { inherit name; expected = test.expected; result = test.expr; } ]
       else [] ) tests));
-  
+
   # create a test assuming that list elements are true
   # usage: { testX = allTrue [ true ]; }
   testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
@@ -109,10 +101,10 @@ rec {
       let nr = a;
       in (str: expr:
           if isFunction expr then
-            (arg: 
+            (arg:
               traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
             )
-          else 
+          else
             let r = strict expr;
             in builtins.trace "${str}\n result:\n${builtins.toXML r}" r
       );
diff --git a/lib/licenses.nix b/lib/licenses.nix
index dadb9b07a08e7..35fcbd072af1d 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -25,7 +25,7 @@ rec {
     shortName = "amd";
     fullName = "AMD License Agreement";
     url = http://developer.amd.com/amd-license-agreement/;
-  };#
+  };
 
   apsl20 = spdx {
     shortName = "APSL-2.0";
@@ -82,6 +82,11 @@ rec {
     fullName = "Common Development and Distribution License 1.0";
   };
 
+  cecill-b = spdx {
+    shortName = "CECILL-B";
+    fullName  = "CeCILL-B Free Software License Agreement";
+  };
+
   cecill-c = spdx {
     shortName = "CECILL-C";
     fullName  = "CeCILL-C Free Software License Agreement";
@@ -182,6 +187,11 @@ rec {
     fullName = "GNU Lesser General Public License v3.0 or later";
   };
 
+  libpng = spdx {
+    shortName = "Libpng";
+    fullName = "libpng License";
+  };
+
   libtiff = {
     shortName = "libtiff";
     fullName = "libtiff license";
@@ -292,4 +302,3 @@ rec {
   };
 
 }
-
diff --git a/lib/lists.nix b/lib/lists.nix
index af70faacbcd7f..566ee89c95bcb 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -2,13 +2,7 @@
 
 with import ./trivial.nix;
 
-let
-
-  inc = builtins.add 1;
-
-  dec = n: builtins.sub n 1;
-
-in rec {
+rec {
 
   inherit (builtins) head tail length isList elemAt concatLists filter elem;
 
@@ -29,7 +23,7 @@ in rec {
       fold' = n:
         if n == len
         then nul
-        else op (elemAt list n) (fold' (inc n));
+        else op (elemAt list n) (fold' (n + 1));
     in fold' 0;
 
   # Left fold: `fold op nul [x_1 x_2 ... x_n] == op (... (op (op nul
@@ -38,12 +32,10 @@ in rec {
     let
       len = length list;
       foldl' = n:
-        if n == minus1
+        if n == -1
         then nul
-        else op (foldl' (dec n)) (elemAt list n);
-    in foldl' (dec (length list));
-
-  minus1 = dec 0;
+        else op (foldl' (n - 1)) (elemAt list n);
+    in foldl' (length list - 1);
 
 
   # map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] ==
@@ -54,7 +46,7 @@ in rec {
       imap' = n:
         if n == len
           then []
-          else [ (f (inc n) (elemAt list n)) ] ++ imap' (inc n);
+          else [ (f (n + 1) (elemAt list n)) ] ++ imap' (n + 1);
     in imap' 0;
 
 
@@ -104,7 +96,7 @@ in rec {
 
   # Count how many times function `pred' returns true for the elements
   # of `list'.
-  count = pred: fold (x: c: if pred x then inc c else c) 0;
+  count = pred: fold (x: c: if pred x then c + 1 else c) 0;
 
 
   # Return a singleton list or an empty list, depending on a boolean
@@ -125,9 +117,9 @@ in rec {
 
   # Return a list of integers from `first' up to and including `last'.
   range = first: last:
-    if lessThan last first
+    if last < first
     then []
-    else [first] ++ range (add first 1) last;
+    else [first] ++ range (first + 1) last;
 
 
   # Partition the elements of a list in two lists, `right' and
@@ -144,11 +136,11 @@ in rec {
     let
       len1 = length fst;
       len2 = length snd;
-      len = if lessThan len1 len2 then len1 else len2;
+      len = if len1 < len2 then len1 else len2;
       zipListsWith' = n:
         if n != len then
           [ (f (elemAt fst n) (elemAt snd n)) ]
-          ++ zipListsWith' (inc n)
+          ++ zipListsWith' (n + 1)
         else [];
     in zipListsWith' 0;
 
@@ -167,7 +159,7 @@ in rec {
     let
       len = length list;
       first = head list;
-      pivot' = n: acc@{ left, right }: let el = elemAt list n; next = pivot' (inc n); in
+      pivot' = n: acc@{ left, right }: let el = elemAt list n; next = pivot' (n + 1); in
         if n == len
           then acc
         else if strictLess first el
@@ -176,7 +168,7 @@ in rec {
           next { left = [ el ] ++ left; inherit right; };
       pivot = pivot' 1 { left = []; right = []; };
     in
-      if lessThan len 2 then list
+      if len < 2 then list
       else (sort strictLess pivot.left) ++  [ first ] ++  (sort strictLess pivot.right);
 
 
@@ -188,7 +180,7 @@ in rec {
         if n == len || n == count
           then []
         else
-          [ (elemAt list n) ] ++ take' (inc n);
+          [ (elemAt list n) ] ++ take' (n + 1);
     in take' 0;
 
 
@@ -197,16 +189,16 @@ in rec {
     let
       len = length list;
       drop' = n:
-        if n == minus1 || lessThan n count
+        if n == -1 || n < count
           then []
         else
-          drop' (dec n) ++ [ (elemAt list n) ];
-    in drop' (dec len);
+          drop' (n - 1) ++ [ (elemAt list n) ];
+    in drop' (len - 1);
 
 
   # Return the last element of a list.
   last = list:
-    assert list != []; elemAt list (dec (length list));
+    assert list != []; elemAt list (length list - 1);
 
 
   # Return all elements but the last
@@ -218,11 +210,11 @@ in rec {
     let
       len1 = length xs;
       len2 = length ys;
-      len = if lessThan len1 len2 then len1 else len2;
+      len = if len1 < len2 then len1 else len2;
       zipTwoLists' = n:
         if n != len then
           [ { first = elemAt xs n; second = elemAt ys n; } ]
-          ++ zipTwoLists' (inc n)
+          ++ zipTwoLists' (n + 1)
         else [];
     in zipTwoLists' 0;
 
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index d5e6a52c7674f..7c75bfdc0c670 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -10,6 +10,7 @@
   akc = "Anders Claesson <akc@akc.is>";
   algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
   all = "Nix Committers <nix-commits@lists.science.uu.nl>";
+  abbradar = "Nikolay Amiantov <ab@fmap.me>";
   amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
   amorsillo = "Andrew Morsillo <andrew.morsillo@gmail.com>";
   AndersonTorres = "Anderson Torres <torres.anderson.85@gmail.com>";
@@ -33,6 +34,7 @@
   bosu = "Boris Sukholitko <boriss@gmail.com>";
   calrama = "Moritz Maxeiner <moritz@ucworks.org>";
   campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
+  cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
   cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
@@ -42,10 +44,12 @@
   DamienCassou = "Damien Cassou <damien.cassou@gmail.com>";
   DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
   dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
+  dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
   doublec = "Chris Double <chris.double@double.co.nz>";
   ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
   edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
   eelco = "Eelco Dolstra <eelco.dolstra@logicblox.com>";
+  ellis = "Ellis Whitehead <nixos@ellisw.net>";
   emery = "Emery Hemingway <emery@vfemail.net>";
   ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
   falsifian = "James Cook <james.cook@utoronto.ca>";
@@ -80,12 +84,14 @@
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
   matejc = "Matej Cotman <cotman.matej@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
+  michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mornfall = "Petr Ročkai <me@mornfall.net>";
   MP2E = "Cray Elliott <MP2E@archlinux.us>";
   msackman = "Matthew Sackman <matthew@wellquite.org>";
   nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
   notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
+  nslqqq = "Nikita Mikhailov <nslqqq@gmail.com>";
   ocharles = "Oliver Charles <ollie@ocharles.org.uk>";
   offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
   orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
@@ -110,6 +116,7 @@
   rszibele = "Richard Szibele <richard_szibele@hotmail.com>";
   rycee = "Robert Helgesson <robert@rycee.net>";
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
+  sepi = "Raffael Mancini <raffael@mancini.lu>";
   shlevy = "Shea Levy <shea@shealevy.com>";
   simons = "Peter Simons <simons@cryp.to>";
   skeidel = "Sven Keidel <svenkeidel@gmail.com>";
@@ -125,6 +132,7 @@
   tv = "Tomislav Viljetić <tv@shackspace.de>";
   urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
   vandenoever = "Jos van den Oever <jos@vandenoever.info>";
+  vbgl = "Vincent Laporte <Vincent.Laporte@gmail.com>";
   vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>";
   vcunat = "Vladimír Čunát <vcunat@gmail.com>";
   viric = "Lluís Batlle i Rossell <viric@viric.name>";
@@ -135,6 +143,8 @@
   wjlroe = "William Roe <willroe@gmail.com>";
   wkennington = "William A. Kennington III <william@wkennington.com>";
   wmertens = "Wout Mertens <Wout.Mertens@gmail.com>";
+  wyvie = "Elijah Rum <elijahrum@gmail.com>";
+  yarr = "Dmitry V. <savraz@gmail.com>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
   zef = "Zef Hemel <zef@zef.me>";
   zimbatm = "zimbatm <zimbatm@zimbatm.com>";
diff --git a/lib/misc.nix b/lib/misc.nix
index c128b9af9d8c7..fd20ce25010c4 100644
--- a/lib/misc.nix
+++ b/lib/misc.nix
@@ -1,5 +1,5 @@
 let lib = import ./default.nix;
-    inherit (builtins) isFunction hasAttr getAttr head tail isList isAttrs isInt attrNames;
+    inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
 
 in
 
@@ -61,7 +61,7 @@ rec {
         fun = n : x :
              let newArgs = fixed :
                      let args = takeFixed fixed; 
-                         mergeFun = getAttr n args;
+                         mergeFun = args.${n};
                      in if isAttrs x then (mergeFun args x)
                         else assert isFunction x;
                              mergeFun args (x ( args // { inherit fixed; }));
@@ -102,15 +102,12 @@ rec {
   # }
   composedArgsAndFun = f: foldArgs defaultMerge f {};
 
-  
+
   # shortcut for attrByPath ["name"] default attrs
-  maybeAttrNullable = name: default: attrs:
-    if attrs == null then default else 
-    if __hasAttr name attrs then (__getAttr name attrs) else default;
+  maybeAttrNullable = maybeAttr;
 
   # shortcut for attrByPath ["name"] default attrs
-  maybeAttr = name: default: attrs:
-    if __hasAttr name attrs then (__getAttr name attrs) else default;
+  maybeAttr = name: default: attrs: attrs.${name} or default;
 
 
   # Return the second argument if the first one is true or the empty version
@@ -233,7 +230,7 @@ rec {
   closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
 
   # calls a function (f attr value ) for each record item. returns a list
-  mapAttrsFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r);
+  mapAttrsFlatten = f : r : map (attr: f attr r.${attr}) (attrNames r);
 
   # attribute set containing one attribute
   nvs = name : value : listToAttrs [ (nameValuePair name value) ];
@@ -250,10 +247,10 @@ rec {
   # merge attributes with custom function handling the case that the attribute
   # exists in both sets
   mergeAttrsWithFunc = f : set1 : set2 :
-    fold (n: set : if (__hasAttr n set) 
-                        then setAttr set n (f (__getAttr n set) (__getAttr n set2))
+    fold (n: set : if set ? ${n}
+                        then setAttr set n (f set.${n} set2.${n})
                         else set )
-           (set2 // set1) (__attrNames set2);
+           (set2 // set1) (attrNames set2);
 
   # merging two attribute set concatenating the values of same attribute names
   # eg { a = 7; } {  a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
@@ -270,15 +267,15 @@ rec {
                            overrideSnd ? [ "buildPhase" ]
                          } : attrs1 : attrs2 :
     fold (n: set : 
-        setAttr set n ( if (__hasAttr n set) 
+        setAttr set n ( if set ? ${n}
             then # merge 
               if elem n mergeLists # attribute contains list, merge them by concatenating
-                then (__getAttr n attrs2) ++ (__getAttr n attrs1)
+                then attrs2.${n} ++ attrs1.${n}
               else if elem n overrideSnd
-                then __getAttr n attrs1
+                then attrs1.${n}
               else throw "error mergeAttrsNoOverride, attribute ${n} given in both attributes - no merge func defined"
-            else __getAttr n attrs2 # add attribute not existing in attr1
-           )) attrs1 (__attrNames attrs2);
+            else attrs2.${n} # add attribute not existing in attr1
+           )) attrs1 (attrNames attrs2);
 
 
   # example usage:
@@ -300,14 +297,14 @@ rec {
     fold lib.mergeAttrs {} [
       x y
       (mapAttrs ( a : v : # merge special names using given functions
-          if (hasAttr a x)
-             then if (hasAttr a y)
-               then v (getAttr a x) (getAttr a y) # both have attr, use merge func
-               else (getAttr a x) # only x has attr
-             else (getAttr a y) # only y has attr)
+          if x ? ${a}
+             then if y ? ${a}
+               then v x.${a} y.${a} # both have attr, use merge func
+               else x.${a} # only x has attr
+             else y.${a} # only y has attr)
           ) (removeAttrs mergeAttrBy2
                          # don't merge attrs which are neither in x nor y
-                         (filter (a : (! hasAttr a x) && (! hasAttr a y) )
+                         (filter (a: ! x ? ${a} && ! y ? ${a})
                                  (attrNames mergeAttrBy2))
             )
       )
@@ -403,7 +400,7 @@ rec {
                           // args2.cfg;
         opts = attrValues (mapAttrs (a : v :
                 let v2 = if v ? set || v ? unset then v else { set = v; };
-                    n = if (getAttr (flagName a) cfgWithDefaults) then "set" else "unset";
+                    n = if cfgWithDefaults.${flagName a} then "set" else "unset";
                     attr = maybeAttr n {} v2; in
                 if (maybeAttr "assertion" true attr)
                   then attr
diff --git a/lib/modules.nix b/lib/modules.nix
index 1d428311cd192..8af08522051f1 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -30,7 +30,7 @@ rec {
         if check && set ? _definedNames then
           fold (m: res:
             fold (name: res:
-              if hasAttr name set then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
+              if set ? ${name} then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
               res m.names)
             res set._definedNames
         else
@@ -94,22 +94,22 @@ rec {
           loc = prefix ++ [name];
           # Get all submodules that declare ‘name’.
           decls = concatLists (map (m:
-            if hasAttr name m.options
-              then [ { inherit (m) file; options = getAttr name m.options; } ]
+            if m.options ? ${name}
+              then [ { inherit (m) file; options = m.options.${name}; } ]
               else []
             ) options);
           # Get all submodules that define ‘name’.
           defns = concatLists (map (m:
-            if hasAttr name m.config
+            if m.config ? ${name}
               then map (config: { inherit (m) file; inherit config; })
-                (pushDownProperties (getAttr name m.config))
+                (pushDownProperties m.config.${name})
               else []
             ) configs);
           nrOptions = count (m: isOption m.options) decls;
           # Process mkMerge and mkIf properties.
           defns' = concatMap (m:
-            if hasAttr name m.config
-              then map (m': { inherit (m) file; value = m'; }) (dischargeProperties (getAttr name m.config))
+            if m.config ? ${name}
+              then map (m': { inherit (m) file; value = m'; }) (dischargeProperties m.config.${name})
               else []
             ) configs;
         in
@@ -278,7 +278,7 @@ rec {
     let
       defaultPrio = 100;
       getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
-      min = x: y: if builtins.lessThan x y then x else y;
+      min = x: y: if x < y then x else y;
       highestPrio = fold (def: prio: min (getPrio def) prio) 9999 defs;
       strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
     in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
diff --git a/lib/options.nix b/lib/options.nix
index 71e02db58f69e..ecbd81cd997f1 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -80,9 +80,9 @@ rec {
           internal = opt.internal or false;
           visible = opt.visible or true;
         }
-        // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
-        // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
-        // optionalAttrs (opt ? defaultText) { default = opt.defaultText; };
+        // (if opt ? example then { example = scrubOptionValue opt.example; } else {})
+        // (if opt ? default then { default = scrubOptionValue opt.default; } else {})
+        // (if opt ? defaultText then { default = opt.defaultText; } else {});
 
         subOptions =
           let ss = opt.type.getSubOptions opt.loc;
diff --git a/lib/platforms.nix b/lib/platforms.nix
index 067670c6b3e71..93ede5cef0843 100644
--- a/lib/platforms.nix
+++ b/lib/platforms.nix
@@ -2,7 +2,7 @@ let lists = import ./lists.nix; in
 
 rec {
   gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
-  linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
+  linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "mips64el-linux"];
   darwin = ["x86_64-darwin"];
   freebsd = ["i686-freebsd" "x86_64-freebsd"];
   openbsd = ["i686-openbsd" "x86_64-openbsd"];
diff --git a/lib/strings-with-deps.nix b/lib/strings-with-deps.nix
index 3ad3e5991506c..bdcc25cbd20cc 100644
--- a/lib/strings-with-deps.nix
+++ b/lib/strings-with-deps.nix
@@ -62,8 +62,8 @@ rec {
             in { result = x.result ++ [entry.text] ++ y.result;
                  done = y.done;
                }
-          else if hasAttr entry done then f done (tail todo)
-          else f (done // listToAttrs [{name = entry; value = 1;}]) ([(builtins.getAttr entry predefined)] ++ tail todo);
+          else if done ? ${entry} then f done (tail todo)
+          else f (done // listToAttrs [{name = entry; value = 1;}]) ([predefined.${entry}] ++ tail todo);
     in (f {} arg).result;
 
   textClosureMap = f: predefined: names:
diff --git a/lib/strings.nix b/lib/strings.nix
index 31b0f56e09b06..56d990de62da1 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -2,7 +2,7 @@
 
 let lib = import ./default.nix;
 
-inherit (builtins) add sub lessThan length;
+inherit (builtins) length;
 
 in
 
@@ -79,7 +79,7 @@ rec {
   stringToCharacters = s: let l = stringLength s; in
     if l == 0
     then []
-    else map (p: substring p 1 s) (lib.range 0 (sub l 1));
+    else map (p: substring p 1 s) (lib.range 0 (l - 1));
 
 
   # Manipulate a string charcater by character and replace them by strings
@@ -123,7 +123,7 @@ rec {
   toUpper = replaceChars lowerChars upperChars;
 
   # Appends string context from another string
-  addContextFrom = a: b: (substring 0 0 a)+b;
+  addContextFrom = a: b: substring 0 0 a + b;
 
   # Compares strings not requiring context equality
   # Obviously, a workaround but works on all Nix versions
@@ -139,18 +139,18 @@ rec {
       s = addContextFrom _sep _s;
       sepLen = stringLength sep;
       sLen = stringLength s;
-      lastSearch = sub sLen sepLen;
+      lastSearch = sLen - sepLen;
       startWithSep = startAt:
         substring startAt sepLen s == sep;
 
       recurse = index: startAt:
-        let cutUntil = i: [(substring startAt (sub i startAt) s)]; in
-        if lessThan index lastSearch then
+        let cutUntil = i: [(substring startAt (i - startAt) s)]; in
+        if index < lastSearch then
           if startWithSep index then
-            let restartAt = add index sepLen; in
+            let restartAt = index + sepLen; in
             cutUntil index ++ recurse restartAt restartAt
           else
-            recurse (add index 1) startAt
+            recurse (index + 1) startAt
         else
           cutUntil sLen;
     in
diff --git a/lib/systems.nix b/lib/systems.nix
index afa2002c6e4ec..25a83e9d14fa1 100644
--- a/lib/systems.nix
+++ b/lib/systems.nix
@@ -24,7 +24,7 @@ rec {
 
   isCpuType = x: isType "cpu-type" x
     && elem x.bits [8 16 32 64 128]
-    && (builtins.lessThan 8 x.bits -> isSignificantByte x.significantByte);
+    && (8 < x.bits -> isSignificantByte x.significantByte);
 
   cpuTypes = with significantBytes;
     setTypes "cpu-type" {
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
new file mode 100755
index 0000000000000..5b0ef380f9af7
--- /dev/null
+++ b/maintainers/scripts/travis-nox-review-pr.sh
@@ -0,0 +1,29 @@
+#! /usr/bin/env bash
+set -e
+
+# Install Nix
+bash <(curl https://nixos.org/nix/install)
+source $HOME/.nix-profile/etc/profile.d/nix.sh
+
+# Make sure we can use hydra's binary cache
+sudo mkdir /etc/nix
+sudo tee /etc/nix/nix.conf <<EOF
+binary-caches = http://cache.nixos.org http://hydra.nixos.org
+trusted-binary-caches = http://hydra.nixos.org
+build-max-jobs = 4
+EOF
+
+if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
+    echo "Not a pull request, checking evaluation"
+    nix-build pkgs/top-level/release.nix -A tarball
+    exit 0
+fi
+
+echo "Installing nox"
+git clone https://github.com/madjar/nox
+pip --quiet install -e nox
+
+echo "Reviewing PR"
+# The current HEAD is the PR merged into origin/master, so we compare
+# against origin/master
+nox-review wip --against origin/master
diff --git a/maintainers/scripts/vanity-manual-equalities.txt b/maintainers/scripts/vanity-manual-equalities.txt
new file mode 100644
index 0000000000000..392ff266e1ae9
--- /dev/null
+++ b/maintainers/scripts/vanity-manual-equalities.txt
@@ -0,0 +1,3 @@
+viric	viriketo@gmail.com
+Pjotr Prins	pjotr.public01@thebird.nl
+Pjotr Prins	pjotr.public05@thebird.nl
diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh
new file mode 100755
index 0000000000000..48c7d6dbef6b9
--- /dev/null
+++ b/maintainers/scripts/vanity.sh
@@ -0,0 +1,65 @@
+#! /bin/sh
+
+export LANG=C LC_ALL=C LC_COLLATE=C
+
+# Load git log
+git_data="$(git log | grep 'Author:' | 
+  sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//; 
+  s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
+
+# Name - nick - email correspondence from log and from maintainer list
+# Also there are a few manual entries
+maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" | 
+  grep '=' | sed -re 's/\\"/''/g;
+  s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
+git_lines="$( ( echo "$git_data"; 
+  cat vanity-manual-equalities.txt) | sort |uniq)"
+
+# For RDF
+normalize_name () {
+	sed -e 's/ /_/g; s/'\''/*/g; s/"/**/g;'
+}
+
+denormalize_name () {
+	sed -e 's/_/ /g; s/[*][*]/"/g; s/[*]/'\''/g;'
+}
+
+n3="$(mktemp --suffix .n3)"
+
+# «The same person» relation and a sorting hint
+# Full name is something with a space
+(
+echo "$git_lines" | sed -re 's@(.*)\t(.*)@<my://name/\1>	<my://can-be>	<my://name/\2>.@'
+echo "$git_lines" | sed -re 's@(.*)\t(.*)@<my://name/\2>	<my://can-be>	<my://name/\1>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\1>	<my://can-be>	<my://name/\2>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\2>	<my://can-be>	<my://name/\3>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\3>	<my://can-be>	<my://name/\1>.@'
+echo "$git_lines" | grep ' ' | cut -f 1 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://0>.@'
+echo "$git_lines" | grep -v ' ' | cut -f 1 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://1>.@'
+echo "$maintainers" | cut -f 2 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://0>.@'
+) | normalize_name | grep -E '<my://[-a-z]+>' | sort | uniq > "$n3"
+
+# Get transitive closure
+sparql="$(nix-build '<nixpkgs>' -Q -A apache-jena --no-out-link)/bin/sparql"
+name_list="$(
+	"$sparql" --results=TSV --data="$n3" "
+	select ?x ?y ?g where {
+	  ?x <my://can-be>+ ?y.
+	  ?x <my://is-name> ?g.
+        }
+	" | tail -n +2 | 
+	sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' | 
+	sort -k 2,3 -t '	'
+)"
+
+# Take first spelling option for every person
+name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
+
+cleaner_script="$(echo "$name_list_canonical" | denormalize_name | 
+  sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')"
+
+echo "$name_list" | denormalize_name
+
+echo
+
+echo "$git_data" | cut -f 1 | sed -re "$cleaner_script" | sort | uniq -c | sort -k1n
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index 4008e89fceac2..95e66f0c70c01 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -73,6 +73,25 @@ hardware.opengl.driSupport32Bit = true;
 
 </simplesect>
 
+<simplesect><title>AMD Graphics Cards</title>
+
+<para>AMD provides a proprietary driver for its graphics cards that
+has better 3D performance than the X.org drivers.  It is not enabled
+by default because it’s not free software.  You can enable it as follows:
+<programlisting>
+services.xserver.videoDrivers = [ "ati_unfree" ];
+</programlisting>
+You will need to reboot after enabling this driver to prevent a clash
+with other kernel modules.</para>
+
+<para>On 64-bit systems, if you want full acceleration for 32-bit
+programs such as Wine, you should also set the following:
+<programlisting>
+hardware.opengl.driSupport32Bit = true;
+</programlisting>
+</para>
+
+</simplesect>
 
 <simplesect><title>Touchpads</title>
 
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index e2bd3393d8728..85c2bfa88e1a4 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -482,7 +482,7 @@ sub screenshot {
     my $name = basename($filename);
     $self->nest("making screenshot ‘$name’", sub {
         $self->sendMonitorCommand("screendump $tmp");
-        system("convert $tmp ${filename}") == 0
+        system("pnmtopng $tmp > ${filename}") == 0
             or die "cannot convert screenshot";
         unlink $tmp;
     }, { image => $name } );
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 75e9c39777633..73b55ed6c060f 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -27,7 +27,7 @@ rec {
         cp ${./test-driver/Logger.pm} $libDir/Logger.pm
 
         wrapProgram $out/bin/nixos-test-driver \
-          --prefix PATH : "${pkgs.qemu_kvm}/bin:${pkgs.vde2}/bin:${imagemagick}/bin:${coreutils}/bin" \
+          --prefix PATH : "${qemu_kvm}/bin:${vde2}/bin:${netpbm}/bin:${coreutils}/bin" \
           --prefix PERL5LIB : "${lib.makePerlPath [ perlPackages.TermReadLineGnu perlPackages.XMLWriter perlPackages.IOTty ]}:$out/lib/perl5/site_perl"
       '';
   };
@@ -41,7 +41,7 @@ rec {
 
       requiredSystemFeatures = [ "kvm" "nixos-test" ];
 
-      buildInputs = [ pkgs.libxslt ];
+      buildInputs = [ libxslt ];
 
       buildCommand =
         ''
@@ -153,7 +153,7 @@ rec {
         startAll;
         $client->waitForUnit("multi-user.target");
         ${preBuild}
-        $client->succeed("env -i ${pkgs.bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2");
+        $client->succeed("env -i ${bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2");
         ${postBuild}
         $client->succeed("sync"); # flush all data before pulling the plug
       '';
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index cf70ca264d6aa..7516d7ddf1a6a 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -47,11 +47,6 @@ with lib;
         </fontconfig>
       '';
 
-    # FIXME: This variable is no longer needed, but we'll keep it
-    # around for a while for applications linked against old
-    # fontconfig builds.
-    environment.variables.FONTCONFIG_FILE = "/etc/fonts/fonts.conf";
-
     environment.systemPackages = [ pkgs.fontconfig ];
 
   };
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 297b3a82d6c19..737f0abc52f0c 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, pkgs_i686, ... }:
 
 with pkgs;
 with lib;
@@ -10,6 +10,10 @@ let
   systemWide = cfg.enable && cfg.systemWide;
   nonSystemWide = cfg.enable && !cfg.systemWide;
 
+  # Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps
+  # using 32bit alsa on 64bit linux.
+  enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null);
+
   ids = config.ids;
 
   uid = ids.uids.pulseaudio;
@@ -28,21 +32,25 @@ let
   # Write an /etc/asound.conf that causes all ALSA applications to
   # be re-routed to the PulseAudio server through ALSA's Pulse
   # plugin.
-  alsaConf = writeText "asound.conf" ''
+  alsaConf = writeText "asound.conf" (''
     pcm_type.pulse {
-      lib ${alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so
+      libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
+      ${lib.optionalString enable32BitAlsaPlugins
+     "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"}
     }
     pcm.!default {
       type pulse
       hint.description "Default Audio Device (via PulseAudio)"
     }
     ctl_type.pulse {
-      lib ${alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so
+      libs.native = ${alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;
+      ${lib.optionalString enable32BitAlsaPlugins
+     "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"}
     }
     ctl.!default {
       type pulse
     }
-  '';
+  '');
 
 in {
 
@@ -116,7 +124,10 @@ in {
     }
 
     (mkIf cfg.enable {
-      environment.systemPackages = [ cfg.package ];
+      environment.systemPackages = [
+        cfg.package
+        (lib.optional enable32BitAlsaPlugins pkgs_i686.pulseaudio)
+      ];
 
       environment.etc = singleton {
         target = "asound.conf";
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 7d0498c10cc5c..0d3273fe05392 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -310,9 +310,9 @@ let
       }) cfg.extraUsers;
     groups = mapAttrsToList (n: g:
       { inherit (g) name gid;
-        members = mapAttrsToList (n: u: u.name) (
+        members = g.members ++ (mapAttrsToList (n: u: u.name) (
           filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers
-        );
+        ));
       }) cfg.extraGroups;
   });
 
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index f894c830eb6c6..1777c200dd118 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -46,7 +46,8 @@ in
       description = ''
         On 64-bit systems, whether to support Direct Rendering for
         32-bit applications (such as Wine).  This is currently only
-        supported for the <literal>nvidia</literal> driver and for
+        supported for the <literal>nvidia</literal> and 
+        <literal>ati_unfree</literal> drivers, as well as
         <literal>Mesa</literal>.
       '';
     };
@@ -104,22 +105,9 @@ in
     environment.sessionVariables.LD_LIBRARY_PATH =
       [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ];
 
-    # FIXME: move this into card-specific modules.
-    hardware.opengl.package = mkDefault
-      (if elem "ati_unfree" videoDrivers then
-        kernelPackages.ati_drivers_x11
-      else
-        makePackage pkgs);
-
+    hardware.opengl.package = mkDefault (makePackage pkgs);
     hardware.opengl.package32 = mkDefault (makePackage pkgs_i686);
 
-    boot.extraModulePackages =
-      optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions ++
-      optional (elem "ati_unfree" videoDrivers) kernelPackages.ati_drivers_x11;
-
-    environment.etc =
-      optionalAttrs (elem "ati_unfree" videoDrivers) {
-        "ati".source = "${kernelPackages.ati_drivers_x11}/etc/ati";
-      };
+    boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
   };
 }
diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix
new file mode 100644
index 0000000000000..033e49d2233ed
--- /dev/null
+++ b/nixos/modules/hardware/video/ati.nix
@@ -0,0 +1,37 @@
+# This module provides the proprietary ATI X11 / OpenGL drivers.
+
+{ config, lib, pkgs, pkgs_i686, ... }:
+
+with lib;
+
+let
+
+  drivers = config.services.xserver.videoDrivers;
+
+  enabled = elem "ati_unfree" drivers;
+
+  ati_x11 = config.boot.kernelPackages.ati_drivers_x11;
+
+in
+
+{
+
+  config = mkIf enabled {
+
+    services.xserver.drivers = singleton
+      { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };
+
+    hardware.opengl.package = ati_x11;
+    hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; };
+
+    environment.systemPackages = [ ati_x11 ];
+
+    boot.extraModulePackages = [ ati_x11 ];
+
+    boot.blacklistedKernelModules = [ "radeon" ];
+
+    environment.etc."ati".source = "${ati_x11}/etc/ati";
+
+  };
+
+}
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index cdce7d1a893ec..fa51f831481a8 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -82,7 +82,7 @@
       statsd = 69;
       transmission = 70;
       postgres = 71;
-      smbguest = 74;
+      smbguest = 74;  # unused
       varnish = 75;
       datadog = 76;
       lighttpd = 77;
@@ -150,8 +150,10 @@
       zookeeper = 140;
       dnsmasq = 141;
       uhub = 142;
-      yandexdisk=143;
-      collectd=144;
+      yandexdisk = 143;
+      collectd = 144;
+      consul = 145;
+      mailpile = 146;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -220,7 +222,7 @@
       postgres = 71;
       vboxusers = 72;
       vboxsf = 73;
-      smbguest = 74;
+      smbguest = 74;  # unused
       varnish = 75;
       datadog = 76;
       lighttpd = 77;
@@ -272,6 +274,7 @@
       riemann = 137;
       riemanndash = 138;
       uhub = 142;
+      mailpile = 146;
 
       # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 25827656608db..3db44a4d8de51 100755
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -38,6 +38,7 @@
   ./hardware/pcmcia.nix
   ./hardware/video/bumblebee.nix
   ./hardware/video/nvidia.nix
+  ./hardware/video/ati.nix
   ./installer/tools/nixos-checkout.nix
   ./installer/tools/tools.nix
   ./misc/assertions.nix
@@ -142,6 +143,7 @@
   ./services/hardware/udev.nix
   ./services/hardware/udisks2.nix
   ./services/hardware/upower.nix
+  ./services/hardware/thermald.nix
   ./services/logging/klogd.nix
   ./services/logging/logcheck.nix
   ./services/logging/logrotate.nix
@@ -157,6 +159,7 @@
   ./services/mail/postfix.nix
   ./services/mail/spamassassin.nix
   #./services/misc/autofs.nix
+  ./services/misc/cpuminer-cryptonight.nix
   ./services/misc/cgminer.nix
   ./services/misc/dictd.nix
   ./services/misc/disnix.nix
@@ -211,6 +214,7 @@
   ./services/networking/cjdns.nix
   ./services/networking/cntlm.nix
   ./services/networking/connman.nix
+  ./services/networking/consul.nix
   ./services/networking/ddclient.nix
   ./services/networking/dhcpcd.nix
   ./services/networking/dhcpd.nix
@@ -229,6 +233,7 @@
   ./services/networking/iodined.nix
   ./services/networking/ircd-hybrid/default.nix
   ./services/networking/kippo.nix
+  ./services/networking/mailpile.nix
   ./services/networking/minidlna.nix
   ./services/networking/murmur.nix
   ./services/networking/nat.nix
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index 623a428fc1a67..d79aff5dc5532 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -45,7 +45,6 @@ in
         PKG_CONFIG_PATH = [ "/lib/pkgconfig" ];
         TERMINFO_DIRS = [ "/share/terminfo" ];
         PERL5LIB = [ "/lib/perl5/site_perl" ];
-        ALSA_PLUGIN_DIRS = [ "/lib/alsa-lib" ];
         KDEDIRS = [ "" ];
         STRIGI_PLUGIN_PATH = [ "/lib/strigi/" ];
         QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ];
diff --git a/nixos/modules/programs/uim.nix b/nixos/modules/programs/uim.nix
index 237da3415dc38..fc25ba6f9694c 100644
--- a/nixos/modules/programs/uim.nix
+++ b/nixos/modules/programs/uim.nix
@@ -1,6 +1,6 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
-with pkgs.lib;
+with lib;
 
 let
   cfg = config.uim;
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 0ee2caa28ea46..019fbc721b177 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -129,5 +129,6 @@ in zipModules ([]
 ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ]
 ++ obsolete' [ "boot" "initrd" "luks" "enable" ]
 ++ obsolete' [ "programs" "bash" "enable" ]
+++ obsolete' [ "services" "samba" "defaultShare" ]
 
 )
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 53542e34b14b8..e6b525c4b1ba9 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -16,52 +16,76 @@ let
     sticker_file        "${cfg.dataDir}/sticker.sql"
     log_file            "syslog"
     user                "mpd"
+    ${if cfg.network.host != "any" then
+   "bind_to_address     ${cfg.network.host}" else ""}
+    ${if cfg.network.port != 6600 then
+   "port                ${toString cfg.network.port}" else ""}
     ${cfg.extraConfig}
-  ''; 
+  '';
 
 in {
 
   ###### interface
 
-  options = { 
+  options = {
 
-    services.mpd = { 
+    services.mpd = {
 
       enable = mkOption {
         default = false;
         description = ''
           Whether to enable MPD, the music player daemon.
-        ''; 
-      };  
+        '';
+      };
 
       musicDirectory = mkOption {
         default = "${cfg.dataDir}/music";
         description = ''
           Extra configuration added to the end of MPD's
           configuration file, mpd.conf.
-        ''; 
-      };  
+        '';
+      };
 
       extraConfig = mkOption {
-        default = ""; 
+        default = "";
         description = ''
           Extra directives added to to the end of MPD's configuration file,
           mpd.conf. Basic configuration like file location and uid/gid
           is added automatically to the beginning of the file.
-        ''; 
-      };  
+        '';
+      };
 
       dataDir = mkOption {
         default = "/var/lib/mpd";
         description = ''
           The directory where MPD stores its state, tag cache,
           playlists etc.
-        ''; 
-      };  
-
-    };  
+        '';
+      };
+
+      network = {
+
+        host = mkOption {
+          default = "any";
+          description = ''
+            This setting sets the address for the daemon to listen on. Careful attention
+            should be paid if this is assigned to anything other then the default, any.
+            This setting can deny access to control of the daemon.
+          '';
+        };
+
+        port = mkOption {
+          default = 6600;
+          description = ''
+            This setting is the TCP port that is desired for the daemon to get assigned
+            to.
+          '';
+        };
+
+      };
+    };
 
-  };  
+  };
 
 
   ###### implementation
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 01c55479b2b4d..de14c56f79718 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -225,14 +225,14 @@ in
         # Wait for PostgreSQL to be ready to accept connections.
         postStart =
           ''
-            while ! psql postgres -c "" 2> /dev/null; do
+            while ! psql --port=${toString cfg.port} postgres -c "" 2> /dev/null; do
                 if ! kill -0 "$MAINPID"; then exit 1; fi
                 sleep 0.1
             done
 
             if test -e "${cfg.dataDir}/.first_startup"; then
               ${optionalString (cfg.initialScript != null) ''
-                cat "${cfg.initialScript}" | psql postgres
+                cat "${cfg.initialScript}" | psql --port=${toString cfg.port} postgres
               ''}
               rm -f "${cfg.dataDir}/.first_startup"
             fi
diff --git a/nixos/modules/services/misc/cpuminer-cryptonight.nix b/nixos/modules/services/misc/cpuminer-cryptonight.nix
new file mode 100644
index 0000000000000..f31526f8d1078
--- /dev/null
+++ b/nixos/modules/services/misc/cpuminer-cryptonight.nix
@@ -0,0 +1,66 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.cpuminer-cryptonight;
+
+  json = builtins.toJSON (
+    cfg // {
+       enable = null;
+       threads =
+         if cfg.threads == 0 then null else toString cfg.threads;
+    }
+  );
+
+  confFile = builtins.toFile "cpuminer.json" json;
+in
+{
+
+  options = {
+
+    services.cpuminer-cryptonight = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the cpuminer cryptonight miner.
+        '';
+      };
+      url = mkOption {
+        type = types.string;
+        description = "URL of mining server";
+      };
+      user = mkOption {
+        type = types.string;
+        description = "Username for mining server";
+      };
+      pass = mkOption {
+        type = types.string;
+        default = "x";
+        description = "Password for mining server";
+      };
+      threads = mkOption {
+        type = types.int;
+        default = 0;
+        description = "Number of miner threads, defaults to available processors";
+      };
+    };
+
+  };
+
+  config = mkIf config.services.cpuminer-cryptonight.enable {
+
+    systemd.services.cpuminer-cryptonight = {
+      description = "Cryptonight cpuminer";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.cpuminer-multi}/bin/minerd --syslog --config=${confFile}";
+        User = "nobody";
+      };
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix
index 84435f92c11d7..961af48e0f864 100644
--- a/nixos/modules/services/misc/gitolite.nix
+++ b/nixos/modules/services/misc/gitolite.nix
@@ -5,6 +5,7 @@ with lib;
 let
   cfg = config.services.gitolite;
   pubkeyFile = pkgs.writeText "gitolite-admin.pub" cfg.adminPubkey;
+  hooks = lib.concatMapStrings (hook: "${hook} ") cfg.commonHooks;
 in
 {
   options = {
@@ -30,6 +31,14 @@ in
           once, upon the first initialization of the Gitolite user.
         '';
       };
+
+      commonHooks = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = ''
+          A list of custom git hooks that get copied to <literal>~/.gitolite/hooks/common</literal>.
+        '';
+      };
     };
   };
 
@@ -57,6 +66,10 @@ in
         if [ ! -d repositories ]; then
           gitolite setup -pk ${pubkeyFile}
         fi
+        if [ -n "${hooks}" ]; then
+          cp ${hooks} .gitolite/hooks/common/
+          chmod +x .gitolite/hooks/common/*
+        fi
         gitolite setup # Upgrade if needed
       '';
     };
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index 4218b965cd9e0..fd1e83d9f3e7f 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -6,9 +6,6 @@ let
 
   cfg = config.services.samba;
 
-  user = "smbguest";
-  group = "smbguest";
-
   logDir = "/var/log/samba";
   privateDir = "/var/samba/private";
 
@@ -16,12 +13,6 @@ let
 
   setupScript =
     ''
-      if ! test -d /home/smbd ; then
-        mkdir -p /home/smbd
-        chown ${user} /home/smbd
-        chmod a+rwx /home/smbd
-      fi
-
       if ! test -d /var/samba ; then
         mkdir -p /var/samba/locks /var/samba/cores/nmbd  /var/samba/cores/smbd /var/samba/cores/winbindd
       fi
@@ -37,21 +28,15 @@ let
     '';
 
   configFile = pkgs.writeText "smb.conf"
+    (if cfg.configText != null then cfg.configText else
     ''
       [ global ]
       log file = ${logDir}/log.%m
       private dir = ${privateDir}
       ${optionalString cfg.syncPasswordsByPam "pam password change = true"}
 
-      ${if cfg.defaultShare.enable then ''
-      [default]
-      path = /home/smbd
-      read only = ${if cfg.defaultShare.writeable then "no" else "yes"}
-      guest ok = ${if cfg.defaultShare.guest then "yes" else "no"}
-      ''else ""}
-
       ${cfg.extraConfig}
-    '';
+    '');
 
   # This may include nss_ldap, needed for samba if it has to use ldap.
   nssModulesPath = config.system.nssModules.path;
@@ -149,19 +134,13 @@ in
         ";
       };
 
-      defaultShare = {
-        enable = mkOption {
-          description = "Whether to share /home/smbd as 'default'.";
-          default = false;
-        };
-        writeable = mkOption {
-          description = "Whether to allow write access to default share.";
-          default = false;
-        };
-        guest = mkOption {
-          description = "Whether to allow guest access to default share.";
-          default = true;
-        };
+      configText = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = "
+          Verbatim contents of smb.conf. If null (default), use the
+          autogenerated file from NixOS instead.
+        ";
       };
 
       securityType = mkOption {
@@ -199,14 +178,6 @@ in
 
       (mkIf config.services.samba.enable {
 
-        users.extraUsers.smbguest = {
-          description = "Samba service user";
-          group = group;
-          uid = config.ids.uids.smbguest;
-        };
-
-        users.extraGroups.smbguest.gid = config.ids.uids.smbguest;
-
         system.nssModules = optional cfg.nsswins samba;
 
         systemd = {
@@ -224,7 +195,7 @@ in
             "samba-setup" = {
               description = "Samba Setup Task";
               script = setupScript;
-              unitConfig.RequiresMountsFor = "/home/smbd /var/samba /var/log/samba";
+              unitConfig.RequiresMountsFor = "/var/samba /var/log/samba";
             };
           };
         };
diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix
index df9626d17c920..982b6ca5ea7b5 100644
--- a/nixos/modules/services/network-filesystems/yandex-disk.nix
+++ b/nixos/modules/services/network-filesystems/yandex-disk.nix
@@ -1,6 +1,6 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
-with pkgs.lib;
+with lib;
 
 let
 
diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix
index ab9f8650f0f83..47465ba948a9d 100644
--- a/nixos/modules/services/networking/atftpd.nix
+++ b/nixos/modules/services/networking/atftpd.nix
@@ -1,8 +1,8 @@
 # NixOS module for atftpd TFTP server
 
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
-with pkgs.lib;
+with lib;
 
 let
 
diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix
index 5d0e17c293e3e..7ddc9e1045e41 100644
--- a/nixos/modules/services/networking/btsync.nix
+++ b/nixos/modules/services/networking/btsync.nix
@@ -57,7 +57,7 @@ let
     ''
       {
         "device_name":     "${cfg.deviceName}",
-        "storage_path":    "/var/lib/btsync",
+        "storage_path":    "/var/lib/btsync/",
         "listening_port":  ${toString cfg.listeningPort},
         "use_gui":         false,
 
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index 0519172db9140..7192b8b7a0e05 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -190,7 +190,7 @@ in
         echo '${cjdrouteConf}' | sed \
 	  -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
           -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
-            | ${pkgs.cjdns}/sbin/cjdroute
+            | ${pkgs.cjdns}/bin/cjdroute
       '';
 
       serviceConfig = {
@@ -201,7 +201,7 @@ in
 
     system.activationScripts.cjdns = ''
       grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \
-        echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/sbin/makekey)" \
+        echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/bin/makekey)" \
 	  >> /etc/cjdns.keys
 
       grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \
diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix
new file mode 100644
index 0000000000000..ebc8368140898
--- /dev/null
+++ b/nixos/modules/services/networking/consul.nix
@@ -0,0 +1,166 @@
+{ config, lib, pkgs, utils, ... }:
+
+with lib;
+let
+
+  dataDir = "/var/lib/consul";
+  cfg = config.services.consul;
+
+  configOptions = {
+    data_dir = dataDir;
+    rejoin_after_leave = true;
+  }
+  // (if cfg.webUi then { ui_dir = "${pkgs.consul.ui}"; } else { })
+  // cfg.extraConfig;
+
+  configFiles = [ "/etc/consul.json" "/etc/consul-addrs.json" ]
+    ++ cfg.extraConfigFiles;
+
+  devices = attrValues (filterAttrs (_: i: i != null) cfg.interface);
+  systemdDevices = flip map devices
+    (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device");
+in
+{
+  options = {
+
+    services.consul = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables the consul daemon.
+        '';
+      };
+
+      webUi = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables the web interface on the consul http port.
+        '';
+      };
+
+      interface = {
+
+        advertise = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The name of the interface to pull the advertise_addr from.
+          '';
+        };
+
+        bind = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The name of the interface to pull the bind_addr from.
+          '';
+        };
+
+      };
+
+      forceIpv4 = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether we should force the interfaces to only pull ipv4 addresses.
+        '';
+      };
+
+      dropPrivileges = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether the consul agent should be run as a non-root consul user.
+        '';
+      };
+
+      extraConfig = mkOption {
+        default = { };
+        description = ''
+          Extra configuration options which are serialized to json and added
+          to the config.json file.
+        '';
+      };
+
+      extraConfigFiles = mkOption {
+        default = [ ];
+        type = types.listOf types.str;
+        description = ''
+          Additional configuration files to pass to consul
+          NOTE: These will not trigger the service to be restarted when altered.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers."consul" = {
+      description = "Consul agent daemon user";
+      uid = config.ids.uids.consul;
+    };
+
+    environment = {
+      etc."consul.json".text = builtins.toJSON configOptions;
+      systemPackages = with pkgs; [ consul ];
+    };
+
+    systemd.services.consul = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ] ++ systemdDevices;
+      bindsTo = systemdDevices;
+      restartTriggers = [ config.environment.etc."consul.json".source ];
+
+      serviceConfig = {
+        ExecStart = "@${pkgs.consul}/bin/consul consul agent"
+          + concatMapStrings (n: " -config-file ${n}") configFiles;
+        ExecStop = "${pkgs.consul}/bin/consul leave";
+        ExecReload = "${pkgs.consul}/bin/consul reload";
+        PermissionsStartOnly = true;
+        User = if cfg.dropPrivileges then "consul" else null;
+      };
+
+      path = with pkgs; [ iproute gnugrep gawk ];
+      preStart = ''
+        mkdir -m 0700 -p ${dataDir}
+        chown -R consul ${dataDir}
+
+        # Determine interface addresses
+        getAddrOnce () {
+          ip addr show dev "$1" \
+            | grep 'inet${optionalString (cfg.forceIpv4) " "}.*scope global' \
+            | awk -F '[ /\t]*' '{print $3}' | head -n 1
+        }
+        getAddr () {
+          ADDR="$(getAddrOnce $1)"
+          LEFT=60 # Die after 1 minute
+          while [ -z "$ADDR" ]; do
+            sleep 1
+            LEFT=$(expr $LEFT - 1)
+            if [ "$LEFT" -eq "0" ]; then
+              echo "Address lookup timed out"
+              exit 1
+            fi
+            ADDR="$(getAddrOnce $1)"
+          done
+          echo "$ADDR"
+        }
+        echo "{" > /etc/consul-addrs.json
+      ''
+      + concatStrings (flip mapAttrsToList cfg.interface (name: i:
+        optionalString (i != null) ''
+          echo "    \"${name}_addr\": \"$(getAddr "${i}")\"," >> /etc/consul-addrs.json
+        ''))
+      + ''
+        echo "    \"\": \"\"" >> /etc/consul-addrs.json
+        echo "}" >> /etc/consul-addrs.json
+      '';
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/mailpile.nix b/nixos/modules/services/networking/mailpile.nix
new file mode 100644
index 0000000000000..e164d41483c7f
--- /dev/null
+++ b/nixos/modules/services/networking/mailpile.nix
@@ -0,0 +1,76 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.mailpile;
+
+  hostname = cfg.hostname;
+  port = cfg.port;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.mailpile = {
+      enable = mkOption {
+        default = false;
+        description = "
+          Whether to enable Mailpile the mail client.
+        ";
+      };
+      hostname = mkOption {
+        default = "localhost";
+        description = "Listen to this hostname or ip.";
+      };
+      port = mkOption {
+        default = "33411";
+        description = "Listen on this port.";
+      };
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.mailpile.enable {
+
+    users.extraUsers.mailpile =
+      { uid = config.ids.uids.mailpile;
+        description = "Mailpile user";
+        createHome = true;
+        home = "/var/lib/mailpile";
+      };
+
+    users.extraGroups.mailpile =
+      { gid = config.ids.gids.mailpile;
+      };
+
+    systemd.services.mailpile =
+      {
+        description = "Mailpile server.";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "mailpile";
+          ExecStart = "${pkgs.mailpile}/bin/mailpile --www ${hostname}:${port} --wait";
+          # mixed - first send SIGINT to main process,
+          # then after 2min send SIGKILL to whole group if neccessary
+          KillMode = "mixed";
+          KillSignal = "SIGINT";  # like Ctrl+C - safe mailpile shutdown
+          TimeoutSec = 120;  # wait 2min untill SIGKILL
+        };
+        environment.MAILPILE_HOME = "/var/lib/mailpile/.local/share/Mailpile";
+      };
+
+    environment.systemPackages = [ pkgs.mailpile ];
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index 35e376e7b3a61..bdb79ce2a9016 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -13,38 +13,49 @@ let
   dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}";
 
   flushNat = ''
-    iptables -w -t nat -F PREROUTING
-    iptables -w -t nat -F POSTROUTING
-    iptables -w -t nat -X
+    iptables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
+    iptables -w -t nat -F nixos-nat-pre 2>/dev/null || true
+    iptables -w -t nat -X nixos-nat-pre 2>/dev/null || true
+    iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
+    iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
+    iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
   '';
 
   setupNat = ''
+    # Create subchain where we store rules
+    iptables -w -t nat -N nixos-nat-pre
+    iptables -w -t nat -N nixos-nat-post
+
     # We can't match on incoming interface in POSTROUTING, so
     # mark packets coming from the external interfaces.
     ${concatMapStrings (iface: ''
-      iptables -w -t nat -A PREROUTING \
+      iptables -w -t nat -A nixos-nat-pre \
         -i '${iface}' -j MARK --set-mark 1
     '') cfg.internalInterfaces}
 
     # NAT the marked packets.
     ${optionalString (cfg.internalInterfaces != []) ''
-      iptables -w -t nat -A POSTROUTING -m mark --mark 1 \
+      iptables -w -t nat -A nixos-nat-post -m mark --mark 1 \
         -o ${cfg.externalInterface} ${dest}
     ''}
 
     # NAT packets coming from the internal IPs.
     ${concatMapStrings (range: ''
-      iptables -w -t nat -A POSTROUTING \
+      iptables -w -t nat -A nixos-nat-post \
         -s '${range}' -o ${cfg.externalInterface} ${dest}
     '') cfg.internalIPs}
 
     # NAT from external ports to internal ports.
     ${concatMapStrings (fwd: ''
-      iptables -w -t nat -A PREROUTING \
+      iptables -w -t nat -A nixos-nat-pre \
         -i ${cfg.externalInterface} -p tcp \
         --dport ${builtins.toString fwd.sourcePort} \
         -j DNAT --to-destination ${fwd.destination}
     '') cfg.forwardPorts}
+
+    # Append our chains to the nat tables
+    iptables -w -t nat -A PREROUTING -j nixos-nat-pre
+    iptables -w -t nat -A POSTROUTING -j nixos-nat-post
   '';
 
 in
@@ -157,7 +168,7 @@ in
       extraStopCommands = flushNat;
     };
 
-    systemd.services =  mkIf (!config.networking.firewall.enable) { nat = {
+    systemd.services = mkIf (!config.networking.firewall.enable) { nat = {
       description = "Network Address Translation";
       wantedBy = [ "network.target" ];
       after = [ "network-interfaces.target" "systemd-modules-load.service" ];
diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix
index d4663781fd845..34b2fa600ad9d 100644
--- a/nixos/modules/services/web-servers/lighttpd/cgit.nix
+++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix
@@ -44,6 +44,9 @@ in
     # make the cgitrc manpage available
     environment.systemPackages = [ pkgs.cgit ];
 
+    # declare module dependencies
+    services.lighttpd.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ];
+
     services.lighttpd.extraConfig = ''
       $HTTP["url"] =~ "^/cgit" {
           cgi.assign = (
diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix
index fc9487ab4859e..06f310eeb9338 100644
--- a/nixos/modules/services/web-servers/lighttpd/default.nix
+++ b/nixos/modules/services/web-servers/lighttpd/default.nix
@@ -8,12 +8,54 @@ let
 
   cfg = config.services.lighttpd;
 
-  needModRedirect = cfg.gitweb.enable;
-  needModAlias = cfg.cgit.enable || cfg.gitweb.enable;
-  needModSetenv = cfg.cgit.enable || cfg.gitweb.enable;
-  needModCgi = cfg.cgit.enable || cfg.gitweb.enable;
-  needModStatus = cfg.mod_status;
-  needModUserdir = cfg.mod_userdir;
+  # List of known lighttpd modules, ordered by how the lighttpd documentation
+  # recommends them being imported:
+  # http://redmine.lighttpd.net/projects/1/wiki/Server_modulesDetails
+  #
+  # Some modules are always imported and should not appear in the config:
+  # disallowedModules = [ "mod_indexfile" "mod_dirlisting" "mod_staticfile" ];
+  #
+  # Get full module list: "ls -1 $lighttpd/lib/*.so"
+  allKnownModules = [
+    "mod_rewrite"
+    "mod_redirect"
+    "mod_alias"
+    "mod_access"
+    "mod_auth"
+    "mod_status"
+    "mod_simple_vhost"
+    "mod_evhost"
+    "mod_userdir"
+    "mod_secdownload"
+    "mod_fastcgi"
+    "mod_proxy"
+    "mod_cgi"
+    "mod_ssi"
+    "mod_compress"
+    "mod_usertrack"
+    "mod_expire"
+    "mod_rrdtool"
+    "mod_accesslog"
+    # Remaining list of modules, order assumed to be unimportant.
+    "mod_cml"
+    "mod_dirlisting"
+    "mod_evasive"
+    "mod_extforward"
+    "mod_flv_streaming"
+    "mod_magnet"
+    "mod_mysql_vhost"
+    "mod_rewrite"
+    "mod_scgi"
+    "mod_setenv"
+    "mod_trigger_b4_dl"
+    "mod_webdav"
+  ];
+
+  maybeModuleString = moduleName:
+    if elem moduleName cfg.enableModules then ''"${moduleName}"'' else "";
+
+  modulesIncludeString = concatStringsSep ",\n"
+    (filter (x: x != "") (map maybeModuleString allKnownModules));
 
   configFile = if cfg.configText != "" then
     pkgs.writeText "lighttpd.conf" ''
@@ -38,13 +80,7 @@ let
       # been loaded already. So if two services were to put the same module in
       # server.modules += (), that would break the lighttpd configuration.
       server.modules = (
-          ${optionalString needModRedirect ''"mod_redirect",''}
-          ${optionalString needModAlias ''"mod_alias",''}
-          ${optionalString needModSetenv ''"mod_setenv",''}
-          ${optionalString needModCgi ''"mod_cgi",''}
-          ${optionalString needModStatus ''"mod_status",''}
-          ${optionalString needModUserdir ''"mod_userdir",''}
-          "mod_accesslog"
+          ${modulesIncludeString}
       )
 
       # Logging (logs end up in systemd journal)
@@ -117,6 +153,19 @@ in
         '';
       };
 
+      enableModules = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "mod_cgi" "mod_status" ];
+        description = ''
+          List of lighttpd modules to enable. Sub-services take care of
+          enabling modules as needed, so this option is mainly for when you
+          want to add custom stuff to
+          <option>services.lighttpd.extraConfig</option> that depends on a
+          certain module.
+        '';
+      };
+
       mod_status = mkOption {
         default = false;
         type = types.uniq types.bool;
@@ -152,6 +201,26 @@ in
 
   config = mkIf cfg.enable {
 
+    assertions = [
+      { assertion = all (x: elem x allKnownModules) cfg.enableModules;
+        message = ''
+          One (or more) modules in services.lighttpd.enableModules are
+          unrecognized.
+
+          Known modules: ${toString allKnownModules}
+
+          services.lighttpd.enableModules: ${toString cfg.enableModules}
+        '';
+      }
+    ];
+
+    services.lighttpd.enableModules = mkMerge
+      [ (mkIf cfg.mod_status [ "mod_status" ])
+        (mkIf cfg.mod_userdir [ "mod_userdir" ])
+        # always load mod_accesslog so that we can log to the journal
+        [ "mod_accesslog" ]
+      ];
+
     systemd.services.lighttpd = {
       description = "Lighttpd Web Server";
       after = [ "network.target" ];
diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
index c407a1d897781..ef7072ecba3ab 100644
--- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix
+++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
@@ -44,6 +44,9 @@ in
 
   config = mkIf cfg.enable {
 
+    # declare module dependencies
+    services.lighttpd.enableModules = [ "mod_cgi" "mod_redirect" "mod_alias" "mod_setenv" ];
+
     services.lighttpd.extraConfig = ''
       $HTTP["url"] =~ "^/gitweb" {
           cgi.assign = (
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index ebdb2ad064911..43e04a3076c6f 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,7 +18,7 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if KDE is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
+    ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix
     ./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
   ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/kde4_next.nix b/nixos/modules/services/x11/desktop-managers/kde4_next.nix
new file mode 100644
index 0000000000000..568094358ba0b
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/kde4_next.nix
@@ -0,0 +1,163 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.kde4_next;
+  xorg = pkgs.xorg;
+  kde = pkgs.kde4_next;
+
+  # Disable Nepomuk and Strigi by default.  As of KDE 4.7, they don't
+  # really work very well (e.g. searching files often fails to find
+  # files), segfault sometimes and consume significant resources.
+  # They can be re-enabled in the KDE System Settings under "Desktop
+  # Search".
+  nepomukConfig = pkgs.writeTextFile
+    { name = "nepomuk-config";
+      destination = "/share/config/nepomukserverrc";
+      text =
+        ''
+          [Basic Settings]
+          Start Nepomuk=false
+
+          [Service-nepomukstrigiservice]
+          autostart=false
+        '';
+    };
+
+  phononBackends = {
+    gstreamer = [
+      pkgs.phonon_backend_gstreamer
+      pkgs.gst_all.gstPluginsBase
+      pkgs.gst_all.gstPluginsGood
+      pkgs.gst_all.gstPluginsUgly
+      pkgs.gst_all.gstPluginsBad
+      pkgs.gst_all.gstFfmpeg # for mp3 playback
+      pkgs.gst_all.gstreamer # needed?
+    ];
+
+    vlc = [pkgs.phonon_backend_vlc];
+  };
+
+  phononBackendPackages = flip concatMap cfg.phononBackends
+    (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
+
+in
+
+{
+  options = {
+
+    services.xserver.desktopManager.kde4_next = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the KDE 4 desktop environment.";
+      };
+
+      phononBackends = mkOption {
+        type = types.listOf types.str;
+        default = ["gstreamer"];
+        example = ["gstreamer" "vlc"];
+        description = "Which phonon multimedia backend kde should use";
+      };
+    };
+
+  };
+
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+
+    # If KDE 4 is enabled, make it the default desktop manager (unless
+    # overridden by the user's configuration).
+    # !!! doesn't work yet ("Multiple definitions. Only one is allowed
+    # for this option.")
+    # services.xserver.desktopManager.default = mkOverride 900 "kde4";
+
+    services.xserver.desktopManager.session = singleton
+      { name = "kde4_next";
+        bgSupport = true;
+        start =
+          ''
+            # The KDE icon cache is supposed to update itself
+            # automatically, but it uses the timestamp on the icon
+            # theme directory as a trigger.  Since in Nix the
+            # timestamp is always the same, this doesn't work.  So as
+            # a workaround, nuke the icon cache on login.  This isn't
+            # perfect, since it may require logging out after
+            # installing new applications to update the cache.
+            # See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
+            rm -fv $HOME/.kde/cache-*/icon-cache.kcache
+
+            # Qt writes a weird ‘libraryPath’ line to
+            # ~/.config/Trolltech.conf that causes the KDE plugin
+            # paths of previous KDE invocations to be searched.
+            # Obviously using mismatching KDE libraries is potentially
+            # disastrous, so here we nuke references to the Nix store
+            # in Trolltech.conf.  A better solution would be to stop
+            # Qt from doing this wackiness in the first place.
+            if [ -e $HOME/.config/Trolltech.conf ]; then
+                sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
+            fi
+
+            # Start KDE.
+            exec ${kde.kdebase_workspace}/bin/startkde
+          '';
+      };
+
+    security.setuidOwners = singleton
+      { program = "kcheckpass";
+        source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
+        owner = "root";
+        group = "root";
+        setuid = true;
+      };
+
+    environment.systemPackages =
+        [ kde.kdelibs
+
+          kde.kde_baseapps # Splitted kdebase
+          kde.kde_workspace
+          kde.kde_runtime
+          kde.konsole
+          kde.kate
+
+          kde.kde_wallpapers # contains kdm's default background
+          kde.oxygen_icons
+          pkgs.virtuoso # to enable Nepomuk to find Virtuoso
+
+          # Starts KDE's Polkit authentication agent.
+          kde.polkit_kde_agent
+
+          # Miscellaneous runtime dependencies.
+          kde.qt4 # needed for qdbus
+          pkgs.shared_mime_info
+          xorg.xmessage # so that startkde can show error messages
+          xorg.xset # used by startkde, non-essential
+          xorg.xauth # used by kdesu
+          pkgs.shared_desktop_ontologies # used by nepomuk
+          pkgs.strigi # used by nepomuk
+          pkgs.mysql # used by akonadi
+        ]
+      ++ lib.optional config.hardware.pulseaudio.enable kde.kmix  # Perhaps this should always be enabled
+      ++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
+      ++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
+      ++ [ nepomukConfig ] ++ phononBackendPackages;
+
+    environment.pathsToLink = [ "/share" ];
+
+    environment.etc = singleton
+      { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
+
+    # Enable helpful DBus services.
+    services.udisks2.enable = true;
+    services.upower.enable = config.powerManagement.enable;
+
+    security.pam.services.kde = { allowNullPassword = true; };
+
+  };
+
+}
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index f8ce06738fee8..98e3fd6d6a5d1 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -28,11 +28,10 @@ let
     buildCommand = ''
       mkdir -p $out/gtk-3.0/
 
-      # This wrapper ensures that we actually get fonts
+      # This wrapper ensures that we actually get ?? (fonts should be OK now)
       makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
         $out/greeter \
         --set XDG_DATA_DIRS ${pkgs.gnome2.gnome_icon_theme}/share \
-        --set FONTCONFIG_FILE /etc/fonts/fonts.conf \
         --set XDG_CONFIG_HOME $out/
 
       # We need this to ensure that it actually tries to find icons from gnome-icon-theme
diff --git a/nixos/modules/services/x11/window-managers/afterstep.nix b/nixos/modules/services/x11/window-managers/afterstep.nix
new file mode 100644
index 0000000000000..395dabb86b5ef
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/afterstep.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.afterstep;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.afterstep.enable = mkOption {
+      default = false;
+      description = "Enable the Afterstep window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "afterstep";
+      start = ''
+        ${pkgs.afterstep}/bin/afterstep &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.afterstep ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/ratpoison.nix b/nixos/modules/services/x11/window-managers/ratpoison.nix
new file mode 100644
index 0000000000000..c203c35cd1b71
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/ratpoison.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.ratpoison;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.ratpoison.enable = mkOption {
+      default = false;
+      description = "Enable the Ratpoison window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "ratpoison";
+      start = ''
+        ${pkgs.ratpoison}/bin/ratpoison &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.ratpoison ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/windowmaker.nix b/nixos/modules/services/x11/window-managers/windowmaker.nix
new file mode 100644
index 0000000000000..27cedb7da0cad
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/windowmaker.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.windowmaker;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.windowmaker.enable = mkOption {
+      default = false;
+      description = "Enable the Windowmaker window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "windowmaker";
+      start = ''
+        ${pkgs.windowmaker}/bin/wmaker &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.windowmaker ];
+  };
+}
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 21eaf6bb6b76f..f911d3c81f903 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -13,7 +13,6 @@ let
 
   # Map video driver names to driver packages. FIXME: move into card-specific modules.
   knownVideoDrivers = {
-    ati_unfree   = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; };
     nouveau       = { modules = [ pkgs.xf86_video_nouveau ]; };
     unichrome    = { modules = [ pkgs.xorgVideoUnichrome ]; };
     virtualbox   = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
@@ -400,8 +399,8 @@ in
     services.xserver.drivers = flip concatMap cfg.videoDrivers (name:
       let driver =
         attrByPath [name]
-          (if (hasAttr ("xf86video" + name) xorg)
-           then { modules = [(getAttr ("xf86video" + name) xorg) ]; }
+          (if xorg ? ${"xf86video" + name}
+           then { modules = [xorg.${"xf86video" + name}]; }
            else null)
           knownVideoDrivers;
       in optional (driver != null) ({ inherit name; driverName = name; } // driver));
@@ -444,8 +443,7 @@ in
         pkgs.xterm
         pkgs.xdg_utils
       ]
-      ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh
-      ++ optional (elem "ati_unfree" cfg.videoDrivers) kernelPackages.ati_drivers_x11;
+      ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
 
     environment.pathsToLink =
       [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ];
@@ -460,13 +458,11 @@ in
         restartIfChanged = false;
 
         environment =
-          { FONTCONFIG_FILE = "/etc/fonts/fonts.conf"; # !!! cleanup
+          {
             XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension.
             XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime.
             LD_LIBRARY_PATH = concatStringsSep ":" (
               [ "${xorg.libX11}/lib" "${xorg.libXext}/lib" ]
-              ++ optionals (elem "ati_unfree" cfg.videoDrivers)
-                [ "${kernelPackages.ati_drivers_x11}/lib" "${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux" ]
               ++ concatLists (catAttrs "libPath" cfg.drivers));
           } // cfg.displayManager.job.environment;
 
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index c46b3ba705ad3..3ea00e40c3b32 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -234,6 +234,15 @@ in
         '';
       };
 
+      enableCryptodisk = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Enable support for encrypted partitions. Grub should automatically
+          unlock the correct encrypted partition and look for filesystems.
+        '';
+      };
+
     };
 
   };
@@ -261,6 +270,7 @@ in
           throw "You must set the option ‘boot.loader.grub.device’ to make the system bootable."
         else
           "PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ])} " +
+          (if cfg.enableCryptodisk then "GRUB_ENABLE_CRYPTODISK=y " else "") +
           "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}";
 
       system.build.grub = grub;
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index eef81d81484e0..981b60c004c2d 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -199,7 +199,10 @@ sub GrubFs {
     return Grub->new(path => $path, search => $search);
 }
 my $grubBoot = GrubFs("/boot");
-my $grubStore = GrubFs("/nix/store");
+my $grubStore;
+if ($copyKernels == 0) {
+    $grubStore = GrubFs("/nix/store");
+}
 
 # Generate the header.
 my $conf .= "# Automatically generated.  DO NOT EDIT THIS FILE!\n";
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 73fc6ce543cf2..f14f105ef239a 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -168,9 +168,24 @@ if test -e /sys/power/tuxonice/resume; then
     fi
 fi
 
-if test -n "@resumeDevice@" -a -e /sys/power/resume -a -e /sys/power/disk; then
-    echo "@resumeDevice@" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
-    echo shutdown > /sys/power/disk
+if test -e /sys/power/resume -a -e /sys/power/disk; then
+    if test -n "@resumeDevice@"; then
+        resumeDev="@resumeDevice@"
+    else
+        for sd in @resumeDevices@; do
+            # Try to detect resume device. According to Ubuntu bug:
+            # https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/923326/comments/1
+            # When there are multiple swap devices, we can't know where will hibernate
+            # image reside. We can check all of them for swsuspend blkid.
+            if [ "$(udevadm info -q property "$sd" | sed -n 's/^ID_FS_TYPE=//p')" = "swsuspend" ]; then
+                resumeDev="$sd"
+                break
+            fi
+        done
+    fi
+    if test -n "$resumeDev"; then
+        echo "$resumeDev" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
+    fi
 fi
 
 
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 6977880fa284f..1ec11e70e845f 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -181,6 +181,9 @@ let
     inherit (config.boot.initrd) checkJournalingFS
       preLVMCommands postDeviceCommands postMountCommands kernelModules;
 
+    resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
+                    (filter (sd: sd ? label || hasPrefix "/dev/" sd.device) config.swapDevices);
+
     fsInfo =
       let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType fs.options ];
       in pkgs.writeText "initrd-fsinfo" (concatStringsSep "\n" (concatMap f fileSystems));
@@ -220,13 +223,14 @@ in
   options = {
 
     boot.resumeDevice = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "8:2";
+      type = types.str;
+      default = "";
+      example = "/dev/sda3";
       description = ''
-        Device for manual resume attempt during boot, specified using
-        the device's major and minor number as
-        <literal><replaceable>major</replaceable>:<replaceable>minor</replaceable></literal>.
+        Device for manual resume attempt during boot. This should be used primarily
+        if you want to resume from file. Specify here the device where the file
+        resides. You should also use <varname>boot.kernelParams</varname> to specify
+        <literal><replaceable>resume_offset</replaceable></literal>.
       '';
     };
 
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 48c3564ba0786..07f3cb9e952c3 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -6,8 +6,8 @@ let
 
   checkService = v:
     let assertValueOneOf = name: values: attr:
-          let val = getAttr name attr;
-          in optional ( hasAttr name attr && !elem val values) "Systemd service field `${name}' cannot have value `${val}'.";
+          let val = attr.${name};
+          in optional (attr ? ${name} && !elem val values) "Systemd service field `${name}' cannot have value `${val}'.";
         checkType = assertValueOneOf "Type" ["simple" "forking" "oneshot" "dbus" "notify" "idle"];
         checkRestart = assertValueOneOf "Restart" ["no" "on-success" "on-failure" "on-abort" "always"];
         errors = concatMap (c: c v) [checkType checkRestart];
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 13d6c6d7990a4..e39f71cb7f7cd 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -322,7 +322,7 @@ let
           [Service]
           ${let env = cfg.globalEnvironment // def.environment;
             in concatMapStrings (n:
-              let s = "Environment=\"${n}=${getAttr n env}\"\n";
+              let s = "Environment=\"${n}=${env.${n}}\"\n";
               in if stringLength s >= 2048 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
           ${if def.reloadIfChanged then ''
             X-ReloadIfChanged=true
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 97b37b0714cd8..6f6000cf3397d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -345,10 +345,20 @@ in
 
         interfaces = mkOption {
           example = [ "enp4s0f0" "enp4s0f1" "wlan0" ];
-          type = types.listOf types.string;
+          type = types.listOf types.str;
           description = "The interfaces to bond together";
         };
 
+        lacp_rate = mkOption {
+          default = null;
+          example = "fast";
+          type = types.nullOr types.str;
+          description = ''
+            Option specifying the rate in which we'll ask our link partner
+            to transmit LACPDU packets in 802.3ad mode.
+          '';
+        };
+
         miimon = mkOption {
           default = null;
           example = 100;
@@ -364,7 +374,7 @@ in
         mode = mkOption {
           default = null;
           example = "active-backup";
-          type = types.nullOr types.string;
+          type = types.nullOr types.str;
           description = ''
             The mode which the bond will be running. The default mode for
             the bonding driver is balance-rr, optimizing for throughput.
@@ -373,6 +383,16 @@ in
           '';
         };
 
+        xmit_hash_policy = mkOption {
+          default = null;
+          example = "layer2+3";
+          type = types.nullOr types.str;
+          description = ''
+            Selects the transmit hash policy to use for slave selection in
+            balance-xor, 802.3ad, and tlb modes.
+          '';
+        };
+
       };
     };
 
@@ -758,9 +778,11 @@ in
             path = [ pkgs.ifenslave pkgs.iproute ];
             script = ''
               # Remove Dead Interfaces
-              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+              ip link set "${n}" down >/dev/null 2>&1 || true
+              ifenslave -d "${n}" >/dev/null 2>&1 || true
+              ip link del "${n}" >/dev/null 2>&1 || true
 
-              ip link add "${n}" type bond
+              ip link add name "${n}" type bond
 
               # !!! There must be a better way to wait for the interface
               while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
@@ -770,17 +792,21 @@ in
                 "echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
               ${optionalString (v.mode != null)
                 "echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
+              ${optionalString (v.lacp_rate != null)
+                "echo \"${v.lacp_rate}\" > /sys/class/net/${n}/bonding/lacp_rate"}
+              ${optionalString (v.xmit_hash_policy != null)
+                "echo \"${v.xmit_hash_policy}\" > /sys/class/net/${n}/bonding/xmit_hash_policy"}
 
-              # Bring up the bridge and enslave the specified interfaces
+              # Bring up the bond and enslave the specified interfaces
               ip link set "${n}" up
               ${flip concatMapStrings v.interfaces (i: ''
                 ifenslave "${n}" "${i}"
               '')}
             '';
             postStop = ''
-              ip link set "${n}" down
-              ifenslave -d "${n}"
-              ip link delete "${n}"
+              ip link set "${n}" down >dev/null 2>&1 || true
+              ifenslave -d "${n}" >/dev/null 2>&1 || true
+              ip link del "${n}" >/dev/null 2>&1 || true
             '';
           });
 
@@ -798,7 +824,7 @@ in
             script = ''
               # Remove Dead Interfaces
               ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-              ip link add "${n}" type sit \
+              ip link add name "${n}" type sit \
                 ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
                 ${optionalString (v.local != null) "local \"${v.local}\""} \
                 ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
@@ -824,7 +850,7 @@ in
             script = ''
               # Remove Dead Interfaces
               ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-              ip link add link "${v.interface}" "${n}" type vlan id "${toString v.id}"
+              ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
               ip link set "${n}" up
             '';
             postStop = ''
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 3a458f5e860b3..ca7ca2afb65fb 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -1,3 +1,7 @@
+# This jobset defines the main NixOS channels (such as nixos-unstable
+# and nixos-14.04). The channel is updated every time the ‘tested’ job
+# succeeds, and all other jobs have finished (they may fail).
+
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" "i686-linux" ]
@@ -18,7 +22,7 @@ let
 in rec {
 
   nixos = removeMaintainers (import ./release.nix {
-    inherit stableBranch;
+    inherit stableBranch supportedSystems;
     nixpkgs = nixpkgsSrc;
   });
 
@@ -30,12 +34,13 @@ in rec {
   tested = pkgs.releaseTools.aggregate {
     name = "nixos-${nixos.channel.version}";
     meta = {
-      description = "Release-critical builds for the NixOS unstable channel";
-      maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ];
+      description = "Release-critical builds for the NixOS channel";
+      maintainers = [ pkgs.lib.maintainers.eelco ];
     };
     constituents =
-      let all = x: map (p: x.${p}) supportedSystems; in
+      let all = x: map (system: x.${system}) supportedSystems; in
       [ nixos.channel
+        (all nixos.dummy)
         (all nixos.manual)
 
         (all nixos.iso_minimal)
@@ -61,7 +66,8 @@ in rec {
         (all nixos.tests.kde4)
         (all nixos.tests.login)
         (all nixos.tests.misc)
-        (all nixos.tests.nat)
+        (all nixos.tests.nat.firewall)
+        (all nixos.tests.nat.standalone)
         (all nixos.tests.nfs3)
         (all nixos.tests.openssh)
         (all nixos.tests.printing)
diff --git a/nixos/release.nix b/nixos/release.nix
index b3039afb18c1a..7337ad7e3f45c 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -11,7 +11,7 @@ let
 
   forAllSystems = pkgs.lib.genAttrs supportedSystems;
 
-  scrubDrv = drv: let res = { inherit (drv) drvPath outPath type name; outputName = "out"; out = res; }; in res;
+  scrubDrv = drv: let res = { inherit (drv) drvPath outPath type name system meta; outputName = "out"; out = res; }; in res;
 
   callTest = fn: args: forAllSystems (system: scrubDrv (import fn ({ inherit system; } // args)));
 
@@ -186,6 +186,16 @@ in rec {
   );
 
 
+  # Ensure that all packages used by the minimal NixOS config end up in the channel.
+  dummy = forAllSystems (system: pkgs.runCommand "dummy"
+    { propagatedBuildInputs = (import lib/eval-config.nix {
+        inherit system;
+        modules = lib.singleton ({ config, pkgs, ... }: { });
+      }).config.environment.systemPackages;
+    }
+    "mkdir $out; fixupPhase");
+
+
   # Provide a tarball that can be unpacked into an SD card, and easily
   # boot that system from uboot (like for the sheevaplug).
   # The pc variant helps preparing the expression for the system tarball
@@ -244,7 +254,8 @@ in rec {
   tests.munin = callTest tests/munin.nix {};
   tests.mysql = callTest tests/mysql.nix {};
   tests.mysqlReplication = callTest tests/mysql-replication.nix {};
-  tests.nat = callTest tests/nat.nix {};
+  tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
+  tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
   tests.nfs3 = callTest tests/nfs.nix { version = 3; };
   tests.nsd = callTest tests/nsd.nix {};
   tests.openssh = callTest tests/openssh.nix {};
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 3e29bc2a45b0f..138a81ad80753 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -6,13 +6,13 @@ with pkgs.lib;
 
 let
 
-  # Build the ISO.  This is the regular installation CD but with test
-  # instrumentation.
+  # Build the ISO.  This is the regular minimal installation CD but
+  # with test instrumentation.
   iso =
     (import ../lib/eval-config.nix {
       inherit system;
       modules =
-        [ ../modules/installer/cd-dvd/installation-cd-graphical.nix
+        [ ../modules/installer/cd-dvd/installation-cd-minimal.nix
           ../modules/testing/test-instrumentation.nix
           { key = "serial";
             boot.loader.grub.timeout = mkOverride 0 0;
@@ -43,6 +43,7 @@ let
       { imports =
           [ ./hardware-configuration.nix
             <nixpkgs/nixos/modules/testing/test-instrumentation.nix>
+            <nixpkgs/nixos/modules/profiles/minimal.nix>
           ];
 
         ${if useEFI then ''
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index f0d3139d902c8..3f4a197ebcc41 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -17,7 +17,7 @@ import ./make-test.nix {
 
         users.extraUsers.jenkins.extraGroups = [ "users" ];
 
-        systemd.services.jenkins.unitConfig.TimeoutSec = 240;
+        systemd.services.jenkins.serviceConfig.TimeoutStartSec = "3min";
       };
 
     slave =
diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix
index 90c37397821e2..fcc5101feb3d2 100644
--- a/nixos/tests/kde4.nix
+++ b/nixos/tests/kde4.nix
@@ -32,7 +32,7 @@ import ./make-test.nix ({ pkgs, ... }: {
           pkgs.kde4.kdegraphics
           pkgs.kde4.kdeutils
           pkgs.kde4.kdegames
-          pkgs.kde4.kdeedu
+          #pkgs.kde4.kdeedu
           pkgs.kde4.kdeaccessibility
           pkgs.kde4.kdeadmin
           pkgs.kde4.kdenetwork
diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix
index d18abd68ee0e2..1e51453df83b1 100644
--- a/nixos/tests/munin.nix
+++ b/nixos/tests/munin.nix
@@ -18,7 +18,7 @@ import ./make-test.nix {
              '';
            };
           };
-          systemd.services.munin-node.unitConfig.TimeoutSec = 240;
+          systemd.services.munin-node.serviceConfig.TimeoutStartSec = "3min";
         };
     };
 
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 87ed974edad38..c4d2614f78524 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -3,77 +3,81 @@
 # client on the inside network, a server on the outside network, and a
 # router connected to both that performs Network Address Translation
 # for the client.
+import ./make-test.nix ({ withFirewall, ... }:
+  let
+    unit = if withFirewall then "firewall" else "nat";
+  in
+  {
+    name = "nat${if withFirewall then "WithFirewall" else "Standalone"}";
 
-import ./make-test.nix {
-  name = "nat";
+    nodes =
+      { client =
+          { config, pkgs, nodes, ... }:
+          { virtualisation.vlans = [ 1 ];
+            networking.firewall.allowPing = true;
+            networking.defaultGateway =
+              (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address;
+          };
 
-  nodes =
-    { client =
-        { config, pkgs, nodes, ... }:
-        { virtualisation.vlans = [ 1 ];
-          networking.firewall.allowPing = true;
-          networking.defaultGateway =
-            (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address;
-        };
+        router =
+          { config, pkgs, ... }:
+          { virtualisation.vlans = [ 2 1 ];
+            networking.firewall.enable = withFirewall;
+            networking.firewall.allowPing = true;
+            networking.nat.enable = true;
+            networking.nat.internalIPs = [ "192.168.1.0/24" ];
+            networking.nat.externalInterface = "eth1";
+          };
 
-      router =
-        { config, pkgs, ... }:
-        { virtualisation.vlans = [ 2 1 ];
-          networking.firewall.allowPing = true;
-          networking.nat.enable = true;
-          networking.nat.internalIPs = [ "192.168.1.0/24" ];
-          networking.nat.externalInterface = "eth1";
-        };
+        server =
+          { config, pkgs, ... }:
+          { virtualisation.vlans = [ 2 ];
+            networking.firewall.enable = false;
+            services.httpd.enable = true;
+            services.httpd.adminAddr = "foo@example.org";
+            services.vsftpd.enable = true;
+            services.vsftpd.anonymousUser = true;
+          };
+      };
 
-      server =
-        { config, pkgs, ... }:
-        { virtualisation.vlans = [ 2 ];
-          networking.firewall.enable = false;
-          services.httpd.enable = true;
-          services.httpd.adminAddr = "foo@example.org";
-          services.vsftpd.enable = true;
-          services.vsftpd.anonymousUser = true;
-        };
-    };
+    testScript =
+      { nodes, ... }:
+      ''
+        startAll;
 
-  testScript =
-    { nodes, ... }:
-    ''
-      startAll;
+        # The router should have access to the server.
+        $server->waitForUnit("network.target");
+        $server->waitForUnit("httpd");
+        $router->waitForUnit("network.target");
+        $router->succeed("curl --fail http://server/ >&2");
 
-      # The router should have access to the server.
-      $server->waitForUnit("network.target");
-      $server->waitForUnit("httpd");
-      $router->waitForUnit("network.target");
-      $router->succeed("curl --fail http://server/ >&2");
+        # The client should be also able to connect via the NAT router.
+        $router->waitForUnit("${unit}");
+        $client->waitForUnit("network.target");
+        $client->succeed("curl --fail http://server/ >&2");
+        $client->succeed("ping -c 1 server >&2");
 
-      # The client should be also able to connect via the NAT router.
-      $router->waitForUnit("nat");
-      $client->waitForUnit("network.target");
-      $client->succeed("curl --fail http://server/ >&2");
-      $client->succeed("ping -c 1 server >&2");
+        # Test whether passive FTP works.
+        $server->waitForUnit("vsftpd");
+        $server->succeed("echo Hello World > /home/ftp/foo.txt");
+        $client->succeed("curl -v ftp://server/foo.txt >&2");
 
-      # Test whether passive FTP works.
-      $server->waitForUnit("vsftpd");
-      $server->succeed("echo Hello World > /home/ftp/foo.txt");
-      $client->succeed("curl -v ftp://server/foo.txt >&2");
+        # Test whether active FTP works.
+        $client->succeed("curl -v -P - ftp://server/foo.txt >&2");
 
-      # Test whether active FTP works.
-      $client->succeed("curl -v -P - ftp://server/foo.txt >&2");
+        # Test ICMP.
+        $client->succeed("ping -c 1 router >&2");
+        $router->succeed("ping -c 1 client >&2");
 
-      # Test ICMP.
-      $client->succeed("ping -c 1 router >&2");
-      $router->succeed("ping -c 1 client >&2");
+        # If we turn off NAT, the client shouldn't be able to reach the server.
+        $router->succeed("iptables -t nat -D PREROUTING -j nixos-nat-pre");
+        $router->succeed("iptables -t nat -D POSTROUTING -j nixos-nat-post");
+        $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
+        $client->fail("ping -c 1 server >&2");
 
-      # If we turn off NAT, the client shouldn't be able to reach the server.
-      $router->stopJob("nat");
-      $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
-      $client->fail("ping -c 1 server >&2");
-
-      # And make sure that restarting the NAT job works.
-      $router->succeed("systemctl start nat");
-      $client->succeed("curl --fail http://server/ >&2");
-      $client->succeed("ping -c 1 server >&2");
-    '';
-
-}
+        # And make sure that reloading the NAT job works.
+        $router->succeed("systemctl restart ${unit}");
+        $client->succeed("curl --fail http://server/ >&2");
+        $client->succeed("ping -c 1 server >&2");
+      '';
+  })
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index 88931520c42a0..1612752d4702a 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib;
 assert withReplaygain -> withTaglib;
 
 let
-  version = "1.4.1";
+  version = "1.4.2";
   pname = "cantata";
   fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
   fstats = x: map (fstat x);
@@ -50,8 +50,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     inherit name;
-    url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60eXhuZ1Z3bGM2bjQ";
-    sha256 = "b0d5a1798efd275d72dffb87bc0f016fc865dbd1384b7c9af039cebdffe0cca3";
+    url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60UDFOeU1qSkIzaVE";
+    sha256 = "0ycwx75f1jlsaca170bz82av06bnlknl3q0df001rhmhb7wh4j6c";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
new file mode 100644
index 0000000000000..ca8ce453e63dc
--- /dev/null
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchurl, intltool, pkgconfig
+# deadbeef can use either gtk2 or gtk3
+, gtk2Support ? true, gtk2 ? null
+, gtk3Support ? false, gtk3 ? null, gsettings_desktop_schemas ? null, makeWrapper ? null
+# 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 gtk2Support || gtk3Support;
+assert gtk2Support -> gtk2 != null;
+assert gtk3Support -> gtk3 != null && gsettings_desktop_schemas != null && makeWrapper != 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;
+
+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;
+       optional gtk2Support gtk2
+    ++ optionals gtk3Support [gtk3 gsettings_desktop_schemas]
+    ++ 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 = with stdenv.lib; [ intltool pkgconfig ]
+    ++ optional gtk3Support makeWrapper;
+
+  enableParallelBuilding = true;
+
+  postInstall = if !gtk3Support then "" else ''
+    wrapProgram "$out/bin/deadbeef" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  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/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 775cf5ca606c8..a5dd037c77467 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumkv1-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "16bjkp22hfpmzj5di98dddzslavgvhw5z7pgjzmjqz9dxvbqwq1k";
+    sha256 = "1cih4f22922ndk8yrcf955fvzkd8mh7qz1xcdyn3xybs7ackgarq";
   };
 
   buildInputs = [ jack2 libsndfile lv2 qt4 ];
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index c421dcc60cbd2..3ba7b5903f994 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.4";
 
   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 = "14f0s0l28fwxnc37aw1imal2xcg9ykq35mx2j9gaqzz02ymjk0s5";
   };
 
   preConfigure = ''
@@ -22,11 +22,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
+    itstool libxml2
   ];
 
   meta = {
     description = "View and edit tags for various audio files";
     homepage = "http://projects.gnome.org/easytag/";
     license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/freewheeling/am_path_sdl.patch b/pkgs/applications/audio/freewheeling/am_path_sdl.patch
new file mode 100644
index 0000000000000..2bc3b4f45ac2c
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/am_path_sdl.patch
@@ -0,0 +1,40 @@
+--- code-r100/configure.ac	2014-09-25 23:44:41.059174904 +0200
++++ code-r100.new/configure.ac	2014-09-26 01:37:18.507017390 +0200
+@@ -44,6 +44,8 @@
+   [AC_MSG_ERROR(CONFIG: You need libxml2-dev installed.
+ 	        http://www.xmlsoft.org/)])
+ 
++PKG_CHECK_MODULES([libxml], [libxml-2.0])
++
+ AC_CHECK_LIB([m], [sqrt], , [AC_MSG_ERROR(CORE: You need libm installed)])
+ AC_CHECK_LIB([pthread], [pthread_self], , [AC_MSG_ERROR(CORE: You need libpthread installed)])
+ 
+@@ -79,12 +81,12 @@
+    echo "--- Enabling USB LCD display --";
+ fi
+ 
+-#SDL_VERSION=1.2.4
+-#AM_PATH_SDL($SDL_VERSION,
+-#            :,
+-#	    AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
+-#		          http://www.libsdl.org/])
+-#)
++SDL_VERSION=1.2.4
++AM_PATH_SDL($SDL_VERSION,
++            :,
++	    AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
++		          http://www.libsdl.org/])
++)
+ 
+ AC_CHECK_LIB([vorbis], [main], , 
+   [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
+@@ -95,6 +97,9 @@
+ AC_CHECK_LIB([vorbisenc], [main], , 
+   [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
+ 		http://www.xiph.org/ogg/vorbis/)])
++AC_CHECK_LIB([ogg], [main], , 
++  [AC_MSG_ERROR(AUDIO: You need libogg-dev installed.
++		http://www.xiph.org/ogg/)])
+ 
+ AC_CHECK_LIB([sndfile], [main], , 
+   [AC_MSG_ERROR(AUDIO: you need libsndfile installed.
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
new file mode 100644
index 0000000000000..a3f356e75c459
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchsvn, pkgconfig, autoconf, automake, gnutls, freetype
+, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, jack2, libvorbis
+, libsndfile, libogg
+}:
+
+stdenv.mkDerivation {
+  name = "freewheeling-100";
+
+  src = fetchsvn {
+    url = svn://svn.code.sf.net/p/freewheeling/code;
+    rev = 100;
+    sha256 = "1m6z7p93xyha25qma9bazpzbp04pqdv5h3yrv6851775xsyvzksv";
+  };
+
+  buildInputs = [
+    pkgconfig autoconf automake gnutls freetype SDL SDL_gfx SDL_ttf
+    liblo libxml2 jack2 alsaLib libvorbis libsndfile libogg
+  ];
+
+  preConfigure = "autoreconf -vfi";
+
+  patches = [ ./am_path_sdl.patch ./xml.patch ];
+
+  meta = {
+    description = "A live looping instrument with JACK and MIDI support";
+    longDescription = ''
+        Freewheeling allows us to build repetitive grooves
+        by sampling and directing loops from within spirited improvisation.
+
+        It works because, down to the core, it's built around
+        improv. We leave mice and menus, and dive into our own process
+        of making sound.
+
+        Freewheeling runs under Mac OS X and Linux, and is open source
+        software, released under the GNU GPL license.
+    '' ;
+
+    version = "r100";
+    homepage = "http://freewheeling.sourceforge.net";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.sepi ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/freewheeling/xml.patch b/pkgs/applications/audio/freewheeling/xml.patch
new file mode 100644
index 0000000000000..fd9d4fb39fe41
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/xml.patch
@@ -0,0 +1,13 @@
+--- code-r100/src/Makefile.am	2014-09-25 23:44:41.043174832 +0200
++++ code-r100.new/src/Makefile.am	2014-09-26 01:21:03.750015888 +0200
+@@ -24,7 +24,8 @@
+ 
+ fweelindir = $(datadir)/fweelin
+ 
+-FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 -I/usr/include/libxml2 -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
++XML_CFLAGS = `xml2-config --cflags`
++FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 $(XML_CFLAGS) -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
+ 
+ AM_CFLAGS = $(CFLAGS) $(FWEELIN_CFLAGS)
+-AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS)
++AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS) ${libxml2_CFLAGS}
diff --git a/pkgs/applications/audio/google-musicmanager/default.nix b/pkgs/applications/audio/google-musicmanager/default.nix
index 8cff94c25d938..107dcdce05c95 100644
--- a/pkgs/applications/audio/google-musicmanager/default.nix
+++ b/pkgs/applications/audio/google-musicmanager/default.nix
@@ -4,8 +4,8 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "1686-linux";
 
 stdenv.mkDerivation rec {
-  debversion = "beta_1.0.84.1107-r0";
-  version = "1.0.84.1107-beta-r0"; # friendly to nix-env version sorting algo
+  debversion = "beta_1.0.55.7425-r0";
+  version = "beta_1.0.55.7425-r0"; # friendly to nix-env version sorting algo
   product = "google-musicmanager";
   name    = "${product}-${version}";
 
@@ -16,12 +16,12 @@ stdenv.mkDerivation rec {
 
   src = if stdenv.system == "x86_64-linux"
     then fetchurl {
-      url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/${product}-beta/${product}-${debversion}_amd64.deb";
-      sha256 = "0irlrspw508b1s9i5d1mddpp2x9w1ny3svf27gxf8pmwbiyd1cyi";
+      url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_amd64.deb";
+      sha256 = "0efdce3970e2cf83eb7d8f6021f987a1517a41823784ada8e51f1649f8a49342";
     }
     else fetchurl {
-       url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/${product}-beta/${product}-${debversion}_i386.deb";
-       sha256 = "13pfsjvaygap6axrlbfhyk1h8377xmwi47x4af6j57qq6z7329rg";
+        url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_i386.deb";
+        sha256 = "4cc8822ab90af97195c2edfa74cc8b4a736e763cc3382f741aa1de0f72ac211e";
     };
 
   unpackPhase = ''
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/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
new file mode 100644
index 0000000000000..6a46681c12fd2
--- /dev/null
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -0,0 +1,74 @@
+{ stdenv, fetchurl
+, pkgconfig, cmake, perl, ffmpeg
+, docbook_xml_dtd_45, docbook_xsl, libxslt
+, phonon, automoc4, chromaprint, id3lib
+, taglib, mp4v2, flac, libogg, libvorbis
+, qt, zlib, readline
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "kid3-${version}";
+  version = "3.1.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/kid3/kid3/${version}/${name}.tar.gz";
+    sha256 = "0mr617k712zpd99rgsy313jrb6jcjn1malj4lirzqhp7307wsf34";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig cmake perl ffmpeg docbook_xml_dtd_45 docbook_xsl libxslt
+    phonon automoc4 chromaprint id3lib taglib mp4v2 flac libogg libvorbis
+    qt zlib readline makeWrapper ];
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DWITH_APPS=Qt;CLI" ];
+  NIX_LDFLAGS = "-lm -lpthread";
+
+  preConfigure = ''
+    export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/"
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple and powerful audio tag editor";
+    longDescription = ''
+      If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
+      MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF
+      files (e.g. full albums) without typing the same information
+      again and again and have control over both ID3v1 and ID3v2 tags,
+      then Kid3 is the program you are looking for.
+
+      With Kid3 you can:
+      - Edit ID3v1.1 tags;
+      - Edit all ID3v2.3 and ID3v2.4 frames;
+      - Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
+      - Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Opus,
+        Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker
+        modules (MOD, S3M, IT, XM);
+      -  Edit tags of multiple files, e.g. the artist, album, year and
+         genre of all files of an album typically have the same values
+         and can be set together;
+      - Generate tags from filenames;
+      - Generate tags from the contents of tag fields;
+      - Generate filenames from tags;
+      - Rename and create directories from tags;
+      - Generate playlist files;
+      - Automatically convert upper and lower case and replace strings;
+      - Import from gnudb.org, TrackType.org, MusicBrainz, Discogs,
+        Amazon and other sources of album data;
+      - Export tags as CSV, HTML, playlists, Kover XML and in other
+        formats;
+      - Edit synchronized lyrics and event timing codes, import and
+        export LRC files
+    '';
+    homepage = http://kid3.sourceforge.net/;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
+
+# TODO: Qt5 support
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/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix
new file mode 100644
index 0000000000000..f05c4068a60bf
--- /dev/null
+++ b/pkgs/applications/audio/paprefs/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm, libglademm
+, dbus_glib, gconfmm, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "paprefs-0.9.10";
+
+  src = fetchurl {
+    url = "http://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz";
+    sha256 = "1c5b3sb881szavly220q31g7rvpn94wr7ywlk00hqb9zaikml716";
+  };
+
+  buildInputs = [ pulseaudio gtkmm libglademm dbus_glib gconfmm ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  configureFlags = [ "--disable-lynx" ];
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio Preferences";
+
+    longDescription = ''
+      PulseAudio Preferences (paprefs) is a simple GTK based configuration
+      dialog for the PulseAudio sound server.
+    '';
+
+    homepage = http://freedesktop.org/software/pulseaudio/paprefs/ ;
+
+    license = licenses.gpl2Plus;
+
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index ca08624e98f36..538e1cdf9d0da 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -1,5 +1,5 @@
-{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm3
-, libcanberra_gtk3, intltool, gettext }:
+{ fetchurl, stdenv, pkgconfig, intltool, pulseaudio, gtkmm3
+, libcanberra_gtk3 }:
 
 stdenv.mkDerivation rec {
   name = "pavucontrol-2.0";
@@ -9,12 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2";
   };
 
-  buildInputs = [ pkgconfig pulseaudio gtkmm3 libcanberra_gtk3
-    intltool gettext ];
+  buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 ];
 
-  configureFlags = "--disable-lynx";
+  nativeBuildInputs = [ pkgconfig intltool ];
 
-  meta = {
+  configureFlags = [ "--disable-lynx" ];
+
+  meta = with stdenv.lib; {
     description = "PulseAudio Volume Control";
 
     longDescription = ''
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 4177dbeeb0cb1..561a72bb38ba0 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -3,12 +3,12 @@
 , libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.2";
+  version = "0.6.3";
   name = "qtractor-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qtractor/${name}.tar.gz";
-    sha256 = "08cr4lgm8bkkmsvfljszcqij3i52n989s7ncrbrn17n61rmgf8yw";
+    sha256 = "1lsmd83vhgfzb3bf02hi6xp5ryh08lz4h21agy7wm3acjqc6gsc2";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
index 0cbdfa6973db3..c89f23f8a2805 100644
--- a/pkgs/applications/audio/samplv1/default.nix
+++ b/pkgs/applications/audio/samplv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "samplv1-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${name}.tar.gz";
-    sha256 = "02mm5y1yzklvs5bpxl86y3dqcg7migfybmin8llk91pws6rl9b41";
+    sha256 = "155qq7gxyqn7sh8bbyhjk40lxl157lb2h539j4gqgv5jphz8g6wy";
   };
 
   buildInputs = [ jack2 libsndfile lv2 qt4 ];
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 52cd2ad35ce1a..1b878deb316ac 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-15.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "04shk34pza507kvm40dc6sdz5jz533z4q2h7m9hgqvw1r3f57ms6";
+    sha256 = "1s1mswgxhvi0wjw0qscwh2jajihvgz86xffgbwl7qjkymqbh8gyj";
   };
 
   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/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index c6c464b9ad702..fd9d5e69f4878 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "synthv1-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${name}.tar.gz";
-    sha256 = "011kjccrdwb62rpck5gb8h4kvvm8rk6n77lj78ykxz4pxip5hf14";
+    sha256 = "16wcxrcjwp0qp2xgahhzvcs2k31sr6c9jsxyhivj4famj7a39pfw";
   };
 
   buildInputs = [ qt4 jack2 lv2 ];
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..a64b43372866a 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.135.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 = "0dh8vjhr31y2ibnf4s7adskbx115w8ns9xgrb0md9xc9gm92h405";
+    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/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/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index d5a7b0ded8a2f..293554a62b2b8 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -2,11 +2,11 @@
 , texLiveAggregationFun }:
 
 stdenv.mkDerivation rec {
-  name = "org-8.2.7c";
+  name = "org-8.2.8";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "0qqf58xqw1kkgjxm9z40s6h7xd209rx3933klla22lryv3yclc1k";
+    sha256 = "0f63w6d1yjiv46ac7d9rqn2wks6sxmldrqmijd9j25qvsc8dcsd8";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
index 3a492dc0c7f4e..32a036805edc0 100644
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
+{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }:
 
 stdenv.mkDerivation (rec {
   name = "ProofGeneral-4.3pre131011";
@@ -10,7 +10,7 @@ stdenv.mkDerivation (rec {
 
   sourceRoot = name;
 
-  buildInputs = [ emacs texinfo texLive perl which ];
+  buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
 
   prePatch =
     '' sed -i "Makefile" \
@@ -25,15 +25,20 @@ stdenv.mkDerivation (rec {
        sed -i '96d' doc/ProofGeneral.texi
     '';
 
+  patches = [ ./pg.patch ];
+
   preBuild = ''
     make clean;
   '';
 
   installPhase =
+    if enableDoc
+    then
     # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
     '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
        make install install-doc
-    '';
+    ''
+    else "make install";
 
   meta = {
     description = "Proof General, an Emacs front-end for proof assistants";
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
new file mode 100644
index 0000000000000..c733911118de0
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
@@ -0,0 +1,16 @@
+diff -r c7d8bfff4c0a bin/proofgeneral
+--- a/bin/proofgeneral	Sat Sep 27 02:25:15 2014 +0100
++++ b/bin/proofgeneral	Sat Sep 27 02:28:16 2014 +0100
+@@ -73,11 +73,7 @@
+ 
+ # Try to find Proof General directory
+ if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
+-    # default relative to this script, otherwise PGHOMEDEFAULT
+-    MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
+-    if [ -d "$MYDIR" ]; then
+-	PGHOME="$MYDIR"
+-    elif [ -d "$PGHOMEDEFAULT" ]; then
++    if [ -d "$PGHOMEDEFAULT" ]; then
+ 	PGHOME="$PGHOMEDEFAULT"
+     else
+ 	echo "Cannot find the Proof General lisp files: Set PGHOME or use --pghome."
diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
index 5d92397d29548..62b3a0af1fbc1 100644
--- a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
+++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, emacs}:
 
-let version = "1.3.8";
+let version = "1.3.12";
 
 in stdenv.mkDerivation {
   name = "emacs-rainbow-delimiters-${version}";
 
   src = fetchurl {
     url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
-    sha256 = "1xavygdnd9q80wqavxliks0w662mvn8v79qmg0kr494yfqc5hw6h";
+    sha256 = "0l65rqmnrc02q1b406kxc29w5cfpmrmq0glv493pjzhzc5m3r63z";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
index a9c2478d451c1..b8838fac980fe 100644
--- a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
+++ b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "structured-haskell-mode";
-  version = "1.0.3";
-  sha256 = "0axmw8bj51q8v0wd4jp6giw9dnv0mp7kp8yd16s4nm4hcqgrh5h2";
+  version = "1.0.4";
+  sha256 = "1402wx27py7292ad7whsb13ywv71k36501jpfrn2p0v7knzknj8z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskellSrcExts haskellMode ];
diff --git a/pkgs/applications/editors/emacs-modes/tuareg/default.nix b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
index 3fd592f3dba61..ce25f5ab05d35 100644
--- a/pkgs/applications/editors/emacs-modes/tuareg/default.nix
+++ b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
@@ -3,13 +3,13 @@
 # this package installs the emacs-mode which
 # resides in the ocaml compiler sources.
 
-let version = "2.0.6";
+let version = "2.0.8";
 
 in stdenv.mkDerivation {
   name = "tuareg-mode-${version}";
   src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/882/tuareg-2.0.6.tar.gz;
-    sha256 = "ea79ac24623b82ab8047345f8504abca557a537e639d16ce1ac3e5b27f5b1189";
+    url = https://forge.ocamlcore.org/frs/download.php/882/tuareg-2.0.8.tar.bz2;
+    sha256 = "128ibdzv5rf33b71d7b3gr9plmfamc28aprl8y0ap0ivc8jaqyga";
   }; 
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index d9f62216fac9d..640b06d28071d 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, fltk13, ghostscript}:
 
 stdenv.mkDerivation {
-  name = "flpsed-0.7.1";
+  name = "flpsed-0.7.2";
 
   src = fetchurl {
-    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.1.tar.gz";
-    sha256 = "16i3mjc1cdx2wiwfhnv3z2ywmjma9785vwl3l31izx9l51w7ngj3";
+    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.2.tar.gz";
+    sha256 = "1132nlganr6x4f4lzcp9l0xihg2ky1l7xk8vq7r2l2qxs97vbif8";
   };
 
   buildInputs = [ fltk13 ghostscript ];
@@ -15,5 +15,6 @@ stdenv.mkDerivation {
     homepage = "http://http://flpsed.org/flpsed.html";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.mesaPlatforms;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index d7ed048cdaa82..8d4002c9ef858 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
+{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
 
 let
-  version = "1.23.1";
+  version = "1.24.1";
 in
 
 stdenv.mkDerivation rec {
@@ -9,15 +9,17 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "1bcgjxywggsljs9kq22kr9xpzrq5xr7pb9d1b71rwryqb5pb25c8";
+    sha256 = "0cwci8876dpgcn60dfvjlciqr8x68iv86psjj148grhzn3chbdbz";
   };
 
-  buildInputs = [ gtk2 which pkgconfig intltool ];
+  buildInputs = [ gtk2 which pkgconfig intltool file ];
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
+  patchPhase = "patchShebangs .";
+
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
   postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index c673ea672c7c3..f67f23e9e09be 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -1,85 +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/"
 
       [ -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";
@@ -92,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";
@@ -105,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/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..e914186ac8157 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain_0_6, fbida }:
+{ stdenv, fetchgit, 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";
+  src = fetchgit {
+    url = "git://gitorious.org/geeqie/geeqie.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "1h9w0jrcqcp5jjgmks5pvpppnfxhcd1s3vqlyb3qyil2wfk8n8wp";
   };
 
-  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 +28,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 +42,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/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/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/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/batti/default.nix b/pkgs/applications/misc/batti/default.nix
new file mode 100644
index 0000000000000..9bf481189e380
--- /dev/null
+++ b/pkgs/applications/misc/batti/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl
+, pkgconfig, gettext, python
+, gtk, pygtk, dbus_python
+, gdk_pixbuf, upower
+, makeWrapper }:
+
+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 gettext python gtk pygtk dbus_python gdk_pixbuf upower makeWrapper ];
+
+  configurePhase = "true";
+
+  buildPhase = ''
+    python setup.py build
+  '';
+
+  installPhase = ''
+    python setup.py install --prefix $out
+    wrapProgram "$out/bin/batti" \
+      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+
+  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/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index 2b68c58b12dd6..242ee4e9c9f54 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -4,12 +4,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.2.1";
+  version = "0.9.3";
   name = "bitcoin${toString (optional (!gui) "d")}-${version}";
 
   src = fetchurl {
     url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz";
-    sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54";
+    sha256 = "1kb59w7232qzfh952rz6vvjri2w26n9cq7baml0vifdsdhxph9f4";
   };
 
   # hexdump from utillinux is required for tests
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 24a3fcd4cea93..808ef8d593d66 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -9,15 +9,15 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "blender-2.71";
+  name = "blender-2.72";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "12aqdrpl86xjk2xdwj2nbfcmdzyv61n443gw6j2japffm1kmlz8x";
+    sha256 = "0wydh5bs1pxnx3ya65lfy3val1s8wz027a5kb4va6wg3aqnwlvlv";
   };
 
   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
     ]
@@ -30,8 +30,7 @@ stdenv.mkDerivation rec {
     '';
 
   cmakeFlags =
-    [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
-      "-DWITH_OPENCOLLADA=OFF"
+    [ "-DWITH_OPENCOLLADA=OFF"
       "-DWITH_MOD_OCEANSIM=ON"
       "-DWITH_CODEC_FFMPEG=ON"
       "-DWITH_CODEC_SNDFILE=ON"
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 1426fb8e3d715..a9f4071caaec3 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.3.0";
+  name = "calibre-2.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "13ny8d569hl7yv8m89216fmg0qdqqy6l9vgzf3cmbbb8i3l1lpxf";
+    sha256 = "0zl2rpwn5xdgwm4ffb5pizk3247wfghl8ilz0i80hyp36zzxgl8p";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 5c12ebcbfeba9..c290cdfb6908c 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,10 +1,10 @@
 { stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
 let
-    py = python27Packages;
-    version = "14.07";
+  py = python27Packages;
+  version = "14.07";
 in
 stdenv.mkDerivation rec {
-  name = "cura";
+  name = "cura-${version}";
 
   src = fetchurl {
     url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     categories = "GNOME;GTK;Utility;";
   };
 
-  python_deps = [ py.pyopengl py.pyserial py.numpy py.wxPython30 py.power py.setuptools ];
+  python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ];
 
   pythonPath = python_deps;
 
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index e004b7db336c4..bb818e9236c31 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -3,7 +3,7 @@ let
   version = "14.03";
 in
 stdenv.mkDerivation {
-  name = "curaengine";
+  name = "curaengine-${version}";
 
   src = fetchurl {
     url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz";
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/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 19455f972a551..db8595e1baa8a 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
   };
 
   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/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index da7be68be54f2..b3cca2c7cb5e7 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.1";
+  version = "2.1.2";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz";
-    sha256 = "1fir1dzzy7c92jf3a3psnd10c6widslk0852xk4svpl6phcg4nya";
+    sha256 = "19dvn681fz5i6zr7b1vx05sxhbsl73lb18axdcmcr58y6hi3hy68";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
index 9370844ffe9ec..52e8d20495b96 100644
--- a/pkgs/applications/misc/monero/default.nix
+++ b/pkgs/applications/misc/monero/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
   };
 
-  buildInputs = [ cmake boost ];
+  buildInputs = [ cmake boost boost.lib ];
 
   # these tests take a long time and don't
   # always complete in the build environment
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
     homepage = http://monero.cc/;
     license = licenses.bsd3;
     maintainers = [ maintainers.emery ];
-    platforms = platforms.all;
+    platforms = [ "x86_64-linux" ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index aa7c14634d13a..416913b7a555c 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
 , libX11, libXext }:
 stdenv.mkDerivation rec {
-  version = "1.5";
+  version = "1.6";
   name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
-    sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
+    sha256 = "0qx51rj6alzcagcixm59rvdpm54w6syrwr4184v439jh14ryw4wq";
   };
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix
index b1bd401b2eb41..94ee63fe2de2e 100644
--- a/pkgs/applications/misc/namecoin/default.nix
+++ b/pkgs/applications/misc/namecoin/default.nix
@@ -1,18 +1,18 @@
 { fetchgit, stdenv, db4, boost, openssl, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.75";
+  version = "0.3.76";
   name = "namecoin-${version}";
 
   src = fetchgit {
     url = "https://github.com/namecoin/namecoin";
-    rev = "31ea638d4ba7f0a3011cb25483f4c7d293134c7a";
-    sha256 = "c14a5663cba675b3508937a26a812316559938fd7b64659dd00749a9f5d7e9e0";
+    rev = "224175ca3bba6eea6f6b1bdb007b482eb2bd2aee";
+    sha256 = "3ccfb6fdda1b9d105e775eb19c696be7fec1b3671f9b4f43d02fa14a4c6848dd";
   };
 
   # Don't build with miniupnpc due to namecoin using a different verison that
   # ships with NixOS and it is API incompatible.
-  buildInputs = [ db4 boost openssl unzip ];
+  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
diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix
index 447a2b42b6b38..6b63bf7ca3486 100644
--- a/pkgs/applications/misc/namecoin/qt.nix
+++ b/pkgs/applications/misc/namecoin/qt.nix
@@ -1,14 +1,14 @@
 { fetchgit, stdenv, db4, boost, openssl, qt4, unzip, namecoin }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.75";
+  version = namecoin.version;
   name = "namecoin-qt-${version}";
 
   src = namecoin.src;
 
   # Don't build with miniupnpc due to namecoin using a different verison that
   # ships with NixOS and it is API incompatible.
-  buildInputs = [ db4 boost openssl unzip qt4 ];
+  buildInputs = [ db4 boost boost.lib openssl unzip qt4 ];
 
   configurePhase = ''
     qmake USE_UPNP=-
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/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/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/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index ab7a8240ebfb7..17b5c92406b0c 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -50,14 +50,14 @@ let
 in rec {
 
   application = mkSweetHome3D rec {
-    version = "4.3.1";
+    version = "4.4";
     module = "SweetHome3D";
     name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "0jn3xamghz8rsmzvpd57cvz32yk8mni8dyx15xizjcki0450bp3f";
+      sha256 = "1ziqq8wm6la7bsqya6gc8cc2vz02phl88msqjgqqfl2jf8bz9afv";
       module = module;
       tag = "V_" + d2u version;
     };
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 9eca1df59f5dd..b48b95cda5bf4 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -60,28 +60,28 @@ let
 in rec {
 
   textures-editor = mkEditorProject rec {
-    version = "1.3";
+    version = "1.4";
     module = "TexturesLibraryEditor";
     name = sweetName module version;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "1caf1hmf87bj5dr7w2swnlbvkb3q1jdjr1zgjn1k07d0fxh0ikbx";
+      sha256 = "1j1ygb32dca48hng5bsna9f84vyin5qc3ds44xi39057izmw8499";
       module = module;
       tag = "V_" + d2u version;
     };
   };
 
   furniture-editor = mkEditorProject rec {
-    version = "1.13";
+    version = "1.14";
     module = "FurnitureLibraryEditor";
     name = sweetName module version;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = stdenv.lib.licenses.gpl2;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "1nll5589rc0g71zd86cwmzl4p2icynykj106schmxric9v17jbv5";
+      sha256 = "0rdcd8vjbcv9jdms2xr3y7ykm2a9bkmwj4y7ybk9zcldayqsgn6z";
       module = module;
       tag = "V_" + d2u version;
     };
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 bfaca1731fc02..7edd86c7409ea 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -6,11 +6,11 @@
 stdenv.mkDerivation rec {
 
   name = "tilda-${version}";
-  version = "1.1.12";
+  version = "1.1.13";
 
   src = fetchurl {
     url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz";
-    sha256 = "10kjlcdaylkisb8i0cw4wfssg52mrz2lxr5zmw3q4fpnhh2xlaix";
+    sha256 = "1b9rnyrdvqmw2xjv899a4k6hvr9w482c4xvlpfnckckxdyp2852d";
   };
 
   buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ];
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 f53d3012b1e6b..b1cfbd5d9ac4f 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.insilmaril.de/vym/;
     license = licenses.gpl2;
-    maintainer = [ maintainers.AndersonTorres ];
+    maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index e216b19fab5a1..5055ac50089d2 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fox, pkgconfig, gettext, x11, gcc, intltool, file, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "xfe-1.34";
+  name = "xfe-1.37";
 
   src = fetchurl {
     url = "mirror://sourceforge/xfe/${name}.tar.gz";
-    sha256 = "0y6gi8vdvw1prz7dv7wadf7v8gl6g75jrlrl5jnsb71l1431ncay";
+    sha256 = "1g9a0bpny2m7ixgxpqjh0wvh2x6d0lpj6682zn5dfqwan4j2xfsd";
   };
 
   buildInputs = [ fox pkgconfig gettext x11 gcc intltool file libpng ];
diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
index 8dcef600f9596..d2739dbec5057 100644
--- a/pkgs/applications/misc/xiphos/default.nix
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -7,18 +7,21 @@
 , libgsf, gconf
 , gtkhtml, libgtkhtml, libglade, scrollkeeper
 , webkitgtk
-, dbus_glib, enchant, isocodes, libuuid }:
+, dbus_glib, enchant, isocodes, libuuid
+}:
 
 stdenv.mkDerivation rec {
   name = "xiphos-${version}";  
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/gnomesword/Xiphos/${version}/${name}.tar.gz";
-    sha256 = "0xff31f89as1p7fn3vq8ishjhbmx6qhc25msh5ypa0zg8hm5dxbb";
+    sha256 = "1imd3v8knb5y3kddlfzp67p927zpfy0adjri89n7vcnipb9fy9i3";
   };
 
-  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 ];
+  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 .;
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/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index e02232162af1a..14881d11601ea 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -10,6 +10,7 @@
 , proprietaryCodecs ? true
 , enablePepperFlash ? false
 , enablePepperPDF ? false
+, enableWideVine ? false
 , cupsSupport ? false
 , pulseSupport ? false
 , hiDPISupport ? false
@@ -35,7 +36,7 @@ let
     sandbox = callPackage ./sandbox.nix { };
 
     plugins = callPackage ./plugins.nix {
-      inherit enablePepperFlash enablePepperPDF;
+      inherit enablePepperFlash enablePepperPDF enableWideVine;
     };
   };
 
@@ -60,7 +61,7 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "chromium-${channel}-${chromium.browser.version}";
+  name = "chromium${if channel != "stable" then "-" + channel else ""}-${chromium.browser.version}";
 
   buildInputs = [ makeWrapper ];
 
@@ -75,6 +76,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/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index e0c45f9107510..5bd4115863202 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -1,6 +1,7 @@
 { stdenv
 , enablePepperFlash ? false
 , enablePepperPDF ? false
+, enableWideVine ? false
 
 , source
 }:
@@ -14,8 +15,8 @@ let
     # XXX: Only temporary and has to be version-specific
     src = source.plugins;
 
-    phases = [ "unpackPhase" "patchPhase" "checkPhase" "installPhase" ];
-    outputs = [ "pdf" "flash" ];
+    phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
+    outputs = [ "pdf" "flash" "widevine" ];
 
     unpackCmd = let
       chan = if source.channel == "dev"    then "chrome-unstable"
@@ -25,7 +26,9 @@ let
       mkdir -p plugins
       ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \
         ./opt/google/${chan}/PepperFlash \
-        ./opt/google/${chan}/libpdf.so
+        ./opt/google/${chan}/libpdf.so \
+        ./opt/google/${chan}/libwidevinecdm.so \
+        ./opt/google/${chan}/libwidevinecdmadapter.so
     '';
 
     doCheck = true;
@@ -37,10 +40,14 @@ let
       rpaths = [ stdenv.gcc.gcc ];
       mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}";
     in ''
-      for sofile in PepperFlash/libpepflashplayer.so libpdf.so; do
+      for sofile in PepperFlash/libpepflashplayer.so libpdf.so \
+                    libwidevinecdm.so libwidevinecdmadapter.so; do
         chmod +x "$sofile"
         patchelf --set-rpath "${mkrpath rpaths}" "$sofile"
       done
+
+      patchelf --set-rpath "$widevine/lib:${mkrpath rpaths}" \
+        libwidevinecdmadapter.so
     '';
 
     installPhase = let
@@ -51,6 +58,12 @@ let
         "application/x-google-chrome-print-preview-pdf"
       ];
       pdfInfo = "#${pdfName}#${pdfDescription};${pdfMimeTypes}";
+
+      wvName = "Widevine Content Decryption Module";
+      wvDescription = "Playback of encrypted HTML audio/video content";
+      wvMimeTypes = "application/x-ppapi-widevine-cdm";
+      wvModule = "$widevine/lib/libwidevinecdmadapter.so";
+      wvInfo = "#${wvName}#${wvDescription}:${wvMimeTypes}";
     in ''
       install -vD libpdf.so "$pdf/lib/libpdf.so"
       mkdir -p "$pdf/nix-support"
@@ -67,11 +80,20 @@ let
       echo "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'" \
            "--ppapi-flash-version=$flashVersion" \
            > "$flash/nix-support/chromium-flags"
+
+      install -vD libwidevinecdm.so \
+        "$widevine/lib/libwidevinecdm.so"
+      install -vD libwidevinecdmadapter.so \
+        "$widevine/lib/libwidevinecdmadapter.so"
+      mkdir -p "$widevine/nix-support"
+      echo "--register-pepper-plugins='${wvModule}${wvInfo}'" \
+        > "$widevine/nix-support/chromium-flags"
     '';
 
     passthru.flagsEnabled = let
       enabledPlugins = optional enablePepperFlash plugins.flash
-                    ++ optional enablePepperPDF   plugins.pdf;
+                    ++ optional enablePepperPDF   plugins.pdf
+                    ++ optional enableWideVine    plugins.widevine;
       getFlags = plugin: "$(< ${plugin}/nix-support/chromium-flags)";
     in concatStringsSep " " (map getFlags enabledPlugins);
   };
diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
index 91c6ada51381c..5494b37081769 100644
--- a/pkgs/applications/networking/browsers/chromium/source/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/default.nix
@@ -22,7 +22,9 @@ stdenv.mkDerivation {
 
   prePatch = "patchShebangs .";
 
-  patches = [ ./sandbox_userns_36.patch ./missing_alg_import.patch ];
+  patches = let
+    onPre39 = optional (versionOlder version "39.0.0.0");
+  in [ ./sandbox_userns_36.patch ] ++ onPre39 ./missing_alg_import.patch;
 
   postPatch = ''
     sed -i -r \
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
index 27ba9420f4321..e85369f763b7d 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -1,21 +1,21 @@
 # This file is autogenerated from update.sh in the parent directory.
 {
   dev = {
-    version = "39.0.2138.3";
-    sha256 = "0adkzv4ydrg02prcacqx3gk8v0ivvs57qisf220wzzicgpzklm26";
-    sha256bin32 = "0rskbr55nhvpmmw6bl90iv2lr0f2chra3r5c92j3ica307y12f2q";
-    sha256bin64 = "0gdyyaxiaq50jpwhvai6d67ypgjxqn8kp9fqix6nbwj4fnmdfcjx";
+    version = "39.0.2171.7";
+    sha256 = "1wxi601zsi10jw7ypa4i0a2g5hd3hqrb5pqkkry1pgbdimw69sb8";
+    sha256bin32 = "11isyislr5mbbhwk625b347xyyp1x3xgws844sjbbcx83gf0ij7y";
+    sha256bin64 = "16b0yzlm8j7kx8pc6fhzwiizl7zrzxmfal40q45848715jyln8hf";
   };
   beta = {
-    version = "38.0.2125.24";
-    sha256 = "07v4vk7sc54d2hzgfms0b71cc7z6h85v9d39j110kzk0w1bpk3gy";
-    sha256bin32 = "0l26ci7sqi755cm017qmbcqk74rqja5c08cbzf5v4chsa773qn0m";
-    sha256bin64 = "1ibx40ijjj8z0smpzh5v6y611c57qm5raldk48h5dd1flqbgz0nr";
+    version = "38.0.2125.101";
+    sha256 = "12hrl7i0xrjdwz8yaap5jhc6bzn29pk6dcz96743n6j7mcckac6k";
+    sha256bin32 = "178nffl5pgqajg7vxxisycl79vnyv1iqqz04riywgj88mw7mjwpg";
+    sha256bin64 = "0akwvnl987w8wli4h4k2x8xnpkzk9n8hn9wbp1lw87ch08sr7zfm";
   };
   stable = {
-    version = "37.0.2062.94";
-    sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j";
-    sha256bin32 = "0vszphfz4mnw08yc6bid4g6q2w4f5smvfhlzyb2vvv65ndr64b8k";
-    sha256bin64 = "0h4fb7v0b1w9d47iy6fk5g0fpzgczps7nzmknyk7vx68ybi39ssw";
+    version = "37.0.2062.120";
+    sha256 = "1yvf1hzza5cdsa67dg302ifcwb759r8sf2z21p9q9wyanrc3f1xk";
+    sha256bin32 = "07zwf5yn3ig8x9ysjdpm7w1fh4rcyxzfsnqvxmabc0bkrv2r1hg7";
+    sha256bin64 = "02qc5qq5v9k55c5bxmndjh1xl6j1qaxk7k4r8mm0k5nxxyqih1p2";
   };
 }
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 f24f44c1719fa..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,188 +40,188 @@
 assert stdenv.isLinux;
 
 let
-  version = "32.0";
+  version = "32.0.3";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "cef5938e567e6dc4d0460c1eb3f770d2acfa045d98186f6a490ad53b3c69d302"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "bd5427dfd1d11f8a9a8d4803608453fdb11a7d304aed618f26b3fd6667a0d131"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "48e97eb3c65b381b8fe579d9a3cb4e4f28f06137043be1a54288f3e85c1f8312"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "fea64b289b3ee69ec0efa55b0d57998485125bf000c78e1c4567be5b40e1ac34"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "022110d1b31f51f5e9aedb2eac01159fd7c14e9c787530c246ba907e68317d0d"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "418f9b1061950b93ff8a2889a47ebd65c792a221510eb15ec6e0d67c73fa4da0"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "228739f558428aa97364da3869ab28e68499e103bac0af7c391f1ee66be97754"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "44255bbfed7a804a205846a2c634a0ec4868a05f58a9ce0350ac3d2ce147f500"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "0a40d888a10b2be8b76ddab70e32a534a3e95a029aac4c8945bb71b4a6e63d3d"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "a55a81da699c51b3bb422ba0942d548373d2a207c6e8eb0d7abde50dca6dc57f"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "61826f0098f2535a1019eb1c7e21fb8971f66fa1d39bf773a130e96cfa99897a"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4b84870ecb220189ab59e837f74a2195a38265226dce5542841187d35dbd18dd"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "40029f2cdcb4964a43193456f436c3a9428face17ed3ef4b655e3f1bc47c217c"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "7490f9815dac528c32d0254c9f5e7834e4af6b4e61d6618d235481b0e086906a"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "320e9f8c338d180cd90390b3dbf38b2ed17ab9606ac13c79d64ae114e72653a1"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "921ef8a9beb4469d5faba09e6786415dce37030a4c24f6057ec5fbe301113dd4"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "69833779015e09952825d0fdc6fb9283379c9b9a26d7bad4a12bb29bb74c277c"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "de3f0efafc6b838e90d550287d574f9fa26c9b2690fa1fc48b766b9d478fc1b9"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "aff667e3277bf61f3b117ebd13a3ce469e9bf6ba58b7dd736d8913b234c4a4a4"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "c446d8a57a1542eb2aefd4a0b5304917dde8446c94c11d8f80110ff881878bb2"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "5f05c4bb347f5150c5685e7308aee338b6d92b8cac204e7afb326d2c44ff8dd8"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "6dfa3436ddcf6f47e7d40846b09ad4c7555aae40f25f5380b30a0776d0368d37"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "7df19221c455bfe29e9a8eb6f48088e37be5a493319c46e45b48a72ebbac1df2"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "aaa2c0f3eb430337e865732c0bbf3d5efe72869954607f5560c8925bd736cfba"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "9c725ba77e778144e31b907b2b4cdd4f045dc6ce12bedd9bbb92a98224a44327"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "30a27b9558bcc7f7c03f4a204e20aabc9b1d4fd5240a93fe14e02f95ba4f34e8"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "491b7114f686235233e3ceb2c7db47d8bef426bd1578545f5d1cd001b15afb71"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "098596de29865bac4dcb642d8da801b7707fafbc60f25e5c1803ed8aaaa77d50"; }
-    { locale = "csb"; arch = "linux-i686"; sha256 = "a53579fc73f5bf4811ab608320b0d889406be9b655574fbaef2aa8db7478e023"; }
-    { locale = "csb"; arch = "linux-x86_64"; sha256 = "903bb549115252d2850ab7cbca9d46890cb8ee5f40ac7b8740fc3d81a1225c68"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "0f3db887046a8f5b597eca5d943a9eed295f8ca7b8831f8c27ec6c833c63b2b4"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "ab680b6ef58106766de8aeae909ffd313abc03f2400a06e2b3f8371e211a0a0d"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "47280c825f065cfbfccbef0077032f3c04a75f860eb5a31861515295b6a85050"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "25a93f49d789d3d5d6d3fa82cbfc5f5c195a8da4d1dfb12c113d29b125e71e79"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "2922c1a06f37322c05b6ad66a95fd7cdc2ad10a86ee082739810060a932bea55"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "5dadafb7e44eb174c717101a336b00a03b8f7fefb606f356c0ae4b00209d5723"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "047f3c1b05ac28e1e566451e6b93fbb88e300afb0f264faf17e72ac5f9aae201"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "f0de9a6713f197a4664183b4fe80179543588cbaf83d4f174f360177e0149a6d"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "5343cc2302d49a57c3fabb7b03ca4f11a0eb979bbab7442262bc34186b3bd596"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "91ab977a9089fc68ed54062cee6d0a71caa2591ec5d4994181d8939605baa114"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "1d4c0d24b2558bd311f9f6cf44186596f9634d7a5c69b4b7648b59a2443272bd"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "7c13ae7155b92b7aaec599fffdbc8c02fde8b6575f892fd3e5edf67c3102790b"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "1a6d8fe7cf0df7ccee2047c2031da4b8f0ef8271d6413e0c7bc87bf208c8af90"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "3b9793fe7957031f88f240254326697e685de3690aac1fa13d447cb2a23a2738"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "63fd411e37656bfe56fec468f47dca7a61ffe5f9be3ab1c23ad252b8199f39d5"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "3a5510c7a996a50e94e68c05cff1fbf31a7cc787d2bd173828d867d4b8d22243"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "cf2004a5134c6240bfb05f499cee09f425295ce0bd8d170b0832a845b4d255c3"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "186753142ed4c28eded8861e399ff33bc7738ba75c112507b4acb53ccd11b13c"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "57cf456aed64517f69801d6c19a143aa9a90f85de015be22b8a2e2d4a6b33d23"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "09c833d17aa31e99fa0aae3eb5f296c643c34ea22d94f8b5ff64e2b871e70dbe"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "5b2fca43e84335e8b0cdb5d341402d5b1b57016881e7112a0ae8f5c5374f8857"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "f1a03f0e4c69d796d5fd4b26aed1d356dfdcdd5ce7f180bf045a97ce308f13c2"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "0167a7dcc31364818981372dce640c408a4bfd2983b5bc3d2726b5525873361e"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "92dac800255e1ba12c48b8078b8098ae1b3980401c6da54c3798d853c6685c13"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "e0f7c028869ac2d1edf582622fa2dfe5c6c6dfe042f8d74bc3ec9080dc70a36c"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "02669ae0b19e3b1cb8589b583b6de0b0b62f2987ef126c7fcc2efa2cd63e714f"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "855f6c7bf2bb01e08b8e20e7c8d633000c70e64fd37405695be7cf3cee515be1"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "348dc193a4bfc6fc53d203cae7e5b5af68c56bcb01ffec0f7c427017f5d3b98f"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "7a79a9967b0522199c62ea03edc27cd2752c80eeba816a9334e9624f48c7525d"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "5cc04f7915a31d54d858d0e532e49829ab45ccd250416aed1612774c960d0cb9"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "59ff7d6cd90eb7a4f2e34adacec95ef728e4fe1739a098a22da8843c5a2da1c0"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "529a65d93b5da907cc8f2389996e783d261fcd03711c92aab7be0ee05e92aba5"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "62c8c769fc847b2fd564e85748e0b8b1249555d86e09d38212566e4dbbb9526c"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "fbc42b7aaf60f83da91b76905ddca103cbdfa660824343348c7b5325977b9e70"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "7377752db6d01993cde0ac9d73234bf8538cee217e3d11089a50c4c2be447751"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "5909ddaa88ad8408b8590518ea4b738d7f581ee827ecd679bd8ebd2208287c5e"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "7c9de38b184ca8d10b0d7035c0b31cde79103a25efc516b98f6a2d91e054d7e8"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "8668f081a5c976cde7bcea6727d1885d77711c11bbb4a0023c9759d6f0bfb619"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "dff7ae0b0a4b18eaae1501a03ad754e71794cef3981334bbc77cd55f15b42fa2"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "3b20b9fe8eee700192296d70b93ff5f21d6667093cbff16303679a3491c78fd7"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "fb4c5e7689668af719f2ed2c16d7605298e61003b6d9490a67742b6146b0f98b"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "f3d379924e56b8296004be9c3dbf381cf3535bf1790e44ee2bb1f6477829def1"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "1768c0e05770c502fe3122dd1c37dbd1e51b9b5c5aaa7cf57a5590e9217393d4"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "95d77215bd1332cefba9dac1f55eaf3f479927526ca6ed38281837b3c8fbac39"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "0af5c23d8e11ec797537c9710b179c7f6ae182bb4831f535848aba0b229ea89f"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "1befe0623ee71fdc3f7508b532a411fb5f8438ca06963f79cd9c3d20c3fdaa7f"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "d61a8bc5eb6b78a4a9d36078ce5946487e0bb9f89ceaba0feb7c449d486feacb"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bcfdfe861bfd7447cab99a03826013e77e004ef9b01927b5dbeb0afd40f46f67"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "0b4c596542e65af735a2f66a61743492c146c51373acf7026274378033a6431d"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "96cd11044613c0a924eee6272313f21e01b987982732d6bcc362935d799fa6ff"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "8640aae3dc8d965ac3c0aa65e3579e7613d0c78dfabb06d23840d39df8881ec0"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "b1b84b405b4d0f5c87ab750ed5942d29018e46b73e298296dc9931f8b3981998"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "006e932d4b7474b5f24628d08ec5e28d45b9a23dfb144599fda2b0969f57863e"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "b70aa31702ea42b85e6ed678cc20bff94267a746cb81ac70dec0d84a244b489f"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "c33442ce4cb0d9355c915fa1ea3407f67c0470e8711055bb2fb275e612a64fa4"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "19d6b48b415d48c278f5ec203ee03136a5f80a8ee566e336de187694ab9862a9"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "eddcf8119a9680c2676720f33d0fbe750e015d7d21f07325bd47dea0b7cc5bd9"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "703e8e9da4bd1adb2e1ca77b221c4ce80d9e2b63be7b27eb34c0fed29a2d76b6"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "3c2fe1bb3bc7d9d0bf1006962e635262b7ab23017ea703746d436e25b68d7ec6"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "602942788ce157b3d2d6a02d0105e1da632a055bf657282131a0946f87a4431d"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "de47061063986cff65ae50537a2dbc0abb3d5ec7f1fc5b2a3c8aa66dc4ca4a6e"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "2d3c4a294c1dc8ece94de489dbef9ce3b4222b0883c5f61f1f90fa881329cd53"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "0ae9ae73771c7429e7f6ec457e656bef034d211a191e5125dc09006a4157b57a"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "8618faa41d021e98d5d010efbead4440828f9f2cc485068fef3f3fef39713bdf"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "e91bbb7a5bc1052b2f8558598fc9c4cb610314bf026c5eae97a7e85badcc096f"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "1b2c610711bfa05aa0ecbd4ddd81724d29f3f162798cdb35b2c15b1a07cc5743"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "c4495bdfc92b1089a3c812d863df20856d585ad9601f41a8c99a522df216736a"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "55a5fc7eef3d8a4bb2ea7b19eff6dbeddf9fe9f239f645b996aba44477cb4bf3"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "ca09ceaf455f7fdc93e871617f73200eedd9cff32e8704ead4fd68b86190a8ac"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "b6f09b29afe73ab3a25a8cfa2b88ef7f51b83f501990fc80fa886da75916a257"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "920de5e59f13894e0f2b008cbecf4089b1b36087744ee4bc050b32e1887f8e7b"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "fee6df7cce32d81675c91116ed89996ceaf5de1cc3fde028b04d6012338527b0"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "d6587c2a00e4c1a9c38a75f64085bd66e100482a7977dfbb3434bc6a902be313"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "b6066271412a7d4faa2fa028b03f88061477bd5a0ea5e7d5ec8e3e81c52ce166"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "c0de3fcf13a0947239a1310d862deaf5d37836f82f4d618f9aaf09ed69fcfcfc"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "b929dffdf57cb08087e2ec4054ba58368cc5535579d336872b4016d5bddc9ceb"; }
-    { locale = "ku"; arch = "linux-i686"; sha256 = "4926a59d15eda575ec3a0b32f8ebecd12a354b80746efc61d0630a91720c5e9b"; }
-    { locale = "ku"; arch = "linux-x86_64"; sha256 = "04083b8b57ab3e5693637ca424daa18ab678594b37a56ba4ba9e70c369782002"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "730ef2c9920b0eb6e511d5725780ce3d6c2b341d03049e6cb8e83ceeeaf191d7"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "b068b0e242ff84055665eb9688d392d98e433ed0c44793734f264b340c2efdf5"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "885ad622f8a36bb5385187995423e811be28a169c8f33d8eec064f04f45e85cc"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "d289b593c8c6ccef5d0ee339de674385b08ee28da7b851230da20469aeba7558"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "e5558f1cd93264f7f30a9259c28cc50131782d1941388b71f80b1672a29c597f"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "61788b9ef4f13369114abe4a16e7ee89e16d791cf5d3e1eb74eedb88c3a90e9b"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "a9991d23913da8fe6dcf47aacc23b92055c7019265d6c7a01d9d6b3c7ffa4c4d"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "946420fd821b3ec97bfa1fab52b22111428da0ed919e86c0d33be53b30f5d476"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "bf10e053684e5e71eb1886f4127743937a560eee15e7c85c9849bc4b15a60123"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "b5d1d9d3eaff11f230c864799c77c8169415ee5dd2e1dab944d91ce1c8e8c054"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "c899ba567d847933fa40e3bf1be26e8a5fd3bdf4af45db60cb9198b1a6c98ee8"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "fb069df12d603c808c798e43d3ef92868c239a130e078e7492456d1f54cac882"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "14027be4ec9f060b3ac69975dfa1da7aa0b58531383bd335fe3dca98f06597a8"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "a18dc57bd2b73bf733a0ad61b7ac9b8b4bd149260a4c59fed171b76e52eaed41"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "3fbd39a0c2def17862e266ef295a38f93400135898348e6321fd37829461660c"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "0fb3bab95d1aa501304069aad3c4a8ec38088f3b86ebbd0ef58f29c9d837602d"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "1c36cae02772a2e7465f1b6a67e91d169120724c0f13aaa06ff66a095084d71f"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "7a64797441cc03f947c98c5ebdfb7c36caa2daf0597374904a25e6d499501de5"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "32b93da5068e6cd76c4bde1833592d89d0c2ebf3d9b4ac636e7b00e7007edb6d"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6dfa7bd9edfe177e03a4f3244760c7d75db1c6edb291bf05df2db31156235743"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "d9fa7e708e90c20ebb1c2b2df9bf866817f87cc8638b886c6d69ba5033e6482d"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fd431fe5784dd4d5b42b53bea56439db95f5bebc4b8f47517e2cdd4ff5ebaa7c"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "83f358e0e8e545ee4bdb01da4795f4609edd5c504150260241274b205f4df5ae"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "128c80cc0c6e2ff558960b8f4d191239b92a38ed4537dc58b77c7c464254992b"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "87af71809038e38b00bbefc8795aa8fdba6bbe6fae0a7a6c82e9e752044b8573"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "263c8f80b2e7f4cb86f829cea41c92ec876fa77c945cfb46452e456a55f72685"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "32dad8cb30e70394b118d305135d86ffc4ad1fc345cafb063712a7d288e04209"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "97231cd5c4fc5e5c125d6ead400ea941c60bcadecaa46200a485e2df79e6ccc6"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9f5fcbc0c9f70c02e997483888dd69c5a510cdf07f4d6d6447c04c258ad60681"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "2921da4f0d1018201c2db7e65823f36fc307d46759cd0cf94d3667f8c1ae719f"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6aebbc3a93961d2baeeb2e07f00b57c4abd73d1ffe4ff21f9bc4812c98b0025d"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "59cf5be7d0a3390ac0094a436b7b498bf26a42c178082f2ba2a79273f4ba8a44"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "b57ca3477f1869cdbe474b875640a0516d6dac660aeb2b16f1902f776131aeec"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "0cdad1a4bc9af986bdab8cafd0efc0d96c0010d8c86797e0cd58de9b90fad5cd"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "1cf86aa09a145bd190ee815a2dc66129f0f05fb4c30802c9f85d977ec370dbe8"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "6e10324605e7b50adee8597ce9694c318125131e301c7c5608e15206784d2475"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "30d902defb08ab7661c369118729e78046fd0bb17ae9ac080587d105c44c7e04"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "a3ad52e02e346f5c51ea58b92ebda1f5d98234583dbd1627e002ee95db150837"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "367ba16e7505ac93908443861ef76f7bcb9444a65add1155a3e80bbc97564c72"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "018c013809857c5bda53b931080c40e8152a229f3d2b079975d381cb106059a7"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "471da0ef940666ed3442a576b085ed065a6da4de102f59aacaf2168c84d127de"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "4cb690b5c1b8a97f83eeb8d26870f19492ed61463765eae29294946f3fb173fd"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "863a1866b30700a6b22775b8b7c01ad27502ee3bd73ed20a874a9cac0a889638"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "1c2c815b9fbf5cef9bd0b732bf47d56c1ecfc554ca4573d3fb67be3351a35bf9"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "aaa955cb028036b3f70e0284eedfcfb2b655dd6b7bd6f717ec0609323ad6a897"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "84751dbf1e16f8912bd71f24a9c80805ac3a7aa32f30eeb2f3f945113ff4c1ee"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "50ef1fe3d72312a78d951bda1892b7548d46669ddcb60f0af5a22fdd1b8f23aa"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "05b24a18a637a730804dc485f86e3b3d4ce3046ff81689984c0e14d6e55c9ade"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "3388ec26ca4c9ac2ed327037bc73eddcd7fd390765107e47fa3953c53e0ab1f2"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "d81f19076ce990256fdd4c5e7bdf39f8f70d24f3057a1383aa100d259844ada9"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "3ae73ff229c1280ab7b271c29096804839c5d92ef0c15f7a8a8366946ba24720"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "77f723f41ec258309a66e8c808ff4ebc5705ba115bf2417f87943d381d6b57e8"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "6897b368738eed28e6b2b17529d6e6656d22f228ecaae04c4f8c539a1dfc3d6c"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "831bdc86dd2023f273c55276c81181027a0e701520aba397308ad662076a6ee4"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "3a33e92dc25ea10c55b5ca56345e5b8659c99ca335112e049ba9edb9017c09b4"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "3c071efaef763ea731caa1c6cb97357c13e07b112d923b3c3ef7ee22badbeca9"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "7982fa0407ff8f3a955c7a74b70fb9fd10cc06f7f06d429ce06cc60fe4b7b635"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "06f54c193ba9bbf19774e8d507c9e15414a9859584de806900ccb0bcb546178e"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "c1565d373b951065a1c6ac827590f944e1524d5a91748bd42740ea25210ece31"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "6d49988225ae1a662e1fd721910f445bf1c111bef6894153b2092a4117391bdb"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "f03049ea0b8bd86d95e386bb79a90513087691b725a90e01fec4f7a54803ba0b"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "5bac7c50bb2a850c208c8410a2deab0b37e03a02f33d52e3d4097ce2c8718d37"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "ee6b3f27f68c3d37e8170c7222249c1459e4530f61438a0f1553fe36213c5ce7"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1cb80cac3b942d588e133ccad7ac8c77d3af31cf6ddd9676ffa7be130434788c"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "86f7bab77885e5cf391d9dca758f8c1112bea9dd249dc7d2f184845da9df6316"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "07d874163ace6a820dfca49829032efd1b1a612e76c14a012287db39841280b7"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "27a7039cdd5be498d2de89e2993264c432e36309bb5c40bd519212de6f8b3469"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f65d8334d5fb6b7bdcb6b212c232e2bad3d8d2718d96dba7c149a6bb2add81c8"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "1aab3b3aad0adbb72edc3db1780838bb2fdf80554eb9eb00fe7b50918bef843c"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "b322ec6027b6760855520dbc40b6e934f931b64c0a859682e4014ee1bdb2b321"; }
-    { locale = "zu"; arch = "linux-i686"; sha256 = "f29d8c82b595edb03a42b0c8896e1880efe2fd14e87802501c4007088bf3ad9c"; }
-    { locale = "zu"; arch = "linux-x86_64"; sha256 = "bed6ddb23da87c4d7f469d92a1cec9817a41b51012bb30145227633b3265e998"; }
+    { 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 7c38f275169cf..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
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index b439fdfa3c44a..6d4a8078dc83a 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 = "32.0.1"; 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 = "346754273e345e20f21b2d22cccb33e807507005";
+    sha1 = "1f831147365478e353212714038e812ca3e9fe42";
   };
 
   buildInputs =
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       # For grsecurity kernels
-      paxmark m $out/lib/*/{plugin-container,xulrunner}
+      paxmark m $out/lib/${name}/{firefox,firefox-bin,plugin-container}
 
       # Remove SDK cruft. FIXME: move to a separate output?
       rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
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/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 201a6b947c1ac..e1bcbf923677b 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -82,5 +82,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.opera.com;
     description = "Web browser";
+    license = "unfree";
   };
 }
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
index 98679e9609ec9..0b0fc359a6bef 100644
--- a/pkgs/applications/networking/copy-com/default.nix
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -15,12 +15,12 @@ let
   
 in stdenv.mkDerivation {
   
-  name = "copy-com-1.4";
+  name = "copy-com-1.47.0410";
 
   src = fetchurl {
     # Note: copy.com doesn't version this file. Annoying.
     url = "https://copy.com/install/linux/Copy.tgz";
-    sha256 = "f8da6dbfdaac71c4c4e9102671cf8fbe4ac5cb1dac63464783b8b62a7939b6fa";
+    sha256 = "a48c69f6798f888617cfeef5359829e619057ae0e6edf3940b4ea6c81131012a";
   };
 
   buildInputs = [ coreutils patchelf ];
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/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix
index d60d39ac028d3..a37f831deed1c 100644
--- a/pkgs/applications/networking/ids/bro/default.nix
+++ b/pkgs/applications/networking/ids/bro/default.nix
@@ -1,22 +1,21 @@
 {stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl, geoip, gperftools }:
 
 stdenv.mkDerivation rec {
-  name = "bro-2.1";
+  name = "bro-2.3.1";
   
   src = fetchurl {
     url = "http://www.bro.org/downloads/release/${name}.tar.gz";
-    sha256 = "1q2mm7rbgjcn01na2wm5fdfdm9pggzgljxj0n127s93fip3vg0qd";
+    sha256 = "0008wq20xa3z95ccjspxgx7asvny28r7qlj254zdnbax6cgd4cpz";
   };
   
   buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ];
 
-  USER="something";
-
   enableParallelBuilding = true;
   
-  meta = {
+  meta = with stdenv.lib; {
     description = "Powerful network analysis framework that is much different from the typical IDS you may know";
     homepage = http://www.bro.org/;
-    license = "BSD";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
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/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index 8685e704af4bb..22e9143953ec1 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gnutls glib pkgconfig libotr ]
     ++ optional doCheck check;
 
-  configureFlaags = [
+  configureFlags = [
     "--gcov=1"
     "--otr=1"
     "--ssl=gnutls"
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index a00a68ff9f289..41bd4ca451312 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {
                   perl perlXMLParser evolution_data_server gnome_doc_utils avahi
                   libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
                   gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
-                  hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
-                  pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
-                  libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
+                  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"
   ];
 
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
new file mode 100644
index 0000000000000..438b6f35145de
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, qt5, openal, opencv }:
+
+
+stdenv.mkDerivation rec {
+  name = "qtox-dev-20140918";
+
+  src = fetchFromGitHub {
+    owner = "tux3";
+    repo = "qTox";
+    rev = "f06ec65bca";
+    sha256 = "0r7qc444bgsxawyya5nw3xk1c50b90307lcwazs8mn35h4snr97m";
+  };
+
+  buildInputs = [ pkgconfig libtoxcore qt5 openal opencv ];
+
+  configurePhase = "qmake";
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp qtox $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "QT Tox client";
+    license = licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
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/telepathy/kde/0.5.3.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix
deleted file mode 100644
index eb0543aa5b0ff..0000000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-[
-{name="ktp-accounts-kcm";key="accounts_kcm";sha256="0nmjwbm7ycy5awwlx359889am7qbvs64gk0bd1800a9jl2lhvw56";}
-{name="ktp-approver";key="approver";sha256="0n0a2abbz7xvzp3p4l6khgbhbjylppvskcyma440fmfv3j3jdc12";}
-{name="ktp-auth-handler";key="auth_handler";sha256="11vfim3ck60cy22x84bz6cw0267kf884qa00nbm033kpwjbx4zr6";}
-{name="ktp-call-ui";key="call_ui";sha256="0gmppn4f5a9yd3pnzga3sdwz37c7qpmx586914r64jbkii196xg4";}
-{name="ktp-common-internals";key="common_internals";sha256="1lkmaym8bv5ijy7sksbihr63qify9b9vrhrikck6q23n8sk112n9";}
-{name="ktp-contact-applet";key="contact_applet";sha256="0gsf1m276mhvysy30qqw1h7ssdipyyjh43jbf2lx4bb934by9wby";}
-{name="ktp-contact-list";key="contact_list";sha256="19nlzs650lwmzr30lrviv0qw1xd061pdrk17cm512ldvzibc70ab";}
-{name="ktp-contact-runner";key="contact_runner";sha256="0x3zkk11x9npx30w330s8n49ybqlyhgcndvqizg4sbj1lfbrmhn1";}
-{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="0w90hsypzgakqx96xkf0wk2qqns6v5ji814gvc3rf9ajcwh0d024";}
-{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0sz0d1yfj35q5r1gc4m6v2c8r0cik2vzvkqfx9pqy8g97d7q1nmj";}
-{name="ktp-presence-applet";key="presence_applet";sha256="081jas1vzh6nwj3w60bw3w95gpdbi74pdi9rdxv0wvra5w76s4i6";}
-{name="ktp-send-file";key="send_file";sha256="19nlm4sfa0m0y856nzs3hrncbznc35zwbsxavssd9wrbb8p9cns6";}
-{name="ktp-text-ui";key="text_ui";sha256="0g8114adqyvzsdm8ldhidf2gyxkv0bnky71zg70gmhkdmzcfssyn";}
-{name="telepathy-logger-qt";key="telepathy_logger_qt";sha256="17bfkbxc7gfcspmjd5w6vn9a75f36qinj7illqafb7k0jqqz2nq6";}
-]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
new file mode 100644
index 0000000000000..6beebef1c7277
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
@@ -0,0 +1,14 @@
+[
+{name="ktp-accounts-kcm";key="accounts_kcm";sha256="08b873k455jbs9vd5nsb222pr1kb7gjx3qky769654j696rad5bc";}
+{name="ktp-approver";key="approver";sha256="07qsjxvcjr9i0v7g7cdx3rky1fa8aany5fyfav488kq6nc13fjb1";}
+{name="ktp-auth-handler";key="auth_handler";sha256="00gq5gq7imv7rv8xivl2s1n0k39llpmd5z46rvhai76z7hp8sj4l";}
+{name="ktp-call-ui";key="call_ui";sha256="1dwsq2ixci95byfg1ayy6g2zv0dbc0273r9wb395f220dgqpz7b4";}
+{name="ktp-common-internals";key="common_internals";sha256="049hh045p6nccyrjvagfw183vfa857xdl96q2w1vrj6frimniz9q";}
+{name="ktp-contact-list";key="contact_list";sha256="0xydyyla48y7q8pf84i12l7fx13p0gi8k4jl7nl7jxjsflzidscp";}
+{name="ktp-contact-runner";key="contact_runner";sha256="1bfb772cyzrbwjkglr3bvawp44dcqr59kkgvb6irgha8w7adic3b";}
+{name="ktp-desktop-applets";key="desktop_applets";sha256="150mpk7vq2w47vz2yffhj676k84fn3h8g77xklmyqm1y3f21dx01";}
+{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="07jgfydhr5hh7z0wkrz6k4gh3li9nmyxhjvxcxsayxrc7gnhazja";}
+{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0axjqsk1h9c71hxpcy8ls7jsb0dsmsm75wdgwx71xrdb9hpqwn9f";}
+{name="ktp-send-file";key="send_file";sha256="0wiqrwhrmccx3ic0aaqlq539jcznkgsrwyn9hdizwsc8f33rxmri";}
+{name="ktp-text-ui";key="text_ui";sha256="0ch6sqvj9hpx3823c1wmziqy6g9v97sj1hihbaf8z8wyb84f0wbl";}
+]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
index d41db2e449834..564952480f23b 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs
-, pkgconfigUpstream , qt_gstreamer, telepathy_glib, telepathy_logger, qjson, flex, bison }:
+{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs, farstream
+, pkgconfigUpstream , qt_gstreamer1, telepathy_glib, telepathy_logger, qjson, flex, bison, qca2 }:
 
 let
   pkgconfig = pkgconfigUpstream;
-  version = "0.5.3";
+  version = "0.8.80";
   manifest = import (./. + "/${version}.nix");
 
   overrides = {
@@ -13,11 +13,12 @@ let
   };
 
   extraBuildInputs = {
-    auth_handler = [ qjson ];
-    call_ui = [ qt_gstreamer telepathy_glib ];
+    auth_handler = [ qjson qca2 ];
+    call_ui = [ qt_gstreamer1 telepathy_glib farstream ];
     contact_applet = [ kde_workspace ];
-    telepathy_logger_qt = [ telepathy_logger qt_gstreamer ];
-    text_ui = [ ktp.telepathy_logger_qt qt_gstreamer telepathy_logger ];
+    telepathy_logger_qt = [ telepathy_logger qt_gstreamer1 ];
+    text_ui = [ qt_gstreamer1 telepathy_logger qjson ];
+    common_internals = [ telepathy_qt ];
   };
 
   extraNativeBuildInputs = {
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index f7d1a010ed8f3..39de30e5dce4c 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -2,21 +2,23 @@
 , libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }:
 
 let
-  version = "0.4.7";
+  version = "0.5.1";
 in stdenv.mkDerivation rec {
   name = "toxic-${version}";
 
   src = fetchurl {
     url = "https://github.com/Tox/toxic/archive/v${version}.tar.gz";
-    sha256 = "0rcrcqzvicz7787fa4b7f68qnwq6wqbyrm8ii850f1w7vnxq9dkq";
+    sha256 = "0zzfgwm17a4xcy9l0ll2pksp45mz6f4s3isdrgjpw1xibv9xnzcm";
   };
 
-  makeFlags = [ "-Cbuild" "VERSION=${version}" ];
+  makeFlags = [ "-Cbuild" "VERSION=${version}" "PREFIX=$(out)" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [
-    autoconf libtool automake libtoxcore libsodium ncurses openal libvpx
-    freealut libconfig pkgconfig
+    autoconf libtool automake libtoxcore libsodium ncurses
+    libconfig pkgconfig
+  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+    openal libvpx freealut
   ];
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index c7f33c1f5805a..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
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index b49d5f40a86bf..99753f6ceeb47 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -3,13 +3,13 @@
 
 
 stdenv.mkDerivation rec {
-  name = "utox-dev";
+  name = "utox-dev-20140921";
 
   src = fetchFromGitHub {
     owner = "notsecure";
     repo = "uTox";
-    rev = "a840b459210694fdf02671567bf33845a11d4c83";
-    sha256 = "0jr0xajkv5vkq8gxspnq09k4bzc98fr3hflnz8a3lrwajyhrnpvp";
+    rev = "c0afc95cf3";
+    sha256 = "0a6i0c9crj6b27alm8q0fcfj8q425khg5305sp57r7pj505l4d1f";
   };
 
   buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
   
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
     description = "Lightweight Tox client";
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 245619fddf078..5b9b3c54f92c0 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -3,12 +3,12 @@
 , pythonPackages, cacert, cmake, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.0.1";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "1z17wyrl5fp697qp44srpmzk79w37f5hm1r0krffbmga6sbzdj3x";
+    sha256 = "0ly6lih7nvhacjs642v7n9z0x3lbgipiza00n632vrpi2zfvclrz";
   };
 
   buildInputs = 
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
index 2b4c5f564bece..00ff1110c32fc 100644
--- a/pkgs/applications/networking/linssid/default.nix
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
   };
 
-  buildInputs = [ qt5 pkgconfig boost ];
+  buildInputs = [ qt5 pkgconfig boost boost.lib ];
 
   postPatch = ''
     sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
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 0f51719e97912..4ab85026dedc2 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchurl, pythonPackages, gnupg1orig, makeWrapper }:
+{ stdenv, fetchgit, pythonPackages, gnupg1orig, makeWrapper, openssl }:
 
 pythonPackages.buildPythonPackage rec {
   name = "mailpile-${version}";
   version = "0.4.0";
 
-  src = fetchurl {
-    url = "https://github.com/pagekite/Mailpile/archive/${version}.zip";
-    sha256 = "1di859lnhmlih4byfpsj8x6wjvzrddw0ng0w69bsj5f9bdy4rgq4";
+  src = fetchgit {
+    url = "git://github.com/pagekite/Mailpile";
+    rev = "af3e2554dcef892cc44e044ce61e1693f09228c0";
+    sha256 = "0p8j5w5281rjl0nigsw7glfp7inz13p6iqlr9g3m3vh72i9pvl7h";
   };
   
   patchPhase = ''
@@ -19,7 +20,8 @@ pythonPackages.buildPythonPackage rec {
   ];
 
   postInstall = ''
-    wrapProgram $out/bin/mailpile --prefix PATH ":" "${gnupg1orig}/bin"
+    wrapProgram $out/bin/mailpile \
+      --prefix PATH ":" "${gnupg1orig}/bin:${openssl}/bin"
   '';
 
   meta = with stdenv.lib; {
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 0827ca2cc7581..fa48a8a0a2f5f 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.1.0"; in
+let version = "31.1.2"; 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 = "08d231541a80a79180826f98dde732c5796191f4";
+    sha1 = "a3983e7d29bd70e8117ca26f5b9873c68675caa9";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
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..ccf129881f5dc 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
@@ -15,11 +15,14 @@ stdenv.mkDerivation rec {
   configureFlags = "--with-libboost-inc=${boost}/include "
     + "--with-libboost-lib=${boost}/lib";
 
-  enableParallelBuilding = true;
+  # https://github.com/qbittorrent/qBittorrent/issues/1992 
+  #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/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/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 8d6de404f9867..3f3bedb546d6c 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
         --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
     done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   # The following settings fix failures in the test suite. It's not required otherwise.
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/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index a2f07bfe43dfa..2b00b640d73bf 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.61";
+  name = "gtkwave-3.3.62";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1f8cw7xfr83mc5j6vq53jzzyw3n6pqdmrj4a7pm53m1wvjgk4w3v";
+    sha256 = "1ykc5j11rkfcinsl9cza9k93jwvcj04xxz0i446lwby4svcbaa9i";
   };
 
   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/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix
index f23622de8a035..8664b822cca79 100644
--- a/pkgs/applications/science/logic/coq/8.3.nix
+++ b/pkgs/applications/science/logic/coq/8.3.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
    cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
   '' else "";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Coq proof assistant";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ roconnor vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index 1be95a17eedee..4081465fbd27d 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -1,23 +1,24 @@
 # - coqide compilation can be disabled by setting lablgtk to null;
 
-{stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+{stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let 
-  version = "8.5pre-fbbb86b";
+  version = "8.5pre-01feb42";
+  coq-version = "8.5";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
-  idePath = if buildIde then ''
-    CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
-  '' else "";
 in
 
 stdenv.mkDerivation {
   name = "coq-${version}";
 
+  inherit coq-version;
+  inherit ocaml camlp5;
+
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "f7c6b864a509a4cca11cac5fbd5d37efc";
-    sha256 = "0v84pjxx361afkipgwkc4d2wmn7v1c5n2y8d264kc26i58cgrrf4";
+    rev = "01feb4206d26b41bfaab9bd45a7b2fc4db569baf";
+    sha256 = "e6d44ebc3019b2650c6e320218b264f5bde68bf6f222b356d41b0a38918e839f";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -32,8 +33,17 @@ stdenv.mkDerivation {
     substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)"
   '';
 
+  setupHook = writeText "setupHook.sh" ''
+    addCoqPath () {
+      if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
+        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+      fi
+    }
+
+    envHooks=(''${envHooks[@]} addCoqPath)
+  '';
+
   preConfigure = ''
-    buildFlagsArray=(${idePath})
     configureFlagsArray=(
       -opt
       ${ideFlags}
@@ -44,7 +54,7 @@ stdenv.mkDerivation {
 
   buildFlags = "revision coq coqide";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Coq proof assistant";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -53,8 +63,8 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index da77a4c5a9aa7..f0f62bfb35378 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -1,19 +1,20 @@
 # - coqide compilation can be disabled by setting lablgtk to null;
 
-{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
-let 
+let
   version = "8.4pl4";
+  coq-version = "8.4";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
-  idePath = if buildIde then ''
-    CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
-  '' else "";
 in
 
 stdenv.mkDerivation {
   name = "coq-${version}";
 
+  inherit coq-version;
+  inherit ocaml camlp5;
+
   src = fetchurl {
     url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
     sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6";
@@ -31,7 +32,6 @@ stdenv.mkDerivation {
   '';
 
   preConfigure = ''
-    buildFlagsArray=(${idePath})
     configureFlagsArray=(
       -opt
       -camldir ${ocaml}/bin
@@ -44,7 +44,17 @@ stdenv.mkDerivation {
 
   buildFlags = "revision coq coqide";
 
-  meta = {
+  setupHook = writeText "setupHook.sh" ''
+    addCoqPath () {
+      if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
+        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+      fi
+    }
+
+    envHooks=(''${envHooks[@]} addCoqPath)
+  '';
+
+  meta = with stdenv.lib; {
     description = "Formal proof management system";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -53,8 +63,8 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/hol_light/Makefile.patch b/pkgs/applications/science/logic/hol_light/Makefile.patch
new file mode 100644
index 0000000000000..ae521004f3383
--- /dev/null
+++ b/pkgs/applications/science/logic/hol_light/Makefile.patch
@@ -0,0 +1,13 @@
+Index: Makefile
+===================================================================
+--- /Makefile	(révision 199)
++++ /Makefile	(copie de travail)
+@@ -59,7 +59,7 @@
+              then cp pa_j_3.1x_6.02.1.ml pa_j.ml; \
+              else if test ${CAMLP5_VERSION} = "6.02.2" -o ${CAMLP5_VERSION} = "6.02.3" -o ${CAMLP5_VERSION} = "6.03" -o ${CAMLP5_VERSION} = "6.04" -o ${CAMLP5_VERSION} = "6.05" -o ${CAMLP5_VERSION} = "6.06" ; \
+                   then cp pa_j_3.1x_6.02.2.ml pa_j.ml; \
+-                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" ; \
++                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" ; \
+                        then cp pa_j_3.1x_6.11.ml pa_j.ml; \
+                        else cp pa_j_3.1x_${CAMLP5_BINARY_VERSION}.xx.ml pa_j.ml; \
+                        fi \
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index a3c49ab294e99..9b8f25cab7799 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -10,16 +10,18 @@ in
 
 stdenv.mkDerivation rec {
   name     = "hol_light-${version}";
-  version  = "198";
+  version  = "199";
 
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
     rev = version;
-    sha256 = "1y7vivj5l84fb7wqn38qbykpgs8ql2gmqxxch1yn5mg1cf9iiqsx";
+    sha256 = "0308nw91iww18wvl30g5ygf6lhw329jh1vqi9hsh30inhb3dx3jw";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
 
+  patches = [ ./Makefile.patch ];
+
   installPhase = ''
     mkdir -p "$out/lib/hol_light" "$out/bin"
     cp -a  . $out/lib/hol_light
@@ -32,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
     license     = licenses.bsd2;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice z77z ];
+    maintainers = with maintainers; [ thoughtpolice z77z vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index a7c1420cb540f..88bbe820e2f33 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl, perl, nettools, polyml, proofgeneral }:
+{ stdenv, fetchurl, perl, nettools, java, polyml, proofgeneral }:
 # nettools needed for hostname
 
 let
-  dirname = "Isabelle2013";
+  dirname = "Isabelle2014";
   theories = ["HOL" "FOL" "ZF"];
 in
 
 stdenv.mkDerivation {
-  name = "isabelle-2013";
+  name = "isabelle-2014";
   inherit dirname theories;
 
-  src = fetchurl {
-    url = http://isabelle.in.tum.de/dist/Isabelle2013_linux.tar.gz;
-    sha256 = "0l17s41hwzma0q2glpxrzic8i6mqd9b7awlpwhz0jkli7fj6ny7b";
-  };
+  src = if stdenv.isDarwin
+    then fetchurl {
+      url = http://isabelle.in.tum.de/dist/Isabelle2014_macos.tar.gz;
+      sha256 = "1aa3vz2nnkkyd4mlsqbs69jqfxlll5h0k5fj9m1j9wqiddqwvwcf";
+    }
+    else fetchurl {
+      url = http://isabelle.in.tum.de/dist/Isabelle2014_linux.tar.gz;
+      sha256 = "0z81pwwllavka4r57fx6yi9kbpbb9xbanp8dsjix49qpyj2a72jy";
+    };
 
-  buildInputs = [ perl polyml nettools ];
+  buildInputs = [ perl polyml ]
+             ++ stdenv.lib.optionals (!stdenv.isDarwin) [ nettools java ];
 
   sourceRoot = dirname;
 
-  patches = [ ./settings.patch ];
-
   postPatch = ''
     ENV=$(type -p env)
     patchShebangs "."
@@ -28,22 +32,25 @@ stdenv.mkDerivation {
       --replace /usr/bin/env $ENV
     substituteInPlace lib/Tools/install \
       --replace /usr/bin/env $ENV
-    substituteInPlace src/Pure/IsaMakefile \
-      --replace /bin/bash /bin/sh
     substituteInPlace etc/settings \
       --subst-var-by ML_HOME "${polyml}/bin" \
       --subst-var-by PROOFGENERAL_HOME "${proofgeneral}/share/emacs/site-lisp/ProofGeneral"
+    substituteInPlace contrib/jdk/etc/settings \
+      --replace ISABELLE_JDK_HOME= '#ISABELLE_JDK_HOME='
+    substituteInPlace contrib/polyml-5.5.2-1/etc/settings \
+      --replace 'ML_HOME="$POLYML_HOME/$ML_PLATFORM"' \
+                "ML_HOME=\"${polyml}/bin\""
   '';
 
   buildPhase = ''
-    ./build $theories
+    ISABELLE_JDK_HOME=${java} ./bin/isabelle build -s $theories
   '';
 
   installPhase = ''
     mkdir -p $out/bin
     mv $TMP/$dirname $out
     cd $out/$dirname
-    bin/isabelle install -p $out/bin
+    bin/isabelle install $out/bin
   '';
 
   meta = {
@@ -56,5 +63,6 @@ stdenv.mkDerivation {
     '';
     homepage = http://isabelle.in.tum.de/;
     license = "LGPL";
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
   };
 }
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
deleted file mode 100644
index a784e5fe1b6e9..0000000000000
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-# TODO:
-# - coq needs to be invoked with the explicit path to the ssreflect theory
-#   e.g. coqide -R ~/.nix-profile/lib/coq/user-contrib/ ''
-
-{stdenv, fetchurl, ocaml, camlp5, coq, makeWrapper}:
-
-let
-  pname = "ssreflect";
-  version = "1.5";
-  name = "${pname}-${version}";
-  webpage = http://www.msr-inria.inria.fr/Projects/math-components;
-in
-
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchurl {
-    url = "http://ssr.msr-inria.inria.fr/FTP/${name}.tar.gz";
-    sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
-  };
-
-  buildInputs = [ ocaml camlp5 coq makeWrapper ];
-
-  patches = [ ./static.patch ];
-
-  installPhase = ''
-    COQLIB=$out/lib/coq/ make -f Makefile.coq install -e
-    mkdir -p $out/bin
-    cp bin/* $out/bin
-    for i in $out/bin/*; do
-      wrapProgram "$i" \
-        --add-flags "-R" \
-        --add-flags "$out/lib/coq/user-contrib/Ssreflect" \
-        --add-flags "Ssreflect"
-    done
-    makeWrapper "${coq}/bin/coqide" "$out/bin/ssrcoqide" --add-flags "-coqtop" --add-flags "$out/bin/ssrcoq"
-  '';
-
-  meta = {
-    description = "Small Scale Reflection extension for Coq";
-    longDescription = ''
-      Small Scale Reflection (ssreflect) is an extension of the Coq Theorem
-      Prover which enable a formal proof methodology based on the pervasive
-      use of computation with symbolic representation
-    '';
-    homepage = webpage;
-    license = "CeCILL B FREE SOFTWARE LICENSE or CeCILL FREE SOFTWARE LICENSE";
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
-  };
-}
diff --git a/pkgs/applications/science/logic/ssreflect/static.patch b/pkgs/applications/science/logic/ssreflect/static.patch
deleted file mode 100644
index 2211d88025828..0000000000000
--- a/pkgs/applications/science/logic/ssreflect/static.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- ssreflect1.4-coq8.4/Make	(revision 3823)
-+++ ssreflect1.4-coq8.4/Make	(working copy)
-@@ -1,10 +1,10 @@
--### Uncomment for static linking
--##
--#-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -opt -o bin/ssrcoq src/ssrmatching.cmx src/ssreflect.cmx" "src/ssrmatching.cmx src/ssreflect.cmx" bin/ssrcoq
--#-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -o bin/ssrcoq.byte src/ssrmatching.cmo src/ssreflect.cmo" "src/ssrmatching.cmo src/ssreflect.cmo" bin/ssrcoq.byte
--#-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
--#SSRCOQ = bin/ssrcoq
--##
-+## Uncomment for static linking
-+#
-+-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -opt -o bin/ssrcoq src/ssrmatching.cmx src/ssreflect.cmx" "src/ssrmatching.cmx src/ssreflect.cmx" bin/ssrcoq
-+-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -o bin/ssrcoq.byte src/ssrmatching.cmo src/ssreflect.cmo" "src/ssrmatching.cmo src/ssreflect.cmo" bin/ssrcoq.byte
-+-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
-+SSRCOQ = bin/ssrcoq
-+#
- 
- ## What follows should be left untouched by the final user of ssreflect
- -R theories Ssreflect
-
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/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index e59bb9fe666a1..2bd1aa893c558 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  version = "2.7.1";
+  version = "2.7.2";
   name = "pari-${version}";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc";
+    sha256 = "1b0hzyhafpxhmiljyhnsh6c27ydsvb2599fshwq2fjfm96awjxmc";
   };
 
   buildInputs = [gmp readline];
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/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix
index b3bde7874cab6..644ec3be5693f 100644
--- a/pkgs/applications/science/math/sloane/default.nix
+++ b/pkgs/applications/science/math/sloane/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sloane";
-  version = "1.9.1";
-  sha256 = "0scnvir7il8ldy3g846xmrdkk2rxnlsiyqak0jvcarf2qi251x5i";
+  version = "1.9.3";
+  sha256 = "0xl3dmi6czwfbi17742hqxf3d6sl9dci08qszrkdmasnvivakg78";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -23,6 +23,6 @@ cabal.mkDerivation (self: {
     description = "A command line interface to Sloane's On-Line Encyclopedia of Integer Sequences";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.akc ];
+    maintainers = with self.stdenv.lib.maintainers; [ akc ];
   };
 })
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/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 bf5b8d51c374e..cbbdb6b7075d5 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -17,8 +17,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140915";
-  sha256 = "0csd16vqmr4s6x627ikkl8dz6hvr2grqkzjxh0hbkqrirfsxj0kk";
+  version = "5.20140927";
+  sha256 = "02zmg8pcrdavfna2xy51n6chn6i5g0b8p20rba1vj29rlfj3cask";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
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/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 877c65afccf57..b21cd35b7016a 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 
 let
 
-  version = "2.1.0";
+  version = "2.1.2";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "19q1as2bjh4yifmgw6cciwfw0dswxppaf5iq8h8934i33bf15mwd";
+    sha256 = "12x1qycc0rii6fqpiizp9v9ysdmj6lpi9imqqbrkdx6cifbwh9vv";
   };
 
   patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
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/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
index a3d4783d20d11..d729159316d27 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, makeWrapper
-, jdk
+, jre
 , gtk, glib
 , libXtst
 , git, mercurial, subversion
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     makeWrapper
-    jdk
+    jre
   ];
 
   buildCommand = let
     pkg_path = "$out/${name}";
     bin_path = "$out/bin";
     runtime_paths = lib.makeSearchPath "bin" [
-      jdk
+      jre
       git mercurial subversion
       which
     ];
@@ -43,10 +43,15 @@ stdenv.mkDerivation rec {
     # 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 JDK_HOME : ${jdk}/lib/openjdk
+      --prefix JRE_HOME : ${jre} \
+      --prefix JAVA_HOME : ${jre} \
+      --prefix SMARTGITHG_JAVA_HOME : ${jre}
     patchShebangs $out
   '';
 
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index a2089e04e70e0..b42e781704a03 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -21,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
@@ -42,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";
 
diff --git a/pkgs/applications/video/cmplayer/default.nix b/pkgs/applications/video/cmplayer/default.nix
new file mode 100644
index 0000000000000..3fa38646d9df1
--- /dev/null
+++ b/pkgs/applications/video/cmplayer/default.nix
@@ -0,0 +1,83 @@
+{ 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
+    patchShebangs src/mpv/waf
+  '';
+
+  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 a9f9c78d332ff..c58ac268b6701 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -22,7 +22,8 @@
 # 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);
@@ -49,23 +50,23 @@ assert cacaSupport -> libcaca != null;
 
 let
   waf = fetchurl {
-    url = https://waf.googlecode.com/files/waf-1.7.15;
-    sha256 = "e5ae7028f9b2d8ce1acb9fe1092e8010a90ba764d3ac065ea4e846743290b1d6";
+    url = http://ftp.waf.io/pub/release/waf-1.7.16;
+    sha256 = "b64dc26c882572415fd450b745006107965f3fe17b357e3eb43d6676c9635a61";
   };
 
 in
 
 stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.5.0";
+  version = "0.5.4";
 
   src = fetchurl {
     url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
-    sha256 = "17mmc6xm8yir2p379h00q3wy7rplz2s31h6sxswmzbh72xf10g96";
+    sha256 = "1n992nvylnh27jc6425daasq0nsxjfc1mxhhlhvlwzxm724x94xp";
   };
 
   buildInputs = with stdenv.lib;
-    [ waf freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
+    [ waf python3 lua perl freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
     ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
@@ -87,9 +88,6 @@ stdenv.mkDerivation rec {
     ++ optional vaapiSupport libva
     ;
 
-  nativeBuildInputs = [ python3 lua perl ];
-
-
 # There are almost no need of "configure flags", but some libraries
 # weren't detected; see the TODO comments below
 
@@ -127,8 +125,6 @@ stdenv.mkDerivation rec {
   };
 }
 
-# Many thanks @matejc for this update: 0.5.0 and vaapi (experimental)
-
 # TODO: Wayland support
 # TODO: investigate libquvi problems (related to Youtube support)
 # TODO: investigate caca support
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/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 4c58262a5f106..eaa903d369809 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "simplescreenrecorder-${version}";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchurl {
     url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
-    sha256 = "0caal8jq47d56ld57cdf2lr1ji350v09j5chgvgxv2pbqmqga4p5";
+    sha256 = "00ra4isl4yf5l6q1cp97ss46jck1iayv1d23iz4885yzxknvhhjn";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index 6d192c967f782..404659208cfcf 100644
--- a/pkgs/applications/video/xbmc/default.nix
+++ b/pkgs/applications/video/xbmc/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
       homepage = http://xbmc.org/;
       description = "Media center";
       license = "GPLv2";
-      platforms = stdenv.lib.platforms.linux; 
+      platforms = stdenv.lib.platforms.linux;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
 }
diff --git a/pkgs/applications/video/xbmc/plugins.nix b/pkgs/applications/video/xbmc/plugins.nix
new file mode 100644
index 0000000000000..d34fba9ade738
--- /dev/null
+++ b/pkgs/applications/video/xbmc/plugins.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchFromGitHub, xbmc }:
+
+let
+
+  pluginDir = "/lib/xbmc/plugin";
+
+  mkXBMCPlugin = { plugin, namespace, version, src, meta, ... }:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+    inherit src meta;
+    name = "xbmc-plugin-${plugin}-${version}";
+    passthru = {
+      xbmcPlugin = pluginDir;
+      namespace = namespace;
+    };
+    dontStrip = true;
+    installPhase = ''
+      d=$out${pluginDir}/${namespace}
+      mkdir -p $d
+      cp -R $src/* $d
+    '';
+  };
+
+in
+{
+
+  advanced-launcher = mkXBMCPlugin rec {
+
+    plugin = "advanced-launcher";
+    namespace = "plugin.program.advanced.launcher";
+    version = "2.5.7";
+
+    src = fetchFromGitHub {
+      owner = "Angelscry";
+      repo = namespace;
+      rev = "f6f7980dc66d041e1635bb012d79aa8b3a8790ba";
+      sha256 = "0wk41lpd6fw504q5x1h76hc99vw4jg4vq44bh7m21ism85ds0r47";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.xbmc.org/showthread.php?tid=85724";
+      description = "A program launcher for XBMC";
+      longDescription = ''
+        Advanced Launcher allows you to start any Linux, Windows and
+        OS X external applications (with command line support or not)
+        directly from the XBMC GUI. Advanced Launcher also give you
+        the possibility to edit, download (from Internet resources)
+        and manage all the meta-data (informations and images) related
+        to these applications.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+  svtplay = mkXBMCPlugin rec {
+
+    plugin = "svtplay";
+    namespace = "plugin.video.svtplay";
+    version = "4.0.6";
+
+    src = fetchFromGitHub {
+      owner = "nilzen";
+      repo = "xbmc-" + plugin;
+      rev = "4f27254edbd6dc48350152832833c5b164ca58de";
+      sha256 = "11r8vljpx9fxwdx20cvkb5szlaypfrn6c235jwcg61s4hmjy4kl8";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.xbmc.org/showthread.php?tid=67110";
+      description = "Watch content from SVT Play";
+      longDescription = ''
+        With this addon you can stream content from SVT Play
+        (svtplay.se). The plugin fetches the video URL from the SVT
+        Play website and feeds it to the XBMC video player. HLS (m3u8)
+        is the preferred video format by the plugin.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/video/xbmc/wrapper.nix b/pkgs/applications/video/xbmc/wrapper.nix
new file mode 100644
index 0000000000000..b1017c7098c7e
--- /dev/null
+++ b/pkgs/applications/video/xbmc/wrapper.nix
@@ -0,0 +1,46 @@
+{ stdenv, lib, makeWrapper, xbmc, plugins }:
+
+let
+
+  p = builtins.parseDrvName xbmc.name;
+
+in
+
+stdenv.mkDerivation {
+
+  name = "xbmc-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/share/xbmc/addons/packages
+    ${stdenv.lib.concatMapStrings
+        (plugin: "ln -s ${plugin.out
+                            + plugin.xbmcPlugin
+                            + "/" + plugin.namespace
+                          } $out/share/xbmc/addons/.;") plugins}
+    $(for plugin in ${xbmc}/share/xbmc/addons/*
+    do
+      $(ln -s $plugin/ $out/share/xbmc/addons/.)
+    done)
+    $(for share in ${xbmc}/share/xbmc/*
+    do
+      $(ln -s $share $out/share/xbmc/.)
+    done)
+    makeWrapper ${xbmc}/bin/xbmc $out/bin/xbmc \
+      --prefix XBMC_HOME : $out/share/xbmc;
+  '';
+
+  preferLocalBuilds = true;
+
+  meta = with xbmc.meta; {
+    inherit license homepage;
+    description = description
+                + " (with plugins: "
+                + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins))
+                + ")";
+
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 95db0dd67a1c2..a3e7a5b2994df 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl
-, pkgconfig, gtk
-, libX11 , mesa
+{ stdenv, fetchurl, config
+, pkgconfig, libtool
+, gtk, mesa, readline, libX11, libXpm
+, docbook_xml_dtd_45, docbook_xsl
 , sdlSupport ? true, SDL ? null
-, termSupport ? true , ncurses ? null, readline ? null
-, wxSupport ? false, wxGTK ? null
+, termSupport ? true , ncurses ? null
+, wxSupport ? false, wxGTK ? null # Warning! Broken
+# Optional, undocumented dependencies
 , wgetSupport ? false, wget ? null
-, curlSupport ? false, curl ? null }:
+, curlSupport ? false, curl ? null
+}:
 
 assert sdlSupport -> (SDL != null);
-assert termSupport -> (ncurses != null&& readline != null);
+assert termSupport -> (ncurses != null);
 assert wxSupport -> (gtk != null && wxGTK != null);
 assert wgetSupport -> (wget != null);
 assert curlSupport -> (curl != null);
@@ -23,33 +26,125 @@ stdenv.mkDerivation rec {
     sha256 = "0nlrl218x93vz97n46aw2szsalx97r020mn43fjsif100v7zix6f";
   };
 
+  # The huge list of configurable options
+  # Blatantly based on ffmpeg expressions
+
+  termSupport = config.bochs.termSupport or true;
+  sdlSupport = config.bochs.sdlSupport or true;
+  wxSupport = config.bochs.wxSupport or false;
+  largefile = config.bochs.largefile or true;
+  idleHack = config.bochs.idleHack or true;
+  plugins = config.bochs.plugins or false; # Warning! Broken
+  a20Pin = config.bochs.a20Pin or true;
+  emulate64Bits = config.bochs.emulate64Bits or false;
+  smp = config.bochs.smp or false;
+  largeRamfile = config.bochs.largeRamfile or true;
+  repeatSpeedups = config.bochs.repeatSpeedups or false;
+  handlersChaining = config.bochs.handlersChaining or false;
+  traceLinking = config.bochs.traceLinking or false;
+  configurableMSRegs = config.bochs.configurableMSRegs or false;
+  showIPS = config.bochs.showIPS or true;
+  debugger = config.bochs.debugger or false;
+  disasm = config.bochs.disasm or false;
+  debuggerGui = config.bochs.debuggerGui or false;
+  gdbStub = config.bochs.gdbStub or false;
+  IODebug = config.Bochs.IODebug or false;
+  fpu = config.bochs.fpu or true;
+  svm = config.bochs.svm or false;
+  avx = config.bochs.avx or false;
+  evex = config.bochs.evex or false;
+  x86Debugger = config.bochs.x86Debugger or false;
+  pci = config.bochs.pci or true;
+  uhci = config.bochs.uhci or false;
+  ohci = config.bochs.ohci or false;
+  ne2k = config.bochs.ne2k or true;
+  pNIC = config.bochs.pNIC or true;
+  e1000 = config.bochs.e1000 or true;
+  clgd54xx = config.bochs.clgd54xx or true;
+  voodoo = config.bochs.voodoo or true;
+  cdrom = config.bochs.cdrom or true;
+  sb16 = config.bochs.sb16 or true;
+  es1370 = config.bochs.es1370 or true;
+  gameport = config.bochs.gameport or true;
+  busMouse = config.bochs.busMouse or false;
+
   buildInputs = with stdenv.lib;
-  [ pkgconfig gtk libX11 mesa ]
+  [ pkgconfig libtool gtk mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL ]
-  ++ optionals termSupport [ readline ncurses ]
   ++ optionals wxSupport [ wxGTK ]
   ++ optionals wgetSupport [ wget ]
   ++ optionals curlSupport [ curl ];
 
-  configureFlags = ''
-    --with-x11
-    --with-term=${if termSupport then "yes" else "no"}
-    --with-sdl=${if sdlSupport then "yes" else "no"}
-    --with-svga=no
-    --with-wx=${if wxSupport then "yes" else "no"}
-    --enable-readline
-    --enable-plugins=no
-    --enable-disasm
-    --enable-debugger
-    --enable-ne2000
-    --enable-e1000
-    --enable-sb16
-    --enable-voodoo
-    --enable-usb
-    --enable-pnic
-'';
+  configureFlags = [
+    "--with-x=yes"
+    "--with-x11=yes"
+
+    "--with-rfb=no"
+    "--with-vncsrv=no"
+    "--with-svga=no" # it doesn't compile on NixOS
+    "--with-wx=no"
+
+    # These will always be "yes" on NixOS
+    "--enable-ltdl-install=yes"
+    "--enable-readline=yes"
+    "--enable-all-optimizations=yes"
+    "--enable-logging=yes"
+    "--enable-xpm=yes"
+
+    # ... whereas these, always "no"!
+    "--enable-cpp=no"
+    "--enable-instrumentation=no"
+
+    "--enable-docbook=no" # Broken - it requires docbook2html
+
+    # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation
+    "--enable-3dnow=no"
+    "--enable-usb-xhci=no"
+    "--enable-monitor-mwait=no"
+    "--enable-raw-serial=no" ]
+    # Boolean flags
+    ++ stdenv.lib.optional termSupport "--with-term"
+    ++ stdenv.lib.optional sdlSupport "--with-sdl"
+    ++ stdenv.lib.optional wxSupport "--with-wx"
+    ++ stdenv.lib.optional largefile "--enable-largefile"
+    ++ stdenv.lib.optional idleHack "--enable-idle-hack"
+    ++ stdenv.lib.optional plugins "--enable-plugins"
+    ++ stdenv.lib.optional a20Pin "--enable-a20-pin"
+    ++ stdenv.lib.optional emulate64Bits "--enable-x86-64"
+    ++ stdenv.lib.optional smp "--enable-smp"
+    ++ stdenv.lib.optional largeRamfile "--enable-large-ramfile"
+    ++ stdenv.lib.optional repeatSpeedups "--enable-repeat-speedups"
+    ++ stdenv.lib.optional handlersChaining "--enable-handlers-chaining"
+    ++ stdenv.lib.optional traceLinking "--enable-trace-linking"
+    ++ stdenv.lib.optional configurableMSRegs "--enable-configurable-msrs"
+    ++ stdenv.lib.optional showIPS "--enable-show-ips"
+    ++ stdenv.lib.optional debugger "--enable-debugger"
+    ++ stdenv.lib.optional disasm "--enable-disasm"
+    ++ stdenv.lib.optional debuggerGui "--enable-debugger-gui"
+    ++ stdenv.lib.optional gdbStub "--enable-gdb-stub"
+    ++ stdenv.lib.optional IODebug "--enable-iodebug"
+    ++ stdenv.lib.optional fpu "--enable-fpu"
+    ++ stdenv.lib.optional svm "--enable-svm"
+    ++ stdenv.lib.optional avx "--enable-avx"
+    ++ stdenv.lib.optional evex "--enable-evex"
+    ++ stdenv.lib.optional x86Debugger "--enable-x86-debugger"
+    ++ stdenv.lib.optional pci "--enable-pci"
+    ++ stdenv.lib.optional uhci "--enable-usb"
+    ++ stdenv.lib.optional ohci "--enable-usb-ohci"
+    ++ stdenv.lib.optional ne2k "--enable-ne2000"
+    ++ stdenv.lib.optional pNIC "--enable-pnic"
+    ++ stdenv.lib.optional e1000 "--enable-e1000"
+    ++ stdenv.lib.optional clgd54xx "--enable-clgd54xx"
+    ++ stdenv.lib.optional voodoo "--enable-voodoo"
+    ++ stdenv.lib.optional cdrom "--enable-cdrom"
+    ++ stdenv.lib.optional sb16 "--enable-sb16"
+    ++ stdenv.lib.optional es1370 "--enable-es1370"
+    ++ stdenv.lib.optional busMouse "--enable-busmouse"
+    ;
 
-  NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
+  NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/ -I${libtool}/include/";
+  NIX_LDFLAGS="-L${libtool}/lib";
 	
   meta = with stdenv.lib; {
     description = "An open-source IA-32 (x86) PC emulator";
@@ -67,3 +162,5 @@ stdenv.mkDerivation rec {
 }
 
 # TODO: study config.bochs.* implementation (like config.ffmpeg.* options)
+# TODO: investigate the wxWidgets problem (maybe upstream devteam didn't update wxGTK GUI)
+# TODO: investigate svga support - the Bochs sources explicitly cite /usr/include/svga.h
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index d4d680f05fa2f..182d89e5f22d3 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -34,6 +34,7 @@ buildPythonPackage rec {
       avahi
       glib
       gobjectIntrospection
+      gsettings_desktop_schemas
     ];
 
   configurePhase = ''
@@ -51,7 +52,7 @@ 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 XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
+            --prefix XDG_DATA_DIRS : "$out/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
     done
 
     ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 422e8966bfaf7..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 =
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/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index 55ef839014843..8d236c52a0bf6 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -136,6 +136,6 @@ stdenv.mkDerivation {
     description = "Xen hypervisor and management tools for Dom0";
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    broken = true;
+    broken = true; # bump to at least 4.1.6.1 to fix security issues
   };
 }
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/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 3b1c3b4ad37aa..f3d88c55c5895 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -2,7 +2,7 @@
 , fontconfig, xlibs, automake, pkgconfig, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = "icewm-1.3.7";
+  name = "icewm-1.3.8";
 
   buildInputs =
     [ gettext libjpeg libtiff libungif libpng
@@ -13,11 +13,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/icewm/${name}.tar.gz";
-    sha256 = "0yw813d8amrl0n1fvdiyznxah92wcylj9kj1qhjc6h73d827h6na";
+    sha256 = "066d1mw0vm9ygxnyxksfi6k4vzclvnlkvj04pj3kbcmv1fg8sn0p";
   };
 
-  patches = [ ./deprecated.patch ];
-
   NIX_LDFLAGS = "-lfontconfig";
 
   # The fuloong2f is not supported by 1.3.6 still
diff --git a/pkgs/applications/window-managers/icewm/deprecated.patch b/pkgs/applications/window-managers/icewm/deprecated.patch
deleted file mode 100644
index 7d22dfe719bd2..0000000000000
--- a/pkgs/applications/window-managers/icewm/deprecated.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.2.37-libX11-1.5.0-deprecated.patch?revision=1.1
-
-Description: Don't use "deprecated" as identifier, will FTBFS if another
- library defines functions as deprecated.
-Author: Andreas Moog <amoog@ubuntu.com>
-Bug: https://sourceforge.net/tracker/?func=detail&aid=3494034&group_id=31&atid=100031
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/935179
-Forwarded: Yes
-
---- icewm-1.3.7.orig/src/base.h
-+++ icewm-1.3.7/src/base.h
-@@ -2,9 +2,9 @@
- #define __BASE_H
- 
- #if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
--#define deprecated __attribute__((deprecated))
-+#define ICEWM_deprecated __attribute__((deprecated))
- #else
--#define deprecated
-+#define ICEWM_deprecated
- #endif
- 
- /*** Atomar Data Types ********************************************************/
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..85663ff3bf5fe 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -2,19 +2,28 @@
 
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
-  version = "0.95.5";
+  version = "0.95.6";
+  srcName = "WindowMaker-${version}";
 
   src = fetchurl {
-    url = "http://windowmaker.org/pub/source/release/"
-        + "WindowMaker-${version}.tar.gz";
-    sha256 = "1l3hmx4jzf6vp0zclqx9gsqrlwh4rvqm1g1zr5ha0cp0zmsg89ab";
+    url = "http://windowmaker.org/pub/source/release/${srcName}.tar.gz";
+    sha256 = "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3";
   };
 
   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/fetchadc/builder.sh b/pkgs/build-support/fetchadc/builder.sh
new file mode 100644
index 0000000000000..ceeaa9213d651
--- /dev/null
+++ b/pkgs/build-support/fetchadc/builder.sh
@@ -0,0 +1,7 @@
+source $stdenv/setup
+
+loginpage=`curl --insecure -s -L -b cookies.txt "$url"`
+
+[[ $loginpage =~ form[^\>]+action=\"([^\"]+)\" ]] && loginurl=${BASH_REMATCH[1]}
+
+curl  --insecure -s --output "$out" -L -b cookies.txt --data "appleId=${adc_user}&accountPassword=${adc_pass}" "https://idmsa.apple.com/IDMSWebAuth/${loginurl}"
diff --git a/pkgs/build-support/fetchadc/default.nix b/pkgs/build-support/fetchadc/default.nix
new file mode 100644
index 0000000000000..ac7a442de315a
--- /dev/null
+++ b/pkgs/build-support/fetchadc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, curl, adc_user, adc_pass }:
+
+let
+  impureEnvVars = [
+    # We borrow these environment variables from the caller to allow
+    # easy proxy configuration.  This is impure, but a fixed-output
+    # derivation like fetchurl is allowed to do so since its result is
+    # by definition pure.
+    "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+  ];
+in
+
+{ # Path to fetch.
+  path
+
+  # Hash of the downloaded file
+, sha256
+
+, # Additional curl options needed for the download to succeed.
+  curlOpts ? ""
+
+, # Name of the file.  If empty, use the basename of `path'.
+  name ? ""
+}:
+
+stdenv.mkDerivation {
+  url = "https://developer.apple.com/downloads/download.action?path=${path}";
+
+  name    = if name != "" then name else baseNameOf path;
+  builder = ./builder.sh;
+
+  buildInputs = [ curl ];
+
+  meta = {
+    # Password-guarded files from ADC are certainly unfree, as far as we're concerned!
+    license = stdenv.lib.licenses.unfree;
+  };
+
+  outputHashAlgo = "sha256";
+  outputHash     =  sha256;
+  outputHashMode = "flat";
+
+  inherit curlOpts adc_user adc_pass;
+
+  preferLocalBuild = true;
+}
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 0c6e16551b4a3..66792229585a7 100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -25,10 +25,20 @@ tryDownload() {
     local url="$1"
     echo
     header "trying $url"
+    local curlexit=18;
+
     success=
-    if $curl --fail "$url" --output "$downloadedFile"; then
-        success=1
-    fi
+
+    # if we get error code 18, resume partial download
+    while [ $curlexit -eq 18 ]; do
+       # keep this inside an if statement, since on failure it doesn't abort the script
+       if $curl -C - --fail "$url" --output "$downloadedFile"; then
+          success=1
+          break
+       else
+          curlexit=$?;
+       fi
+    done
     stopNest
 }
 
diff --git a/pkgs/build-support/replace-dependency.nix b/pkgs/build-support/replace-dependency.nix
index 098637b4f9b9d..ed65b9dad1dbd 100644
--- a/pkgs/build-support/replace-dependency.nix
+++ b/pkgs/build-support/replace-dependency.nix
@@ -49,8 +49,13 @@ let
 
   referencesOf = drv: getAttr (discard (toString drv)) references;
 
-  dependsOnOld = drv: elem oldStorepath (referencesOf drv) ||
-    any dependsOnOld (referencesOf drv);
+  dependsOnOldMemo = listToAttrs (map
+    (drv: { name = discard (toString drv);
+            value = elem oldStorepath (referencesOf drv) ||
+                    any dependsOnOld (referencesOf drv);
+          }) (builtins.attrNames references));
+
+  dependsOnOld = drv: getAttr (discard (toString drv)) dependsOnOldMemo;
 
   drvName = drv:
     discard (substring 33 (stringLength (builtins.baseNameOf drv)) (builtins.baseNameOf drv));
@@ -65,15 +70,12 @@ let
 
   rewrittenDeps = listToAttrs [ {name = discard (toString oldDependency); value = newDependency;} ];
 
-  rewrittenDerivations = drv:
-    if dependsOnOld drv
-      then listToAttrs [ {
-        name = discard (toString drv);
+  rewriteMemo = listToAttrs (map
+    (drv: { name = discard (toString drv);
+            value = rewriteHashes (builtins.storePath drv)
+              (filterAttrs (n: v: builtins.elem (builtins.storePath (discard (toString n))) (referencesOf drv)) rewriteMemo);
+          })
+    (filter dependsOnOld (builtins.attrNames references))) // rewrittenDeps;
 
-        value = rewriteHashes drv (rewrittenDeps // (fold (drv: acc:
-          (rewrittenDerivations drv) // acc
-        ) {} (referencesOf drv)));
-      } ]
-      else {};
 in assert (stringLength (drvName (toString oldDependency)) == stringLength (drvName (toString newDependency)));
-getAttr (discard (toString drv)) (rewrittenDerivations drv)
+getAttr (discard (toString drv)) rewriteMemo
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/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..2ec66152f7dcb 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.73";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "981038ecffcf6db490c0bc4359f489c318654068a6ba5aa086962ac41b0d2894";
+    sha256 = "01qcafrq9z55kh5q97fir13l9cg2a1ls7ijkgzj99kgc6vkc90h5";
   };
 
   preBuild =
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 5c9903c99717a..f6b62623c4a1a 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "cantarell-fonts-0.0.15";
+  name = "cantarell-fonts-0.0.16";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.15.tar.xz;
-    sha256 = "0zmwzzfjrlpkdjb475ann11m53a2idm76ydd2rw1hjmdr74dq72j";
+    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.16.tar.xz;
+    sha256 = "071g2l89gdjgqhapw9dbm1ch6hnzydhf7b38pi86fm91adaqggqm";
   };
 
   meta = {
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    description = "Default typeface used in the user interface of GNOME since version 3.0";
     platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.ofl;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.10/default.nix b/pkgs/desktops/gnome-3/3.10/default.nix
index ae491d6245382..a252f29ab2716 100644
--- a/pkgs/desktops/gnome-3/3.10/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/default.nix
@@ -133,7 +133,7 @@ rec {
 
   totem-pl-parser = callPackage ./core/totem-pl-parser { };
 
-  tracker = callPackage ./core/tracker { };
+  tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
 
   vte = callPackage ./core/vte { };
 
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/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index 011424820e827..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,7 +1,7 @@
-{ 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 = "3";
   moduleName   = "vte";
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     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..a46f49cbb5a33 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -164,10 +164,12 @@ rec {
 
   totem-pl-parser = callPackage ./core/totem-pl-parser { };
 
-  tracker = callPackage ./core/tracker { };
+  tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
 
   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/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
index c303ccdf51e21..48a0860140715 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "3.12.2";
+  version = "3.12.3";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "665c1d228c02148a8a1a5675d352cd4397a02c0c9992af2e9f0258dcc6b812ec";
+    sha256 = "03f48kaidgbnyi4c7qgkwvnxs5rz7nk9m3iqfpsbhc512c8qnc1f";
   };
 
   buildInputs = [ intltool autoreconfHook pkgconfig vala glib
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/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/kde-4.14/applications/kate.nix b/pkgs/desktops/kde-4.14/applications/kate.nix
new file mode 100644
index 0000000000000..e7a6476dd6df1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/applications/kate.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}:
+
+kde {
+
+  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ];
+
+  meta = {
+    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/applications/konsole.nix b/pkgs/desktops/kde-4.14/applications/konsole.nix
new file mode 100644
index 0000000000000..bd4e9e58cd05c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/applications/konsole.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, kde_baseapps }:
+
+kde {
+
+  buildInputs = [ kdelibs kde_baseapps ];
+
+  meta = {
+    description = "Konsole, the KDE terminal emulator";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/default.nix b/pkgs/desktops/kde-4.14/default.nix
new file mode 100644
index 0000000000000..2a20bde568b59
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/default.nix
@@ -0,0 +1,44 @@
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.14.1" }:
+
+let
+  branch = "4.14";
+
+  # Need callPackageOrig to avoid infinite cycle
+  kde = callPackageOrig ./kde-package {
+    inherit release branch ignoreList extraSubpkgs callPackage;
+  };
+
+  # The list of igored individual modules
+  ignoreList = {
+    # Doesn't work yet
+    kdeutils = [ "ksecrets" ];
+    # kdeadmin/strigi-analyzer has no real code
+    kdeadmin = [ "strigi-analyzer" ];
+    # Most of kdebindings do not compile due to a bug in the buildsystem
+    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
+  };
+
+  # Extra subpackages in the manifest format
+  extraSubpkgs = {};
+
+in
+
+kde.modules // kde.individual //
+{
+  inherit (kde) manifest modules individual splittedModuleList;
+
+  akonadi = callPackage ./support/akonadi { };
+
+  qt4 = qt48;
+
+  kdebase_workspace = kde.modules.kde_workspace;
+
+  inherit release;
+
+  full = stdenv.lib.attrValues kde.modules;
+
+  l10n = callPackage ./l10n {
+    inherit release branch;
+    inherit (kde.manifest) stable;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch
new file mode 100644
index 0000000000000..378cdb6469400
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3d3e247..f78db67 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,10 @@
+-find_package(KDE4 REQUIRED)
+-include(KDE4Defaults)
++project(kde-wallpapers NONE)
++if( WALLPAPER_INSTALL_DIR )
++  message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
++else()
++  find_package(KDE4 REQUIRED)
++  include(KDE4Defaults)
++endif()
+ 
+ install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)
+ 
diff --git a/pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch b/pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch
new file mode 100644
index 0000000000000..c85eccd6beb64
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/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.14/files/polkit-install.patch b/pkgs/desktops/kde-4.14/files/polkit-install.patch
new file mode 100644
index 0000000000000..d2ecac663ec5f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/files/polkit-install.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
+--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake	2011-05-20 22:24:54.000000000 +0200
++++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake	2011-07-12 14:03:00.000000000 +0200
+@@ -139,7 +139,7 @@
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/desktops/kde-4.14/kactivities.nix b/pkgs/desktops/kde-4.14/kactivities.nix
new file mode 100644
index 0000000000000..9a08b58e1ea4f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kactivities.nix
@@ -0,0 +1,15 @@
+{ fetchurl, kde, kdelibs, nepomuk_core }:
+
+kde {
+
+  src = fetchurl {
+    url = "mirror://kde/stable/4.13.3/src/kactivities-4.13.3.tar.xz";
+    sha256 = "12l9brpq8mr9hqqmnlz9xfsfr8ry6283b32nfqfx0p3f7w19vjy7";
+  };
+
+  propagatedBuildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "KDE activities library and daemon";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-base-artwork.nix b/pkgs/desktops/kde-4.14/kde-base-artwork.nix
new file mode 100644
index 0000000000000..3f416cebddc4a
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-base-artwork.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs }:
+
+kde {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Base artwork";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix
new file mode 100644
index 0000000000000..a65f33e13de1d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, htmlTidy, kactivities
+, nepomuk_core, nepomuk_widgets, libXt }:
+
+kde {
+  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
+
+  meta = {
+    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/4.14.1.nix b/pkgs/desktops/kde-4.14/kde-package/4.14.1.nix
new file mode 100644
index 0000000000000..477e116e5e08b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/4.14.1.nix
@@ -0,0 +1,627 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="143fhmgbmy7nlhhlbgh4s9ripqiidlx9bfrcrhamhgl11jjdr0mc";}
+  {name="analitza";value="18w35j4pag0s075d6yykkqg9cwfgx88zv0qgzas58qhzd3kjcijf";}
+  {name="ark";value="17imd7pfzjd1vfr69499fg51hmymzspax8l64gskmygdwbx7shh8";}
+  {name="artikulate";value="1gqvwz5amwssgjkldzg9gnixi88i5vdmk3s1bq94i0z3p0y3h88a";}
+  {name="audiocd-kio";value="02aq2qs01kz79jdi0sqr6hs7y1z8f4lf9mpv687pfv4g82fg2jh7";}
+  {name="baloo";value="0nvq2j81y75zf0f2p08av8iw7dc84826fsa93l14334ci245lar7";}
+  {name="baloo-widgets";value="11ma80nsb6x1wfh83k4g5aafwqsz6j9c4xmnbcc8bm57wssd8jxc";}
+  {name="blinken";value="11mmm12465bfikpzl486pznprj2rgcnxvpr4mniqfdjcijsfwdwd";}
+  {name="bomber";value="1lkn2nasyynf4kyrard39mckgfq558255ry07r3z7cvn9m8hc08y";}
+  {name="bovo";value="0sfb24ksh8gg6b7269skmxs72kkgd9cbgz0xs1hvd5y8w9cmz3yl";}
+  {name="cantor";value="07i5p439b15wl106h7fq2c016cd6jpdi18rz5m9sylaaj87a5d26";}
+  {name="cervisia";value="0sspkafcbma2vig9r5dl1z70p95nm2y3rfzssng7i6kam6fr4yqd";}
+  {name="dolphin-plugins";value="0a4pvxz1s44lszy8mqvw8rzilmq3vrjb30y08j0gp7id1xc3lpn0";}
+  {name="dragon";value="0dnfhmpifcabc9y5w393pg7rw2425kqslh88ljkz4bh6yw767ihd";}
+  {name="ffmpegthumbs";value="1dmwwx96pp5vnrxk3f4vr08qwjny7ydmkdvzj1hmgsid1s283i6v";}
+  {name="filelight";value="03gr0ldpkbf2q3nx1w07mhgmilrn8mx0wy81140gd1wjwilk5d7x";}
+  {name="granatier";value="0dph80h7jj9d0wh67bp9m98i0imrq6dxv11rqylnfzsf70lp2xzs";}
+  {name="gwenview";value="0mybmdvblf05kif5aa1wc2g1sv30bnkd30kwn0f7s0xiq3kckf38";}
+  {name="jovie";value="1sgm1v93868sgjdjpfjn3kv7kjpg92lajm91qy1m49w2isg60f4v";}
+  {name="juk";value="1gqdidzq1bqbjkhf40abpfj2b0fkk4bpi8kb6crk3zfjhsfa7rbq";}
+  {name="kaccessible";value="002dwar3c965783si4y1q7qpv56s8mqddqz6mbx1qhmzy88br5q1";}
+  {name="kactivities";value="12l9brpq8mr9hqqmnlz9xfsfr8ry6283b32nfqfx0p3f7w19vjy7";}
+  {name="kajongg";value="07cpw5k03rg8f54g3a1vx6z5ihfid561yza8qihsmzyjay4v2hya";}
+  {name="kalgebra";value="132awnbgcr66xfb99mgqcnh7viyrvr7vdqxm9wwgmpa14n7lk56q";}
+  {name="kalzium";value="03rz0gl5pihs7xnw7i415bla8ck2afqzrb717xsf1lb7ihrsky8d";}
+  {name="kamera";value="0593gai9ysd6pb5qir5wikj9szj7dj35iy435rikfpc8gwfpnsaj";}
+  {name="kanagram";value="1s1pq7ldjgarwbf2m49r5pi6w88c1yn38b5d023qhrgjbw2kfbpy";}
+  {name="kapman";value="1lcm7miqrjjg469h5765gaqrcxzhm5279nps4v2x4vkng3s2pj1a";}
+  {name="kapptemplate";value="0h0gcc00l0mq5lmac2656xnadz8sp14vbzjq2zsxr5y0m3nmcfg4";}
+  {name="kate";value="0izgfkd15755g4g0hll0q9nbn21w0a0p0qa5mlxrhxdsik3f580q";}
+  {name="katomic";value="0f53q39vsk23r8ldikk24f083n52747jrkgd1hvama9amga74hlm";}
+  {name="kblackbox";value="0wndkaqmfj5c2s64sw8jhjrr6y7mrkmjgmnnadpw8gmkhkml6qzi";}
+  {name="kblocks";value="0rl2sf1jz3zh790vijazmg88wy1hj7r2pgmql6x2ccbd6pp8j9qw";}
+  {name="kbounce";value="1mq2xmx3886pgjyb91fk501kwyw6k49zm5qijyi7bw735dfcvqry";}
+  {name="kbreakout";value="1ba7n2392gxdsz4ijws01pv1w4djirqjbdqidqaknr2rrknfchk3";}
+  {name="kbruch";value="044p4q5668ng0gbbykmcb7xivx8djijp133ch8vy2gbg38xi81lj";}
+  {name="kcachegrind";value="12h7s1a5hz9l015qcjzm7w5xzk7v6h66qm7sfww49m6h0w1g41v8";}
+  {name="kcalc";value="02gkap5phz59h4sflz44f4az3xww97g6bsl8nin3x0skll0nxnlr";}
+  {name="kcharselect";value="0df30c854blqfzkarlpfxhls04gpi8d3sy9p9b1landaaqbbln9w";}
+  {name="kcolorchooser";value="1hxlizxk8ljxn9jgn7wn42i1h5zksdgvhiak7sgz1ci5x68622zw";}
+  {name="kcron";value="0g9yi9xg215n89rmqmkwnd55mv85m9nq6irmxvcmwy0x1cci23rp";}
+  {name="kdeartwork";value="18f36p9zfz6jgswnc7k45g6ahqd6glqxzp35q6pndk0bp448dg08";}
+  {name="kde-baseapps";value="0jclvwiwbkcd6l0k39v3hxn0pcj8lfn6g4rynq55ca4h3wwkwmdq";}
+  {name="kde-base-artwork";value="09gfxr4md2yl9c8alghpxn0hxlz931b7d000zv8hg4nvw00qrnaj";}
+  {name="kde-dev-scripts";value="12an5jhin26kdvk6kyc477dv00vfvwbg250402vmzx8ngs4crlg8";}
+  {name="kde-dev-utils";value="17ag4vl3lyvsg7m0chs83wvm67i4k49xhlkw4kvj4xryzbnf11m1";}
+  {name="kdegraphics-mobipocket";value="15nrzgh49zs73ja21ihd7pi6nzxm4c3zh4s7jjidz369qbafyj4x";}
+  {name="kdegraphics-strigi-analyzer";value="0wr8rq0mmp7jbj8y5zn2wccna7mv3myspvwlrpkplga0f3mxbnm7";}
+  {name="kdegraphics-thumbnailers";value="0iw0pslmqdrj94j26lj8sgvx6a8yy3pf6daxc5q4l580l5djq1k2";}
+  {name="kdelibs";value="0904qa0a8i1nhqcya9r3k6i5b1zyvm18g6a8w0abxm9fd089ps9p";}
+  {name="kdenetwork-filesharing";value="015rqw7gxapxnh0wxivyii36fg0n0spzsqv1x4qssj8ld8imvagv";}
+  {name="kdenetwork-strigi-analyzers";value="09m3zr8acwxy912lpdlk9p1daris2yh6fzfj3m76j822223knh83";}
+  {name="kdepim";value="0f9m59q30w9bdhjlhv3z72b9zrqnrjggafnsq26py8d58hg2lxms";}
+  {name="kdepimlibs";value="05ki1iacaraiwbabyiwzlr83f6askn4qf440cbsah8dyfm27srgb";}
+  {name="kdepim-runtime";value="0kc86l2qbb24w3389yrwwh4ww4yvnnj9wygmzm7cm51hbfjvd12p";}
+  {name="kdeplasma-addons";value="1nlnvj7k205cpkqkrbm0qpcfgc7rpb47xzv3r1z5iil9hz7d5jx6";}
+  {name="kde-runtime";value="1b6ag633jh519f1ncmmdy8j3ri6k7niblqsjmgk56xv4a9iy4cmg";}
+  {name="kdesdk-kioslaves";value="0brykgby8mh5laym4iwq7nz8q9slb79kc89jjlh4ci5n496h06v5";}
+  {name="kdesdk-strigi-analyzers";value="1gpp4pi59cd81kw6d1z26q02vifl0pz7rbk7ipvxmy8n873q42pn";}
+  {name="kdesdk-thumbnailers";value="0l662gzmm8gx6dcpw23lqnyfv0pdn7dfqqnxnwsnfycw9vd493g9";}
+  {name="kde-wallpapers";value="1ai36ii25m0yl8g42nidbimf3chsc8gh4rixyl8iqhf50wsghw94";}
+  {name="kdewebdev";value="1z87fffcnj1b2dimr05p702pcra80f1p1hcz45rf903cxgy6y1bf";}
+  {name="kde-workspace";value="0bwlz92q8fgdp5n0kc15l7f3642nqr3yrpyykf8zq15pq4daxn09";}
+  {name="kdf";value="04j3w1h6h2nb6566pb1yifjy2m25mi6dk4mvjxl680mwlqaaj3rz";}
+  {name="kdiamond";value="1lzx3alcczxx9xb7bvzarypfw6dcgcb6wngxmli2ppb1ghl4pnds";}
+  {name="kfilemetadata";value="1r4zdx32qsjzszym0riw65nn5rrcjm57a0yawik96fzxrrvrvzkc";}
+  {name="kfloppy";value="01lar9p26g4b2a6cz83jy9l6bd943jsysv18hr9lyxwm98747axa";}
+  {name="kfourinline";value="0193nc2g3mcm6m3s732dg6ha5kh6mgdkih0pf0zay9ahfhkrpziw";}
+  {name="kgamma";value="1fj9xnj3i8i18m5y2jhmclw337akyb8nmajksgwnd573s040zh84";}
+  {name="kgeography";value="1j1d62lfziz403qhwc41frx737sl25kz060crz60ix3sam7arvkl";}
+  {name="kget";value="1ndgd960iyvgshmikplr2fqq13zijc6g8rbavqpcs4az8bp2h6zy";}
+  {name="kgoldrunner";value="05346q4366qrm3idh3dbgi1ddajplbncrwn28vlhxbqkqb8qp51y";}
+  {name="kgpg";value="1nwrpdczf4wmmwasa5wiggs7cjc8ivr005q77vzj5094ajq457dy";}
+  {name="khangman";value="1jf10ixqwrn9f9wbhpppw6j3jpcp9ss4g4gairrklmr7v5cp59lr";}
+  {name="kig";value="07f85rab71kb6fn0zdqx068im3a63l2irqci9dha8cfh805jyl8y";}
+  {name="kigo";value="0vk2wq9z6xi86plx84agrl2j07jx98y1i9dsvimyvrxah32ykdka";}
+  {name="killbots";value="15azd5391247h2qn4shv0c4cz5hmr77xcbld2va5357xrbhzirx9";}
+  {name="kimono";value="0z4g580nn62zsf6rmxcg4z13n9vd9n24s1fzhc4d5kk6niszbjap";}
+  {name="kiriki";value="0mh7v16haiqkkfiapq8qivmbhyyczsq5sm8kzpddh40814p3sy9w";}
+  {name="kiten";value="12s7h19ybpm48gha23jkh86a2p71yqb3h93bs4mnkfgidjssvd43";}
+  {name="kjumpingcube";value="01wffw1s5crv11s3hg54ipwp09i8kgp7wjw038c83jgrvcw52ql5";}
+  {name="klettres";value="13bayjpny80d4avm77vmhm5f8ma4ckwiz63sximz8hyr6rg5i7fc";}
+  {name="klickety";value="0cmzzy2nf3zpmpyfsmrmfcklppib7qmg0pbxsm03y7az0qrz03bm";}
+  {name="klines";value="0k4xi6p4ikp0sb54jbb4rzdbhlwyhf4r117pgmmvb3n2aq6w4n9f";}
+  {name="kmag";value="1c3z1r0qk69pprivak6lgb4mk491pd17hqb9474fv645nk9jh48h";}
+  {name="kmahjongg";value="0lfnjzshcm7d91cq6x6s5l2n4p5q6ya4d7c3r94ad2fqpy3425c1";}
+  {name="kmines";value="1fxb8cwy9wfsijgf36ji4v1c2yaqbnxbppa4c4pld9fi9vnds0w7";}
+  {name="kmix";value="084prv50nsh7j1db2dd3i4gkfj6wh430azlq60a4j4667ih483l9";}
+  {name="kmousetool";value="1gr1nvxnapmmw5p9hk35g76rlxs3f5l7wbsfmczlzlxwszfg05lc";}
+  {name="kmouth";value="0f8s6ikrx069cp8pd3405g2s4czvk0vpv6d48jgvkbxnxfasli1c";}
+  {name="kmplot";value="1si0dl1m4zabmnrnmih0g5dxfwsws3p626j0kgvrqnd5hlwl6ar6";}
+  {name="knavalbattle";value="1llrj7d79s2k66qp9cx6zbjs5f69xnvc8gr0yi2jdbycaiq9q9lj";}
+  {name="knetwalk";value="13gy2pqqfysh69pmx4mcq9nx6qcxmzp08sqvf2b6c6v7f90ic2kx";}
+  {name="kolf";value="0808js28c4y1wllzs62sw4j02hzspijvl6n7i6vbhim47blvn3yq";}
+  {name="kollision";value="1mn9agdzw15gkyb27pqg80anbk4a6iv6r1mvn8m2hksfqwv8c1mf";}
+  {name="kolourpaint";value="0nj4a8sjyip0nmq3xkba00qigmg9z6bfck5gfb53sm5z6mdrdvd6";}
+  {name="kompare";value="13123ylhm1r5kkc5q9dzc3n03nxa89vfy1nrffa501awhyhb6qvl";}
+  {name="konquest";value="1m06chqvanlqklymdrl78hyqi9wzlkmnzbq3sg920jzqjvac8yq1";}
+  {name="konsole";value="1j5z5ma7mljis1s6rfpcli02vbnmrdhs8zr1gm2rgpyii9k3xykn";}
+  {name="kopete";value="1s87ln4qjdx4k1313r87glzmazah85siv0nddzndvz50330gnqrv";}
+  {name="korundum";value="1a7nwi8lk1n3r5m7qsfkzb4dgj37ff7i5il3i6fabmkmbwmikm82";}
+  {name="kpat";value="1lb5arhhx4zz6zrcag2kmsa7hrmjl3zd7jaklkcbd86bm57xmzry";}
+  {name="kppp";value="16p6gfr2lyhcmyldzclj8md4sr31rmmxp0m3afnhi4bwvd76d4sc";}
+  {name="kqtquickcharts";value="0sx7jahhaz2v0sp9qix4xxinxry2k50hnxfrf9hd5877s4ngdi3h";}
+  {name="krdc";value="1jyyrj4g854ki39p0k056mmca21d5yiqa25sa2wxb3v7g128lvl8";}
+  {name="kremotecontrol";value="0f5hfdlwfqqygc6vd6lgchh0bdh0z9crikkv7pjah43x5h0sys14";}
+  {name="kreversi";value="1cl8dbrgsv60zhxfqry0wd4gn4lyas9xb8yy5m3f71dkcb4xmhrz";}
+  {name="krfb";value="1yzp00kyww6wrdbhy8idxbpn8nr597h116rzxa57xalq7cj4px5m";}
+  {name="kross-interpreters";value="01a6w2iqx3k32fdwnlz2z8h7p1isf9sf2i261gaixf510drz3mqs";}
+  {name="kruler";value="0sbxvaxvixyka4qy2h17i8bgblxppp76j6b9jgsgqq8w20ppj0yd";}
+  {name="ksaneplugin";value="134cccd2v7xygg18xlggsk942hlcmpilmpaljksh2w6dzjig8ag9";}
+  {name="kscd";value="1r7ffan61ps9h3awbwyr4kn2ismk8l8dnb0rdyjmp2rsmrci3xmy";}
+  {name="kshisen";value="0b4zny2nxhx45k540mjpqzfpa9xnfnyk1hgs3xziihg5iij1vdnf";}
+  {name="ksirk";value="0xladrvxvj8mfagl9531842bffixbk2z7ymwp178xlrz3c4b07xs";}
+  {name="ksnakeduel";value="1q901qphmb09642whn3ad0viv9lgvls2rggc5xnxxjccchz98ggh";}
+  {name="ksnapshot";value="168ya0d15966j9kkgxqpp67kfhmsw7xj875dr8cfqbcmgf6ghjdm";}
+  {name="kspaceduel";value="0fidkh52vwbjbabrjvbcvr144vcgig0nz12g5f5fzfbl04336x12";}
+  {name="ksquares";value="1w91mp1a22gzq546w87767aq02gl2jl9mrsv83hv327q0i4r55ng";}
+  {name="kstars";value="0z7045cpb8fwkrmlcgjz2606zhcl4irs0lafgwv3hdg3g6k5xj0n";}
+  {name="ksudoku";value="1vdqd7nxm9q0xmj90ix1k6j1cn7zc2imfkz13xjlkjgrbb7nn4dr";}
+  {name="ksystemlog";value="1rh3c54jpd1s6ggcshx0p2q2gsv6flh04qqjnk9bnkw374ad6an7";}
+  {name="kteatime";value="0akd8kr2pj8j4abvwf7cs9vk5mswj4mfki3vxk1kmyaanrxb6wrq";}
+  {name="ktimer";value="1hnmw4rw7mzc7arlqn1wiap9l00x97bp1z03ls7v133wga6hy56f";}
+  {name="ktouch";value="0z83pdh027h7nl15g6qqc7y4v8nlm07g0c4a2cl0j86r53vv4jrp";}
+  {name="ktuberling";value="05hngh9pgsl4q3qnv2vqw1lggn2glc4c2b3jxgkccagp5igqj2nb";}
+  {name="kturtle";value="1f3j3w6lgdkcn8p6zy29b42bm0k93a864njf827j1ri2vrjifdag";}
+  {name="ktux";value="0j15i5f7x6jq7xrrx675f6h92qjzb89xcwmv43snd87sj0yaymgs";}
+  {name="kubrick";value="1np1d913fhanfva26cfy4wabf0h69qs824kdmawr89f24689xpjl";}
+  {name="kuser";value="12xw1qhilh88xfaky5iv44hybwmzf0f4fkp5ahgskysx2whvk7dh";}
+  {name="kwalletmanager";value="0h71nm5mpp2rvv5xs0a7153583zdwzc1i9vv9xkwwmq84qwar06w";}
+  {name="kwordquiz";value="0w2a1df2ipynarfxjr27jk896jhq8hsbkxhf3rzpflzs902afrfn";}
+  {name="libkcddb";value="153cgh9mxfqfdxdg5glphs3fvyhd89cmdzpvwpn29gdfshbpc9np";}
+  {name="libkcompactdisc";value="1y4f3b4yx8giyz83nan0nl75l3k1fyfw1fnbma6ch1901yxbliqq";}
+  {name="libkdcraw";value="03lgy6h9fy8j72ryfrsxpsbnb7l5i1n8wihfw117y2m5h23x6va2";}
+  {name="libkdeedu";value="06w2pfj0whcl8pz89cck2y0bkn7r54n93l95vnqvj7v0zq704imd";}
+  {name="libkdegames";value="0yx77i8yanv2fjmc0gcz3fzywkmpzq7jrc1g1frcwc9qcbd652sb";}
+  {name="libkexiv2";value="0fibx70n5c11absj97c20p1d7crhfx5wc1p7h77dyjv76zxb0rjk";}
+  {name="libkipi";value="09vihz0sm32acbh2xqmg4r0c48m40xsf6fcvfcjy4w08dvxb26jd";}
+  {name="libkmahjongg";value="09q0vvznag2dk03vwzlaip3qvjgwi8kk0ypvpwbga48vi9wy5qih";}
+  {name="libkomparediff2";value="1ihdpcsmkvnhs0i4xwx4ardy54gk5fcbh4byam3h9x8156d1gi60";}
+  {name="libksane";value="0dvprckc0d8vc8rcj7ib22ycsib1g8bi9m6i24961ccgbn3mhbha";}
+  {name="lokalize";value="1ad6vqvaa1ijcc9vjq46986z8q8bm5kjcaxdjzrq956m5kgx96wm";}
+  {name="lskat";value="00iva59g8rgrzp9w273cja1z2kbnxpb8gdm2a29qnld862l586x8";}
+  {name="marble";value="1gk75xl6kdqxh9kyfiialp937jhb203ycnza6x5sdnky8n7dchzs";}
+  {name="mplayerthumbs";value="1lg51si9iy4kn91s1cpa7irpk7iind1lfc4nb0a3s3dw685jf3z4";}
+  {name="nepomuk-core";value="1krwfrkrk0dj08wqfbx8lfdxriff9w5pqhjaccvmdj3bmlik542f";}
+  {name="nepomuk-widgets";value="1k1zxbpplal5fw2lziv8rr850nl5a6y1vwng96f8zqqgda6nnbqz";}
+  {name="okteta";value="0h7jb7zhpdw1sbdl2mqajnnvn11hisxp0p33km4qxh1jxdn44apc";}
+  {name="okular";value="13lva2rasrh1za65wr5zjn1mwx6nzd9n1ci3i940px8qfgqjbysx";}
+  {name="oxygen-icons";value="15daai2vx5ccll1mdxf77pc0i52365m9a6j2jy956sybwpzmfkmx";}
+  {name="pairs";value="002hsh5vp1grc8gdhgj93bmrmnzf4mnaax6zs5j7f0jsv60czh9m";}
+  {name="palapeli";value="0qrcfg1p3ipa84l0kp8mxg9h4098jmaz3n0fakc8fkvfdgg70x5c";}
+  {name="parley";value="1z0yz7x53w23rq22pn0z3hiwzgajqmq6v9bishqgm5r7layqj0v5";}
+  {name="perlkde";value="07p1g8mv5xw3qys4h2jrh72kvf6yyl7yz5rnk4bg04rl4dg7n3j2";}
+  {name="perlqt";value="1fk2g1xam8gf6n1mpix7kkw2jm6p3d57jbph2vfc5gszdddlb0z1";}
+  {name="picmi";value="1n6h9rzfqr2pvmz172bk04bmc1mm9b1rvakqdyqdf4j6b7inlnqh";}
+  {name="poxml";value="0y9x29fd0fzxcb9lpsy6sd4kcwwjp0d6yi4qgklqxb2xw5d519rc";}
+  {name="print-manager";value="0k2lmdcw72ifbq2mbalnq78sq5brl3wkny8lxl5ia9q2wq6c5nbl";}
+  {name="pykde4";value="1lknacs02gk0lh96jgj1hjyphnw04yljpxamhhvz9l0nn82dh5ip";}
+  {name="qtruby";value="0nlldf06z0rhmdgmrd6wambywn6xfd2ini6zliakspk7s8c851nd";}
+  {name="qyoto";value="0wh5zf057bkxr7rs7k2psjh74j10ri943qfk8hv07jw25652xpzb";}
+  {name="rocs";value="1i3s0kjrc6qqn9v219s8m10w2fyp1cdvra736pv0ld9gg5a71fc8";}
+  {name="smokegen";value="0lzkfp09rfkcxn5k18x789wwbiq94hypsiwyxg3fd5ybkx725j55";}
+  {name="smokekde";value="1admv2k41i6xh4s0n8yydmpqjkwank6f8mpaapa9a8dnj918ydll";}
+  {name="smokeqt";value="1fnnma8sls8rf958cwlfars26gaxk68plx3fzv979rwwb1n7h3jg";}
+  {name="step";value="11prsrpf0nvrrb0n9gz7w2shyq60v3hv3av6ggaxy5i7qq2jkcmw";}
+  {name="superkaramba";value="1p7ks4cyx66dmfxwrdzd890h3sa9bqm5rh2x6i1b81v5g3dg09s7";}
+  {name="svgpart";value="0gwc68hzw29lfj1kmikqpmsyignlcghvv86amlmylnvrypkjypk7";}
+  {name="sweeper";value="1dxqspva4rql2r92y0y16m3f0jf3anvb26x36bxk71ad5fpph9yl";}
+  {name="umbrello";value="1l9zq8sk46nd8nyk48vy4rdlbx7s8l5pif0n1y38ymbppc157lqi";}
+  {name="zeroconf-ioslave";value="0ds85m35p34cv2bv2mkvdvmygvykssssbr736g02jbiasivmclk5";}
+];
+versions=builtins.listToAttrs[
+  {name="amor";value="4.14.1";}
+  {name="analitza";value="4.14.1";}
+  {name="ark";value="4.14.1";}
+  {name="artikulate";value="4.14.1";}
+  {name="audiocd-kio";value="4.14.1";}
+  {name="baloo";value="4.14.1";}
+  {name="baloo-widgets";value="4.14.1";}
+  {name="blinken";value="4.14.1";}
+  {name="bomber";value="4.14.1";}
+  {name="bovo";value="4.14.1";}
+  {name="cantor";value="4.14.1";}
+  {name="cervisia";value="4.14.1";}
+  {name="dolphin-plugins";value="4.14.1";}
+  {name="dragon";value="4.14.1";}
+  {name="ffmpegthumbs";value="4.14.1";}
+  {name="filelight";value="4.14.1";}
+  {name="granatier";value="4.14.1";}
+  {name="gwenview";value="4.14.1";}
+  {name="jovie";value="4.14.1";}
+  {name="juk";value="4.14.1";}
+  {name="kaccessible";value="4.14.1";}
+  {name="kactivities";value="4.13.3";}
+  {name="kajongg";value="4.14.1";}
+  {name="kalgebra";value="4.14.1";}
+  {name="kalzium";value="4.14.1";}
+  {name="kamera";value="4.14.1";}
+  {name="kanagram";value="4.14.1";}
+  {name="kapman";value="4.14.1";}
+  {name="kapptemplate";value="4.14.1";}
+  {name="kate";value="4.14.1";}
+  {name="katomic";value="4.14.1";}
+  {name="kblackbox";value="4.14.1";}
+  {name="kblocks";value="4.14.1";}
+  {name="kbounce";value="4.14.1";}
+  {name="kbreakout";value="4.14.1";}
+  {name="kbruch";value="4.14.1";}
+  {name="kcachegrind";value="4.14.1";}
+  {name="kcalc";value="4.14.1";}
+  {name="kcharselect";value="4.14.1";}
+  {name="kcolorchooser";value="4.14.1";}
+  {name="kcron";value="4.14.1";}
+  {name="kdeartwork";value="4.14.1";}
+  {name="kde-baseapps";value="4.14.1";}
+  {name="kde-base-artwork";value="4.14.1";}
+  {name="kde-dev-scripts";value="4.14.1";}
+  {name="kde-dev-utils";value="4.14.1";}
+  {name="kdegraphics-mobipocket";value="4.14.1";}
+  {name="kdegraphics-strigi-analyzer";value="4.14.1";}
+  {name="kdegraphics-thumbnailers";value="4.14.1";}
+  {name="kdelibs";value="4.14.1";}
+  {name="kdenetwork-filesharing";value="4.14.1";}
+  {name="kdenetwork-strigi-analyzers";value="4.14.1";}
+  {name="kdepim";value="4.14.1";}
+  {name="kdepimlibs";value="4.14.1";}
+  {name="kdepim-runtime";value="4.14.1";}
+  {name="kdeplasma-addons";value="4.14.1";}
+  {name="kde-runtime";value="4.14.1";}
+  {name="kdesdk-kioslaves";value="4.14.1";}
+  {name="kdesdk-strigi-analyzers";value="4.14.1";}
+  {name="kdesdk-thumbnailers";value="4.14.1";}
+  {name="kde-wallpapers";value="4.14.1";}
+  {name="kdewebdev";value="4.14.1";}
+  {name="kde-workspace";value="4.11.12";}
+  {name="kdf";value="4.14.1";}
+  {name="kdiamond";value="4.14.1";}
+  {name="kfilemetadata";value="4.14.1";}
+  {name="kfloppy";value="4.14.1";}
+  {name="kfourinline";value="4.14.1";}
+  {name="kgamma";value="4.14.1";}
+  {name="kgeography";value="4.14.1";}
+  {name="kget";value="4.14.1";}
+  {name="kgoldrunner";value="4.14.1";}
+  {name="kgpg";value="4.14.1";}
+  {name="khangman";value="4.14.1";}
+  {name="kig";value="4.14.1";}
+  {name="kigo";value="4.14.1";}
+  {name="killbots";value="4.14.1";}
+  {name="kimono";value="4.14.1";}
+  {name="kiriki";value="4.14.1";}
+  {name="kiten";value="4.14.1";}
+  {name="kjumpingcube";value="4.14.1";}
+  {name="klettres";value="4.14.1";}
+  {name="klickety";value="4.14.1";}
+  {name="klines";value="4.14.1";}
+  {name="kmag";value="4.14.1";}
+  {name="kmahjongg";value="4.14.1";}
+  {name="kmines";value="4.14.1";}
+  {name="kmix";value="4.14.1";}
+  {name="kmousetool";value="4.14.1";}
+  {name="kmouth";value="4.14.1";}
+  {name="kmplot";value="4.14.1";}
+  {name="knavalbattle";value="4.14.1";}
+  {name="knetwalk";value="4.14.1";}
+  {name="kolf";value="4.14.1";}
+  {name="kollision";value="4.14.1";}
+  {name="kolourpaint";value="4.14.1";}
+  {name="kompare";value="4.14.1";}
+  {name="konquest";value="4.14.1";}
+  {name="konsole";value="4.14.1";}
+  {name="kopete";value="4.14.1";}
+  {name="korundum";value="4.14.1";}
+  {name="kpat";value="4.14.1";}
+  {name="kppp";value="4.14.1";}
+  {name="kqtquickcharts";value="4.14.1";}
+  {name="krdc";value="4.14.1";}
+  {name="kremotecontrol";value="4.14.1";}
+  {name="kreversi";value="4.14.1";}
+  {name="krfb";value="4.14.1";}
+  {name="kross-interpreters";value="4.14.1";}
+  {name="kruler";value="4.14.1";}
+  {name="ksaneplugin";value="4.14.1";}
+  {name="kscd";value="4.14.1";}
+  {name="kshisen";value="4.14.1";}
+  {name="ksirk";value="4.14.1";}
+  {name="ksnakeduel";value="4.14.1";}
+  {name="ksnapshot";value="4.14.1";}
+  {name="kspaceduel";value="4.14.1";}
+  {name="ksquares";value="4.14.1";}
+  {name="kstars";value="4.14.1";}
+  {name="ksudoku";value="4.14.1";}
+  {name="ksystemlog";value="4.14.1";}
+  {name="kteatime";value="4.14.1";}
+  {name="ktimer";value="4.14.1";}
+  {name="ktouch";value="4.14.1";}
+  {name="ktuberling";value="4.14.1";}
+  {name="kturtle";value="4.14.1";}
+  {name="ktux";value="4.14.1";}
+  {name="kubrick";value="4.14.1";}
+  {name="kuser";value="4.14.1";}
+  {name="kwalletmanager";value="4.14.1";}
+  {name="kwordquiz";value="4.14.1";}
+  {name="libkcddb";value="4.14.1";}
+  {name="libkcompactdisc";value="4.14.1";}
+  {name="libkdcraw";value="4.14.1";}
+  {name="libkdeedu";value="4.14.1";}
+  {name="libkdegames";value="4.14.1";}
+  {name="libkexiv2";value="4.14.1";}
+  {name="libkipi";value="4.14.1";}
+  {name="libkmahjongg";value="4.14.1";}
+  {name="libkomparediff2";value="4.14.1";}
+  {name="libksane";value="4.14.1";}
+  {name="lokalize";value="4.14.1";}
+  {name="lskat";value="4.14.1";}
+  {name="marble";value="4.14.1";}
+  {name="mplayerthumbs";value="4.14.1";}
+  {name="nepomuk-core";value="4.14.1";}
+  {name="nepomuk-widgets";value="4.14.1";}
+  {name="okteta";value="4.14.1";}
+  {name="okular";value="4.14.1";}
+  {name="oxygen-icons";value="4.14.1";}
+  {name="pairs";value="4.14.1";}
+  {name="palapeli";value="4.14.1";}
+  {name="parley";value="4.14.1";}
+  {name="perlkde";value="4.14.1";}
+  {name="perlqt";value="4.14.1";}
+  {name="picmi";value="4.14.1";}
+  {name="poxml";value="4.14.1";}
+  {name="print-manager";value="4.14.1";}
+  {name="pykde4";value="4.14.1";}
+  {name="qtruby";value="4.14.1";}
+  {name="qyoto";value="4.14.1";}
+  {name="rocs";value="4.14.1";}
+  {name="smokegen";value="4.14.1";}
+  {name="smokekde";value="4.14.1";}
+  {name="smokeqt";value="4.14.1";}
+  {name="step";value="4.14.1";}
+  {name="superkaramba";value="4.14.1";}
+  {name="svgpart";value="4.14.1";}
+  {name="sweeper";value="4.14.1";}
+  {name="umbrello";value="4.14.1";}
+  {name="zeroconf-ioslave";value="4.14.1";}
+];
+modules=[
+{
+  module="kdemultimedia";
+  split=true;
+  pkgs=[
+    { name="audiocd-kio"; sane="audiocd_kio"; }
+    { name="dragon";  }
+    { name="ffmpegthumbs";  }
+    { name="juk";  }
+    { name="kmix";  }
+    { name="kscd";  }
+    { name="libkcddb";  }
+    { name="libkcompactdisc";  }
+    { name="mplayerthumbs";  }
+  ];
+}
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
+    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
+    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
+    { name="kgamma";  }
+    { name="kolourpaint";  }
+    { name="kruler";  }
+    { name="ksaneplugin";  }
+    { name="ksnapshot";  }
+    { name="libkdcraw";  }
+    { name="libkexiv2";  }
+    { name="libkipi";  }
+    { name="libksane";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdelibs";
+  split=true;
+  pkgs=[
+    { name="kdelibs"; }
+    { name="baloo";  }
+    { name="baloo-widgets"; sane="baloo_widgets"; }
+    { name="kfilemetadata";  }
+    { name="nepomuk-core"; sane="nepomuk_core"; }
+    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
+  ];
+}
+{
+  module="kdenetwork";
+  split=true;
+  pkgs=[
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
+    { name="kget";  }
+    { name="kopete";  }
+    { name="kppp";  }
+    { name="krdc";  }
+    { name="krfb";  }
+    { name="zeroconf-ioslave"; sane="zeroconf_ioslave"; }
+  ];
+}
+{
+  module="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ktimer";  }
+    { name="kwalletmanager";  }
+    { name="print-manager"; sane="print_manager"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="applications";
+  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="konsole";  }
+  ];
+}
+{
+  module="kdetoys";
+  split=true;
+  pkgs=[
+    { name="amor";  }
+    { name="kteatime";  }
+    { name="ktux";  }
+  ];
+}
+{
+  module="kdesdk";
+  split=true;
+  pkgs=[
+    { name="cervisia";  }
+    { name="dolphin-plugins"; sane="dolphin_plugins"; }
+    { name="kapptemplate";  }
+    { name="kcachegrind";  }
+    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
+    { name="kde-dev-utils"; sane="kde_dev_utils"; }
+    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
+    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
+    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
+    { name="kompare";  }
+    { name="libkomparediff2";  }
+    { name="lokalize";  }
+    { name="okteta";  }
+    { name="poxml";  }
+    { name="umbrello";  }
+  ];
+}
+{
+  module="kdegames";
+  split=true;
+  pkgs=[
+    { name="bomber";  }
+    { name="bovo";  }
+    { name="granatier";  }
+    { name="kajongg";  }
+    { name="kapman";  }
+    { name="katomic";  }
+    { name="kblackbox";  }
+    { name="kblocks";  }
+    { name="kbounce";  }
+    { name="kbreakout";  }
+    { name="kdiamond";  }
+    { name="kfourinline";  }
+    { name="kgoldrunner";  }
+    { name="kigo";  }
+    { name="killbots";  }
+    { name="kiriki";  }
+    { name="kjumpingcube";  }
+    { name="klickety";  }
+    { name="klines";  }
+    { name="kmahjongg";  }
+    { name="kmines";  }
+    { name="knavalbattle";  }
+    { name="knetwalk";  }
+    { name="kolf";  }
+    { name="kollision";  }
+    { name="konquest";  }
+    { name="kpat";  }
+    { name="kreversi";  }
+    { name="kshisen";  }
+    { name="ksirk";  }
+    { name="ksnakeduel";  }
+    { name="kspaceduel";  }
+    { name="ksquares";  }
+    { name="ksudoku";  }
+    { name="ktuberling";  }
+    { name="kubrick";  }
+    { name="libkdegames";  }
+    { name="libkmahjongg";  }
+    { name="lskat";  }
+    { name="palapeli";  }
+    { name="picmi";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="artikulate";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kqtquickcharts";  }
+    { name="kstars";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="pairs";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  module="kdeadmin";
+  split=true;
+  pkgs=[
+    { name="kcron";  }
+    { name="ksystemlog";  }
+    { name="kuser";  }
+  ];
+}
+{
+  module="kdebindings";
+  split=true;
+  pkgs=[
+    { name="kimono";  }
+    { name="korundum";  }
+    { name="kross-interpreters"; sane="kross_interpreters"; }
+    { name="perlkde";  }
+    { name="perlqt";  }
+    { name="pykde4";  }
+    { name="qtruby";  }
+    { name="qyoto";  }
+    { name="smokegen";  }
+    { name="smokekde";  }
+    { name="smokeqt";  }
+  ];
+}
+{
+  module="kdeaccessibility";
+  split=true;
+  pkgs=[
+    { name="jovie";  }
+    { name="kaccessible";  }
+    { name="kmag";  }
+    { name="kmousetool";  }
+    { name="kmouth";  }
+  ];
+}
+{
+  module="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+  ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdepim";  split=false;}
+{ module="kdepimlibs";  split=false;}
+{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
+{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
+{ module="kde-runtime"; sane="kde_runtime"; split=false;}
+{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
+{ module="kdewebdev";  split=false;
+  pkgs=[
+    { name="klinkstatus"; }
+    { name="kfilereplace"; }
+    { name="kimagemapeditor"; }
+    { name="kommander"; }
+  ];
+
+}
+{ module="kde-workspace"; sane="kde_workspace"; split=false;}
+{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
+];
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/default.nix b/pkgs/desktops/kde-4.14/kde-package/default.nix
new file mode 100644
index 0000000000000..c78dfbd8a36a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/default.nix
@@ -0,0 +1,131 @@
+{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
+, release, branch, ignoreList, extraSubpkgs
+}:
+
+let
+  inherit (stdenv.lib) filter fold;
+  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
+in
+rec {
+  manifest = import (./. + "/${release}.nix");
+
+  # src attribute for $name tarball
+  kdesrc = name: version: fetchurl {
+    url = "mirror://kde/" + (if manifest.stable then "" else "un")
+      + "stable/${release}/src/${name}-${version}.tar.xz";
+    sha256 = getAttr name manifest.hashes;
+  };
+
+  # Default meta attribute
+  defMeta = {
+    homepage = http://www.kde.org;
+    inherit branch;
+    platforms = stdenv.lib.platforms.linux;
+    inherit (qt4.meta) maintainers;
+  };
+
+  # KDE package built from the whole tarball
+  # This function is used both for monolithic modules and modules which are
+  # released as individual tarballs
+  kdeMonoPkg = name:
+    let n_ = name; v_ = getAttr name manifest.versions; in
+    a@{meta, name ? n_, version ? v_, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${version}";
+      src = kdesrc name version;
+      meta = defMeta // meta;
+      enableParallelBuilding = true;
+    } // (removeAttrs a [ "meta" "name" ]));
+
+  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
+  # API.
+  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
+
+  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
+  kdeSubdirPkg = module:
+    {name, subdir ? name, sane ? name}:
+    let name_ = name; version_ = getAttr module manifest.versions; in
+    a@{cmakeFlags ? [], name ? name_, version ? version_, meta ? {}, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${release}";
+      src = kdesrc module version;
+      cmakeFlags =
+        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
+          "-DBUILD_doc=TRUE"
+          "-DBUILD_${subdir}=TRUE"
+        ] ++ cmakeFlags;
+      meta = defMeta // meta;
+      enableParallelBuilding = module.enableParallelBuilding or true;
+    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
+
+  # A KDE monolithic module
+  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
+
+  # Combine packages in one module.
+  # Arguments:
+  #  * pkgFun --- a function of the following signature:
+  #               module: manifest_attrs: manual_attrs: derivation;
+  #  * module --- name of the module
+  #  * pkgs --- list of packages in manifest format
+  combinePkgs = pkgFun: module: pkgs:
+    let
+      f = p@{name, ...}:
+        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
+      list = map f pkgs;
+      attrs = listToAttrs (map
+        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
+        pkgs);
+    in
+      runCommand "${module}-${release}"
+      ({passthru = attrs // {
+         propagatedUserEnvPackages = list;
+         projects = attrs;
+       };})
+        ''
+          mkdir -pv $out/nix-support
+          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
+        '';
+
+  # Given manifest module data, return the module
+  kdeModule = { module, sane ? module, split, pkgs ? [] }:
+    let
+      pkgs_ = filterPkgs module pkgs;
+    in
+    # Module is splitted by upstream
+    if split then combinePkgs kdeSplittedPkg module pkgs_
+    # Monolithic module
+    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
+    # Module is splitted by us
+    else combinePkgs kdeSubdirPkg module pkgs_;
+
+  # The same, as nameValuePair with sane name
+  kdeModuleNV = a@{ module, sane ? module, ... }:
+    { name = sane; value = kdeModule a; };
+
+  filterPkgs = module: (p:
+      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
+      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
+
+  # Remove attrsets with x.name in subst. Optimized for empty subst.
+  removeNames = subst: big:
+    fold (s: out: filter (x: x.name != s) out) big subst;
+
+  modules = listToAttrs (map kdeModuleNV manifest.modules);
+
+  splittedModuleList =
+    let
+      splitted = filter (a: a ? pkgs) manifest.modules;
+      names = map ({module, sane ? module, ...}: sane) splitted;
+    in
+    map (m: m.projects) (stdenv.lib.attrVals names modules);
+
+  individual =
+    stdenv.lib.zipAttrsWith
+    (
+      name: list:
+      if tail list == []
+      then head list
+      else abort "Multiple modules define ${name}"
+    )
+    splittedModuleList;
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh
new file mode 100755
index 0000000000000..1da7bc810c324
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh
@@ -0,0 +1,173 @@
+#! /bin/sh
+
+# Usage: download kde release to $dir, then run
+# $0 $dir
+
+dir="$1"
+
+
+if [[ -z $(type -p xsltproc) ]]; then
+  echo "Please provide libxslt" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kdelibs-*.tar.xz | \
+  sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
+
+# Detect release number & whether it is a stable release
+if [[ $? -ne 0 || -z $release ]]; then
+  echo "'${dir}' is not a directory (or kdelibs...tar.xz doesn't exist)!" >&2
+  exit 1
+fi
+
+if [[ ${release##*.} -gt 50 ]]; then
+  stable="false"
+else
+  stable="true"
+fi
+
+echo "Detected release ${release}" >&2
+
+declare -A hash
+declare -A version
+declare -A modules
+declare -a packages
+declare -a top_level
+
+if [[ ! -f ${dir}/kde_projects.xml ]]; then
+  if ! curl -o "${dir}/kde_projects.xml" -J http://projects.kde.org/kde_projects.xml; then
+    echo "Could not download http://projects.kde.org/kde_projects.xml to ${dir}/kde_projects.xml" >&2
+    exit 1
+  fi
+fi
+# xsltproc output declares -A module
+eval `xsltproc kde-submodules.xslt ${dir}/kde_projects.xml`
+
+module[kde-baseapps]=kde-baseapps
+unset module[kactivities]
+
+print_sane() {
+  echo "Called print_sane $1" >&2
+  sane="${1//[^a-z0-9_]/_}"
+  if [[ "$sane" != "$1" ]]; then
+    echo "Sane version is $sane" >&2
+    echo -n "sane=\"$sane\";"
+  fi
+}
+
+for i in `cd "${dir}"; ls *.tar.xz`; do
+  package=${i%.tar.xz}
+  v=${package##*-}
+  package=${i%-*}
+  packages+=( "$package" )
+  echo -n "${package}.. " >&2
+  hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo -n ${hash[$package]} >&2
+
+  version[$package]=$v
+
+  if [ -n "${module[$package]}" ]; then
+    m="${module[$package]}"
+    echo " (${m})" >&2
+    modules[$m]=1
+  else
+    top_level+=( "$package" )
+    echo " (top-level)" >&2
+  fi
+  nix-store --add-fixed sha256 "${dir}/${i}" >&2
+done
+
+
+print_pkg_hash() {
+  echo "  {name=\"${1}\";value=\"${hash[$1]}\";}"
+}
+
+print_pkg_version() {
+  echo "  {name=\"${1}\";value=\"${version[$1]}\";}"
+}
+
+print_hashes(){
+  echo "hashes=builtins.listToAttrs["
+  for p in "${packages[@]}"; do print_pkg_hash "$p"; done
+  echo "];"
+}
+
+print_versions(){
+  echo "versions=builtins.listToAttrs["
+  for p in "${packages[@]}"; do print_pkg_version "$p"; done
+  echo "];"
+}
+
+print_split_module(){
+  echo -n "$1:" >&2
+  echo -e "{\n  module=\"$1\";"
+  print_sane "$1"
+  echo "  split=true;"
+  echo "  pkgs=["
+  for p in "${packages[@]}"; do
+    if [[ "${module[$p]}" == "$1" ]]; then
+      echo -n "    { name=\"$p\"; "
+      print_sane "$p"
+      echo " }"
+      echo -n " $p" >&2
+    fi
+  done
+  echo "  ];"
+  echo "}"
+  echo >&2
+}
+
+print_mono_module(){
+  echo -en "{ module=\"$1\"; "
+  print_sane "$1"
+  echo -n "$1 ... " >&2
+  pkg=$(cd "$dir"; echo "$1"-*.tar.xz)
+  pkg="${pkg%.tar.xz}"
+  echo -n " split=false;"
+  cml="$pkg/CMakeLists.txt"
+  tar -xf "${dir}/$pkg.tar.xz" "$cml"
+  if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
+    if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
+      echo " is monolithic (has unconditionally added subdirs)" >&2
+    else
+      subdirs=( `grep '^[^#]*add_subdirectory' $cml |
+        sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
+        grep -v '\(doc\|cmake\)'` )
+      echo " seems splittable, subdirs: ${subdirs[*]}" >&2
+      echo -e "\n  pkgs=["
+      for s in "${subdirs[@]}"; do
+        echo -en "    {"
+		echo -n " name=\"${s//\//-}\"; "
+        print_sane "$s"
+        if [[ $s != "${s//\//-}" ]]; then
+          echo -n "subdir=\"$s\"; "
+        fi
+        echo "}"
+      done
+      echo -e "  ];\n"
+    fi
+  else
+    echo " is monolithic (has no subdirs)" >&2
+  fi
+  rm $cml
+  rmdir "$pkg"
+  echo "}"
+}
+
+print_modules(){
+  echo "modules=["
+  echo "Printing modules splitted by upstream" >&2
+  for m in "${!modules[@]}"; do print_split_module "$m"; done
+  echo >&2
+  echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
+  for m in "${top_level[@]}"; do print_mono_module "$m"; done
+  echo "];"
+}
+
+echo "Writing ${release}.nix" >&2
+exec > "${release}.nix"
+echo "{stable=${stable};"
+print_hashes
+print_versions
+print_modules
+echo "}"
diff --git a/pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt
new file mode 100644
index 0000000000000..952a05a9d2744
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- xslt file for http://projects.kde.org/kde_projects.xml -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+	<xsl:output method="text" />
+	<xsl:template match="/">
+		<xsl:for-each select="kdeprojects/component[@identifier='kde']">
+			<xsl:text>declare -A module
</xsl:text>
+			<xsl:for-each select="module">
+				<xsl:variable name="module" select='@identifier' />
+				<xsl:for-each select=".//project[repo]">
+					<xsl:text>module["</xsl:text>
+					<xsl:value-of select='@identifier' />
+					<xsl:text>"]="</xsl:text>
+					<xsl:value-of select="$module" />
+					<xsl:text>"
</xsl:text>
+				</xsl:for-each>
+			</xsl:for-each>
+		</xsl:for-each>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/pkgs/desktops/kde-4.14/kde-runtime.nix b/pkgs/desktops/kde-4.14/kde-runtime.nix
new file mode 100644
index 0000000000000..1c9706f4f4bf5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-runtime.nix
@@ -0,0 +1,24 @@
+{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
+, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
+, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme
+}:
+
+kde {
+  buildInputs = [
+    kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
+    qca2 samba libcanberra pulseaudio gpgme
+    networkmanager kactivities kdepimlibs openexr
+#todo: add openslp
+#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  passthru.propagatedUserEnvPackages = [ virtuoso ];
+
+  meta = {
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-wallpapers.nix b/pkgs/desktops/kde-4.14/kde-wallpapers.nix
new file mode 100644
index 0000000000000..875eb6769c0ef
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-wallpapers.nix
@@ -0,0 +1,17 @@
+{ kde, cmake }:
+
+kde {
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./files/kde-wallpapers-buildsystem.patch ];
+
+  cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "1mzj7jk0ag7yas2wm2x60z3ymv64g9jrjsz3nwlr719b4bhmgwjj";
+
+  meta = {
+    description = "Wallpapers for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-workspace.nix b/pkgs/desktops/kde-4.14/kde-workspace.nix
new file mode 100644
index 0000000000000..4231a1d7c0b99
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-workspace.nix
@@ -0,0 +1,38 @@
+{ stdenv, kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
+, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
+, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
+, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
+}:
+
+kde {
+#todo: wayland, xmms,   libusb isn't found
+  buildInputs =
+    [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
+      xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
+      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
+      xorg.libXdamage
+
+      python boost qjson lm_sensors gpsd libraw1394 pciutils udev
+      akonadi pam libusb1 libqalculate kdepimlibs  prison
+      kactivities
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  preConfigure =
+   ''
+     # Fix incorrect path to kde4-config.
+     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
+
+     # Fix the path to the keyboard configuration files.
+     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
+       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
+   '';
+
+  enableParallelBuilding = false; # frequent problems on Hydra
+
+  meta = {
+    description = "KDE workspace components such as Plasma, Kwin and System Settings";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix
new file mode 100644
index 0000000000000..d38c80c4c36ad
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, speechd }:
+
+kde {
+  buildInputs = [ kdelibs speechd ];
+
+  meta = {
+    description = "Text-to-speech synthesis daemon";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix
new file mode 100644
index 0000000000000..98fae7c983f8c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, speechd }:
+
+kde {
+  buildInputs = [ kdelibs speechd ];
+
+  meta = {
+    description = "Bridge that provides accessibility services to applications";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix
new file mode 100644
index 0000000000000..606c61cddb634
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+#todo: package qaccessibilityclient
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Screen magnifier for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix
new file mode 100644
index 0000000000000..8e0caa76ed9ce
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libXtst, libXt }:
+
+kde {
+  buildInputs = [ kdelibs libXtst libXt ];
+
+  meta = {
+    description = "A program that clicks the mouse for you";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix
new file mode 100644
index 0000000000000..4159501967cda
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A type-and-say front end for speech synthesizers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.14/kdeadmin/kcron.nix
new file mode 100644
index 0000000000000..f585461af3814
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeadmin/kcron.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Configure and schedule tasks";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix
new file mode 100644
index 0000000000000..88757a6b91c7b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "System log viewer tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.14/kdeadmin/kuser.nix
new file mode 100644
index 0000000000000..6118cf558bbd7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeadmin/kuser.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kdepimlibs }:
+
+kde {
+  buildInputs = [ kdelibs kdepimlibs ];
+
+  meta = {
+    description = "User management tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix
new file mode 100644
index 0000000000000..acccf66976fcf
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-color-schemes";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE color schemes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake
new file mode 100644
index 0000000000000..499ed75268e9e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake
@@ -0,0 +1,73 @@
+#Macro to find xscreensaver directory
+
+# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (NOT XSCREENSAVER_FOUND)
+  FIND_PATH(XSCREENSAVER_DIR deco
+    HINTS
+      ${KDE4_INCLUDE_DIR}
+    PATHS
+      /usr
+      /usr/local
+      /opt/local
+      /usr/X11R6
+      /opt/kde
+      /opt/kde3
+      /usr/kde
+      /usr/local/kde
+      /usr/local/xscreensaver
+      /usr/openwin/lib/xscreensaver
+      /etc
+    PATH_SUFFIXES
+      lib${LIB_SUFFIX}/xscreensaver
+      lib${LIB_SUFFIX}/misc/xscreensaver
+      lib/xscreensaver
+      lib64/xscreensaver
+      lib/misc/xscreensaver
+      libexec/xscreensaver
+      bin/xscreensaver-hacks
+      hacks)
+  message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
+
+  FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
+    PATHS
+    ${KDE4_INCLUDE_DIR}
+    /usr/
+    /usr/local/
+    /opt/local/
+    /usr/X11R6/
+    /opt/kde/
+    /opt/kde3/
+    /usr/kde/
+    /usr/local/kde/
+    /usr/openwin/lib/xscreensaver/
+    /etc/
+    PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
+  )
+  MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+
+endif(NOT XSCREENSAVER_FOUND)
+
+#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
+
+# Need to fix hack
+if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+    set(XSCREENSAVER_FOUND TRUE)
+endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+
+if (XSCREENSAVER_FOUND)
+  if (NOT Xscreensaver_FIND_QUIETLY)
+    message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
+  endif (NOT Xscreensaver_FIND_QUIETLY)
+else (XSCREENSAVER_FOUND)
+  if (Xscreensaver_FIND_REQUIRED)
+    message(FATAL_ERROR "XScreenSaver not found")
+  endif (Xscreensaver_FIND_REQUIRED)
+endif (XSCREENSAVER_FOUND)
+
+
+MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix
new file mode 100644
index 0000000000000..edffca1562e10
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-wallpapers-high-resolution";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE wallpapers in high resolution";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix
new file mode 100644
index 0000000000000..43071e8bd1426
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kdeartwork-icon-themes";
+
+  # Sources contain primary and kdeclassic as well but they're not installed
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE nuvola and mono icon themes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix
new file mode 100644
index 0000000000000..947e5e17ab0c1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-weather-wallpapers";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE wallpapers (weather)";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix
new file mode 100644
index 0000000000000..93dd361af738b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-desktop-themes";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE desktop themes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix
new file mode 100644
index 0000000000000..5ef9f78a71951
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-emotion-icons";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE emotion icons (smiles)";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix
new file mode 100644
index 0000000000000..84cb008056e4f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix
@@ -0,0 +1,15 @@
+{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }:
+
+kde {
+  buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
+
+  cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ];
+
+  meta = {
+    description = "KDE screensavers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix
new file mode 100644
index 0000000000000..b5d769b216dbb
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kde_workspace }:
+
+kde {
+  buildInputs = [ kdelibs kde_workspace ];
+
+  meta = {
+    description = "Styles for KWin";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/styles.nix b/pkgs/desktops/kde-4.14/kdeartwork/styles.nix
new file mode 100644
index 0000000000000..6a1306c37100d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/styles.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-style-phase";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Phase, a widget style for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix
new file mode 100644
index 0000000000000..7c9846fbf9e8f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kdeartwork-wallpapers";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE wallpapers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.14/kdebindings/perlqt.nix
new file mode 100644
index 0000000000000..48eed141ce64d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/perlqt.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, smokeqt, perl }:
+
+kde {
+
+  # TODO: qscintilla2, qwt5
+
+  buildInputs = [ smokeqt perl ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "Perl bindings for Qt library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
new file mode 100644
index 0000000000000..64e196452e318
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
@@ -0,0 +1,32 @@
+{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
+  polkit_qt_1, boost, lndir, pkgconfig }:
+
+let pydir = "lib/python${python.majorVersion}"; in
+
+kde {
+
+  # todo: polkit isn't found by the build system
+
+  buildInputs = [
+    python kdepimlibs shared_desktop_ontologies
+    boost polkit_qt_1
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  propagatedBuildInputs = [ pyqt4 sip ];
+
+  preConfigure =
+    ''
+      # Symlink PyQt into PyKDE.  This is necessary because PyQt looks
+      # in its PyQt4/uic/widget-plugins directory for plugins, and KDE
+      # needs to install a plugin.
+      mkdir -pv $out/${pydir}
+      ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
+      cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
+    '';
+
+  meta = {
+    description = "Python bindings for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch
new file mode 100644
index 0000000000000..bd95a0d8bd3df
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 33078b4..30aec0e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
+     return()
+ endif (NOT COMPILE_RUBY)
+ 
+-SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
+-SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
+ 
+ # compute an overall version number which can be compared at once
+ MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")
diff --git a/pkgs/desktops/kde-4.14/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.14/kdebindings/qtruby.nix
new file mode 100644
index 0000000000000..03e9dc9a007fa
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/qtruby.nix
@@ -0,0 +1,20 @@
+{ kde, cmake, smokeqt, ruby }:
+
+kde {
+
+ # TODO: scintilla2, qwt5
+
+  buildInputs = [ smokeqt ruby ];
+
+  nativeBuildInputs = [ cmake ];
+
+  # The patch is not ready for upstream submmission.
+  # I should add an option() instead.
+  patches = [ ./qtruby-install-prefix.patch ];
+
+  cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
+
+  meta = {
+    description = "Ruby bindings for Qt library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch
new file mode 100644
index 0000000000000..f0811d335a73a
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch
@@ -0,0 +1,13 @@
+--- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
++++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
+@@ -36,6 +36,10 @@
+ set (CMAKE_SKIP_BUILD_RPATH FALSE)
+ set (CMAKE_SKIP_RPATH FALSE)
+
++# add the automatically determined parts of the RPATH
++# which point to directories outside the build tree to the install RPATH
++SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
++
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
+
+ add_executable(smokegen ${generator_SRC})
\ No newline at end of file
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch
new file mode 100644
index 0000000000000..53257e836e049
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch
@@ -0,0 +1,13 @@
+diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
+--- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in	2013-06-28 17:14:50.000000000 +0000
++++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in	2013-07-30 21:26:33.000000000 +0000
+@@ -80,8 +80,7 @@
+ set(SMOKE_API_BIN "@SMOKE_API_BIN@")
+ 
+ find_library(SMOKE_BASE_LIBRARY smokebase 
+-              PATHS "@SMOKE_LIBRARY_PREFIX@"
+-              NO_DEFAULT_PATH)
++              PATHS "@SMOKE_LIBRARY_PREFIX@")
+ 
+ if (NOT SMOKE_BASE_LIBRARY)
+     if (Smoke_FIND_REQUIRED)
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.14/kdebindings/smokegen.nix
new file mode 100644
index 0000000000000..5708d0f96eb24
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, qt4, cmake }:
+
+kde {
+  buildInputs = [ qt4 ];
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.14/kdebindings/smokekde.nix
new file mode 100644
index 0000000000000..4474c1d9731ee
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokekde.nix
@@ -0,0 +1,19 @@
+{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular
+, shared_desktop_ontologies, attica, pkgconfig }:
+
+kde {
+
+  # TODO: attica, akonadi and kdepimlibs are disabled due to smokegen crash
+  # okular is disabled because the code generated is broken
+  buildInputs = [
+    smokeqt kdelibs shared_desktop_ontologies
+  ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  LD_LIBRARY_PATH = "${smokeqt}/lib/";
+
+  meta = {
+    description = "SMOKE bindings for kdelibs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix
new file mode 100644
index 0000000000000..494bc85e64654
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix
@@ -0,0 +1,15 @@
+{ stdenv, kde, qt4, cmake, phonon, qimageblitz, smokegen }:
+
+kde {
+
+# TODO: Qwt5, QScintilla2
+
+  propagatedBuildInputs = [ qt4 phonon qimageblitz ];
+  nativeBuildInputs = [ cmake ];
+  propagatedNativeBuildInputs = [ smokegen ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/analitza.nix b/pkgs/desktops/kde-4.14/kdeedu/analitza.nix
new file mode 100644
index 0000000000000..74c3a1ebb2000
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/analitza.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, readline }:
+kde {
+  buildInputs = [ kdelibs readline ];
+
+  meta = {
+    description = "Library part of KAlgebra";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix b/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix
new file mode 100644
index 0000000000000..b1828766f220f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, qt_gstreamer1 }:
+kde {
+  buildInputs = [ kdelibs qt_gstreamer1 ];
+
+  meta = {
+    description = "Artikulate is a pronunciation learning program for KDE.";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/blinken.nix b/pkgs/desktops/kde-4.14/kdeedu/blinken.nix
new file mode 100644
index 0000000000000..cdf9728833c2d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/blinken.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Memory Enhancement Game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/cantor.nix b/pkgs/desktops/kde-4.14/kdeedu/cantor.nix
new file mode 100644
index 0000000000000..a8cd2e44957a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/cantor.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }:
+kde {
+
+# TODO: R is not found
+
+  buildInputs = [ kdelibs libspectre analitza R libqalculate python ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "KDE Frontend to Mathematical Software";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix
new file mode 100644
index 0000000000000..3675c3a225f41
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu, analitza }:
+kde {
+  buildInputs = [ kdelibs libkdeedu analitza ];
+
+  meta = {
+    description = "2D and 3D Graph Calculator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix
new file mode 100644
index 0000000000000..8338eee551104
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, facile, ocaml, eigen2, eigen, openbabel, avogadro, pkgconfig }:
+kde {
+
+# TODO: chemical mime data
+
+  buildInputs = [ kdelibs facile ocaml eigen2 eigen openbabel avogadro ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Periodic Table of Elements";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.14/kdeedu/kanagram.nix
new file mode 100644
index 0000000000000..8759c96d78c46
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kanagram.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu }:
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "Letter Order Game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.14/kdeedu/kbruch.nix
new file mode 100644
index 0000000000000..dc50f1e85a37e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kbruch.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Practice Fractions";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.14/kdeedu/kgeography.nix
new file mode 100644
index 0000000000000..bd8d27c8d6e20
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kgeography.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Geography Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/khangman.nix b/pkgs/desktops/kde-4.14/kdeedu/khangman.nix
new file mode 100644
index 0000000000000..997b50e906a2f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/khangman.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu }:
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "KDE hangman game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kig.nix b/pkgs/desktops/kde-4.14/kdeedu/kig.nix
new file mode 100644
index 0000000000000..37906c32bcb22
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kig.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, boost, python}:
+kde {
+  buildInputs = [ kdelibs boost python ];
+
+  cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
+  meta = {
+    description = "KDE Interactive Geometry";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kiten.nix b/pkgs/desktops/kde-4.14/kdeedu/kiten.nix
new file mode 100644
index 0000000000000..939b7a9f77a25
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kiten.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Japanese Reference/Study Tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/klettres.nix b/pkgs/desktops/kde-4.14/kdeedu/klettres.nix
new file mode 100644
index 0000000000000..7a0fa83078e34
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/klettres.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE alphabet tutorial";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.14/kdeedu/kmplot.nix
new file mode 100644
index 0000000000000..fc7b0578c27ba
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kmplot.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE mathematical function plotter";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix b/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix
new file mode 100644
index 0000000000000..3e243b8c40327
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Qt Quick 1 plugin for beautiful and interactive charts";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kstars.nix b/pkgs/desktops/kde-4.14/kdeedu/kstars.nix
new file mode 100644
index 0000000000000..a5e9bee180e1b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kstars.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, eigen, xplanet, indilib_0_9_9, pkgconfig, qjson }:
+
+kde {
+
+# TODO: wcslib, astrometry
+
+  buildInputs = [ kdelibs eigen xplanet indilib_0_9_9 qjson ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE graphical desktop planetarium";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.14/kdeedu/ktouch.nix
new file mode 100644
index 0000000000000..9e606adde336d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/ktouch.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libxkbfile }:
+
+kde {
+  buildInputs = [ kdelibs libxkbfile ];
+
+  meta = {
+    description = "Touch Typing Tutor";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.14/kdeedu/kturtle.nix
new file mode 100644
index 0000000000000..1e1922b1410d9
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kturtle.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Educational Programming Environment";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix
new file mode 100644
index 0000000000000..1b33ba2e469f1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkdeedu }:
+
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "Flash Card Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix
new file mode 100644
index 0000000000000..def6c85fefe2f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Libraries used by KDE Education applications";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/marble.nix b/pkgs/desktops/kde-4.14/kdeedu/marble.nix
new file mode 100644
index 0000000000000..2dc07d14a0d96
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/marble.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gpsd }:
+
+kde {
+
+# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip
+
+  buildInputs = [ kdelibs gpsd ];
+
+  meta = {
+    description = "Marble Virtual Globe";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/pairs.nix b/pkgs/desktops/kde-4.14/kdeedu/pairs.nix
new file mode 100644
index 0000000000000..36c4aba9604ba
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/pairs.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A memory and pairs game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/parley.nix b/pkgs/desktops/kde-4.14/kdeedu/parley.nix
new file mode 100644
index 0000000000000..f9f86dde150d0
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/parley.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkdeedu, attica }:
+
+kde {
+  buildInputs = [ kdelibs libkdeedu attica ];
+
+  meta = {
+    description = "Vocabulary Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/rocs.nix b/pkgs/desktops/kde-4.14/kdeedu/rocs.nix
new file mode 100644
index 0000000000000..ce30d11fda316
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/rocs.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, boost, grantlee }:
+
+kde {
+  buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ];
+
+  NIX_CFLAGS_COMPILE = "-fexceptions";
+
+  meta = {
+    description = "A KDE graph theory viewer";
+    kde = {
+      name = "rocs";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeedu/step.nix b/pkgs/desktops/kde-4.14/kdeedu/step.nix
new file mode 100644
index 0000000000000..95e991e848155
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/step.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gsl, libqalculate, eigen2, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs gsl libqalculate eigen2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE interactive physical simulator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/bomber.nix b/pkgs/desktops/kde-4.14/kdegames/bomber.nix
new file mode 100644
index 0000000000000..026227910f210
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/bomber.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/bovo.nix b/pkgs/desktops/kde-4.14/kdegames/bovo.nix
new file mode 100644
index 0000000000000..b0e7d99c589fe
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/bovo.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board";
+  };
+
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/granatier.nix b/pkgs/desktops/kde-4.14/kdegames/granatier.nix
new file mode 100644
index 0000000000000..9f1ab0053099d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/granatier.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kajongg.nix b/pkgs/desktops/kde-4.14/kdegames/kajongg.nix
new file mode 100644
index 0000000000000..9a6f5e8369552
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kajongg.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libkdegames, pythonPackages, sqlite,  pykde4 }:
+kde rec {
+
+  buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath;
+
+  pythonPath = [ pythonPackages.twisted pykde4 ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = {
+    description = "an ancient Chinese board game for 4 players";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kapman.nix b/pkgs/desktops/kde-4.14/kdegames/kapman.nix
new file mode 100644
index 0000000000000..f10e099da3cc1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kapman.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a clone of the well known game Pac-Man";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/katomic.nix b/pkgs/desktops/kde-4.14/kdegames/katomic.nix
new file mode 100644
index 0000000000000..a9936c04f0eae
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/katomic.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a fun and educational puzzle game built around molecular geometry";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.14/kdegames/kblackbox.nix
new file mode 100644
index 0000000000000..27eeff2f65bb2
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kblackbox.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kblocks.nix b/pkgs/desktops/kde-4.14/kdegames/kblocks.nix
new file mode 100644
index 0000000000000..98cf068de09ae
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kblocks.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a classic single player falling blocks puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kbounce.nix b/pkgs/desktops/kde-4.14/kdegames/kbounce.nix
new file mode 100644
index 0000000000000..77fa0db63529b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kbounce.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player arcade game with the elements of puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.14/kdegames/kbreakout.nix
new file mode 100644
index 0000000000000..3a484d919bbbb
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kbreakout.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.14/kdegames/kdiamond.nix
new file mode 100644
index 0000000000000..06dfcee5ac393
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kdiamond.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.14/kdegames/kfourinline.nix
new file mode 100644
index 0000000000000..11b8838e7082d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kfourinline.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a board game for two players based on the Connect-Four game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix
new file mode 100644
index 0000000000000..6217c47a80658
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kigo.nix b/pkgs/desktops/kde-4.14/kdegames/kigo.nix
new file mode 100644
index 0000000000000..32eee67cc1e09
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kigo.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an open-source implementation of the popular Go game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/killbots.nix b/pkgs/desktops/kde-4.14/kdegames/killbots.nix
new file mode 100644
index 0000000000000..d9c1472495e7c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/killbots.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple game of evading killer robots";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kiriki.nix b/pkgs/desktops/kde-4.14/kdegames/kiriki.nix
new file mode 100644
index 0000000000000..72f7ab67501b5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kiriki.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an addictive and fun dice game, designed to be played by as many as six players";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix
new file mode 100644
index 0000000000000..a6d22cff51c33
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple dice driven tactical game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/klickety.nix b/pkgs/desktops/kde-4.14/kdegames/klickety.nix
new file mode 100644
index 0000000000000..b592bc40641f8
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/klickety.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a puzzle game where the player removes groups of colored marbles to clear the board";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/klines.nix b/pkgs/desktops/kde-4.14/kdegames/klines.nix
new file mode 100644
index 0000000000000..90952fe91c07d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/klines.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix
new file mode 100644
index 0000000000000..946b531ff127d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, libkmahjongg }:
+kde {
+  buildInputs = [ kdelibs libkdegames libkmahjongg ];
+  meta = {
+    description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kmines.nix b/pkgs/desktops/kde-4.14/kdegames/kmines.nix
new file mode 100644
index 0000000000000..538454e959843
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kmines.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a classic Minesweeper game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix
new file mode 100644
index 0000000000000..42ffd2fcb4d57
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Battle Ship game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.14/kdegames/knetwalk.nix
new file mode 100644
index 0000000000000..a16e578ce8489
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/knetwalk.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kolf.nix b/pkgs/desktops/kde-4.14/kdegames/kolf.nix
new file mode 100644
index 0000000000000..78815ee579962
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kolf.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a miniature golf game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kollision.nix b/pkgs/desktops/kde-4.14/kdegames/kollision.nix
new file mode 100644
index 0000000000000..3147c7305ea09
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kollision.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple ball dodging game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/konquest.nix b/pkgs/desktops/kde-4.14/kdegames/konquest.nix
new file mode 100644
index 0000000000000..53ddd64928ccd
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/konquest.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "the KDE version of Gnu-Lactic Konquest";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kpat.nix b/pkgs/desktops/kde-4.14/kdegames/kpat.nix
new file mode 100644
index 0000000000000..f8d9bad36dc51
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kpat.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a relaxing card sorting game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kreversi.nix b/pkgs/desktops/kde-4.14/kdegames/kreversi.nix
new file mode 100644
index 0000000000000..2aed981428e1e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kreversi.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kshisen.nix b/pkgs/desktops/kde-4.14/kdegames/kshisen.nix
new file mode 100644
index 0000000000000..9c8880340388e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kshisen.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, libkmahjongg }:
+kde {
+  buildInputs = [ kdelibs libkdegames libkmahjongg ];
+  meta = {
+    description = "a solitaire-like game played using the standard set of Mahjong tiles";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/ksirk.nix b/pkgs/desktops/kde-4.14/kdegames/ksirk.nix
new file mode 100644
index 0000000000000..767eb67971a85
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/ksirk.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, qca2 }:
+kde {
+  buildInputs = [ kdelibs libkdegames qca2 ];
+  meta = {
+    description = "a computerized version of the well known strategic board game Risk";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix
new file mode 100644
index 0000000000000..ccf1fb551e9a0
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple Tron-Clone";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix
new file mode 100644
index 0000000000000..5285f7916cad0
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/ksquares.nix b/pkgs/desktops/kde-4.14/kdegames/ksquares.nix
new file mode 100644
index 0000000000000..a17be2da63253
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/ksquares.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game modeled after the well known pen and paper based game of Dots and Boxes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.14/kdegames/ksudoku.nix
new file mode 100644
index 0000000000000..ea4e13a5e4f37
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/ksudoku.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a logic-based symbol placement puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.14/kdegames/ktuberling.nix
new file mode 100644
index 0000000000000..1a6ba9d653c2e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/ktuberling.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple constructor game suitable for children and adults alike";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/kubrick.nix b/pkgs/desktops/kde-4.14/kdegames/kubrick.nix
new file mode 100644
index 0000000000000..9bdc6879db4bc
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/kubrick.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game based on the Rubik's Cube™ puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.14/kdegames/libkdegames.nix
new file mode 100644
index 0000000000000..3819dcdc9ae2c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/libkdegames.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, openal, libsndfile }:
+kde {
+  buildInputs = [ kdelibs openal libsndfile ];
+  meta = {
+    description = "KDE games library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix
new file mode 100644
index 0000000000000..383b347dc3304
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a library for KMahjongg game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/lskat.nix b/pkgs/desktops/kde-4.14/kdegames/lskat.nix
new file mode 100644
index 0000000000000..2a5050cd6676e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/lskat.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/palapeli.nix b/pkgs/desktops/kde-4.14/kdegames/palapeli.nix
new file mode 100644
index 0000000000000..010dbd5d62329
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/palapeli.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+
+# TODO: package qvoronoi
+
+  buildInputs = [ kdelibs libkdegames ];
+
+  meta = {
+    description = "a single-player jigsaw puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegames/picmi.nix b/pkgs/desktops/kde-4.14/kdegames/picmi.nix
new file mode 100644
index 0000000000000..165d7422f95ba
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegames/picmi.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player logic-based puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix
new file mode 100644
index 0000000000000..66a7c79a42bc6
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix
@@ -0,0 +1,16 @@
+{ stdenv, kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
+, libjpeg, pkgconfig, kactivities, lcms2, baloo, kfilemetadata, libkdcraw }:
+
+kde {
+
+  buildInputs =
+    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2
+      baloo kfilemetadata libkdcraw ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Gwenview, the KDE image viewer";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.14/kdegraphics/kamera.nix
new file mode 100644
index 0000000000000..d9aa11c54afa4
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kamera.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libgphoto2 }:
+
+kde {
+  buildInputs = [ kdelibs libgphoto2 ];
+
+  meta = {
+    description = "KDE camera interface library";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix
new file mode 100644
index 0000000000000..e06c1b5d307c5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A small utility to select a color";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix
new file mode 100644
index 0000000000000..e834762feb52d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, okular }:
+
+kde {
+  buildInputs = [ kdelibs okular ];
+
+  meta = {
+    description = "A collection of plugins to handle mobipocket files";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix
new file mode 100644
index 0000000000000..d9d35808ac50f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libtiff }:
+
+kde {
+  buildInputs = [ kdelibs libtiff ];
+
+  meta = {
+    description = "Strigi analyzers for various graphics file formats";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix
new file mode 100644
index 0000000000000..d6207689512f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs libkexiv2 libkdcraw ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Thumbnailers for various graphics file formats";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix
new file mode 100644
index 0000000000000..016312c199e53
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libXxf86vm }:
+
+kde {
+  buildInputs = [ kdelibs libXxf86vm ];
+
+  meta = {
+    description = "KDE monitor calibration tool";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix
new file mode 100644
index 0000000000000..ecf34e5ae9e54
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, qimageblitz }:
+
+kde {
+  buildInputs = [ kdelibs qimageblitz ];
+
+  meta = {
+    description = "KDE paint program";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.14/kdegraphics/kruler.nix
new file mode 100644
index 0000000000000..209331d9e83d6
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kruler.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE screen ruler";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix
new file mode 100644
index 0000000000000..f541c4bdb4dfc
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libksane }:
+
+kde {
+  buildInputs = [ kdelibs libksane ];
+
+  meta = {
+    description = "A KScan plugin that implements the scanning through libksane";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix
new file mode 100644
index 0000000000000..a9897d270bb62
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, libkipi }:
+
+kde {
+  buildInputs = [ kdelibs libkipi ];
+
+  meta = {
+    description = "KDE screenshot utility";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix
new file mode 100644
index 0000000000000..1d5c6e2fcb4af
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix
@@ -0,0 +1,13 @@
+{ stdenv, kde, kdelibs, pkgconfig, libraw, lcms2 }:
+
+kde {
+
+  buildInputs = [ kdelibs libraw lcms2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Library for decoding RAW images";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix
new file mode 100644
index 0000000000000..46ec45fad01a7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, exiv2 }:
+
+kde {
+  buildInputs = [ kdelibs exiv2 ];
+
+  meta = {
+    description = "Exiv2 support library";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix
new file mode 100644
index 0000000000000..65e6c52bd44f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Interface library to kipi-plugins";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.14/kdegraphics/libksane.nix
new file mode 100644
index 0000000000000..6c3543eef3704
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libksane.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs, saneBackends }:
+
+kde {
+  buildInputs = [ kdelibs saneBackends ];
+
+  meta = {
+    description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/okular.nix b/pkgs/desktops/kde-4.14/kdegraphics/okular.nix
new file mode 100644
index 0000000000000..092833388a78c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/okular.nix
@@ -0,0 +1,17 @@
+{ stdenv, chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
+, qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }:
+
+kde {
+
+# TODO: package activeapp, qmobipocket
+
+  buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4
+                  qca2 qimageblitz libtiff kactivities libkexiv2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Okular, the KDE document viewer";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix
new file mode 100644
index 0000000000000..2fc0e373dbdfb
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix
@@ -0,0 +1,10 @@
+{ stdenv, kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "SVG KPart";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix b/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix
new file mode 100644
index 0000000000000..46567b5e2a717
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, baloo, kfilemetadata, pkgconfig }:
+
+kde {
+  buildInputs = [ kdelibs baloo kfilemetadata ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Baloo Widgets";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/baloo.nix b/pkgs/desktops/kde-4.14/kdelibs/baloo.nix
new file mode 100644
index 0000000000000..0976639e80338
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/baloo.nix
@@ -0,0 +1,18 @@
+{ stdenv, kde, kdelibs, pkgconfig, doxygen, kdepimlibs, xapian, qjson, akonadi, kfilemetadata
+}:
+
+kde {
+
+# TODO: qmobipocket
+
+  buildInputs = [
+    kdelibs kdepimlibs xapian qjson akonadi kfilemetadata
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "Baloo";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix
new file mode 100644
index 0000000000000..4207dfd565442
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix
@@ -0,0 +1,48 @@
+{ kde, gcc, cmake, perl
+, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
+, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
+, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
+, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
+, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
+, pkgconfig
+}:
+
+kde {
+
+# TODO: media-player-info
+
+  buildInputs =
+    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
+      libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt
+      shared_desktop_ontologies xz udev libjpeg kerberos openexr
+      libXtst attr
+    ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+
+  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
+
+  # TODO: make sonnet plugins (dictionaries) really work.
+  # There are a few hardcoded paths.
+  # Split plugins from libs?
+
+  patches = [
+    ../files/polkit-install.patch
+  ];
+
+  cmakeFlags = [
+    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+    "-DHUPNP_ENABLED=ON"
+    "-DWITH_SOLID_UDISKS2=ON"
+  ];
+
+  passthru.wantsUdisks2 = true;
+
+  meta = {
+    description = "KDE libraries";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix b/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix
new file mode 100644
index 0000000000000..48f535549ce93
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix
@@ -0,0 +1,14 @@
+{ stdenv, kde, kdelibs, pkgconfig, doxygen, popplerQt4, taglib, exiv2, ffmpeg }:
+
+kde {
+  buildInputs = [
+    kdelibs popplerQt4 taglib exiv2 ffmpeg
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "KFileMetaData";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix
new file mode 100644
index 0000000000000..d90e1455ce997
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix
@@ -0,0 +1,20 @@
+{ stdenv, kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
+, pkgconfig, doxygen, ebook_tools
+}:
+
+kde {
+
+# TODO: qmobipocket
+
+  buildInputs = [
+    kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
+    popplerQt4 ebook_tools
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "NEPOMUK core";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix
new file mode 100644
index 0000000000000..b0fc5ad8900d1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, nepomuk_core }:
+
+kde {
+
+  buildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "NEPOMUK Widgets";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix
new file mode 100644
index 0000000000000..4c56e7529dd72
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }:
+kde {
+  buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ];
+  meta = {
+    description = "transparent audio CD access for applications using the KDE Platform";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix
new file mode 100644
index 0000000000000..006300742ecd6
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a multimedia player with the focus on simplicity";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix
new file mode 100644
index 0000000000000..45f6c9abcb66e
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, ffmpeg }:
+kde {
+  buildInputs = [ kdelibs ffmpeg ];
+  meta = {
+    description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.14/kdemultimedia/juk.nix
new file mode 100644
index 0000000000000..5d7b1db224ea5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/juk.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, taglib, libtunepimp }:
+kde {
+
+# TODO: opusfile
+
+  buildInputs = [ kdelibs taglib libtunepimp ];
+  meta = {
+    description = "an audio jukebox application";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix
new file mode 100644
index 0000000000000..1dd8108166f22
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libcanberra, pulseaudio }:
+kde {
+  buildInputs = [ kdelibs libcanberra pulseaudio ];
+  meta = {
+    description = "sound mixer, an application to allow you to change the volume of your sound card";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix
new file mode 100644
index 0000000000000..e99ae53935b95
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libmusicbrainz }:
+kde {
+  buildInputs = [ kdelibs libmusicbrainz ];
+  meta = {
+    description = "KDE CD player";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix
new file mode 100644
index 0000000000000..720b01d1861ed
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+#todo: libmusicbrainz5
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a library used to retrieve audio CD meta data from the internet";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix
new file mode 100644
index 0000000000000..6ed08af89f33b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "KDE library for playing & ripping CDs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix
new file mode 100644
index 0000000000000..c88ebcc2a5a3f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a video thumbnail generator for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix
new file mode 100644
index 0000000000000..0330511a258b6
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE properties dialog plugin to share a directory with the local network";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix
new file mode 100644
index 0000000000000..e838d84fc5eb7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, boost }:
+
+kde {
+  buildInputs = [ kdelibs boost ];
+
+  meta = {
+    description = "Strigi analyzers for various network protocols";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kget.nix b/pkgs/desktops/kde-4.14/kdenetwork/kget.nix
new file mode 100644
index 0000000000000..f986da2de2148
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kget.nix
@@ -0,0 +1,20 @@
+{ kde, kdelibs, libktorrent, kde_workspace, sqlite, boost
+, kde_baseapps, libmms, qca2, nepomuk_core, nepomuk_widgets
+, pkgconfig }:
+
+kde {
+
+# TODO: QGpgME
+
+  buildInputs =
+    [ kdelibs libktorrent nepomuk_core nepomuk_widgets sqlite qca2
+      libmms kde_baseapps kde_workspace boost ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  KDEDIRS = libktorrent;
+
+  meta = {
+    description = "KDE download manager";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix
new file mode 100644
index 0000000000000..7d8aec21ce6c3
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix
@@ -0,0 +1,26 @@
+{ kde, kdelibs, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
+  jasper, libidn, mediastreamer, pkgconfig, libxslt, giflib,
+  libgadu, boost, qca2, sqlite, jsoncpp,
+  ortp, srtp, libv4l }:
+
+kde {
+
+# TODO: libmeanwhile, xmms, jsoncpp(not found), kleopatra(from kdepim but doesn't install headers?),
+
+  buildInputs = [
+    kdelibs qca2 mediastreamer libgadu jsoncpp
+    kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib
+    libidn libxslt boost
+    ortp srtp libv4l
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  KDEDIRS = libktorrent;
+
+  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
+
+  meta = {
+    description = "A KDE multi-protocol IM client";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.14/kdenetwork/kppp.nix
new file mode 100644
index 0000000000000..4c6bd65769f71
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kppp.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "PPP(Dial-Up) client tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
new file mode 100644
index 0000000000000..80557e827fe0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
+
+kde {
+  buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
+
+  meta = {
+    description = "KDE remote desktop client";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.14/kdenetwork/krfb.nix
new file mode 100644
index 0000000000000..cb4857965a34a
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/krfb.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg, telepathy_qt }:
+
+kde {
+  buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg telepathy_qt ];
+
+  meta = {
+    description = "KDE desktop sharing";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix b/pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix
new file mode 100644
index 0000000000000..f65960cc337b9
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE tool that monitors the network for DNS-SD services";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdepim-runtime.nix b/pkgs/desktops/kde-4.14/kdepim-runtime.nix
new file mode 100644
index 0000000000000..d92e225482065
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdepim-runtime.nix
@@ -0,0 +1,16 @@
+{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
+
+kde {
+
+# TODO: libkgapi(2), LibKFbAPI,libkolab, libkolabxml
+
+  buildInputs = [
+    kdepimlibs akonadi boost shared_desktop_ontologies
+    libxslt
+  ];
+
+  meta = {
+    description = "KDE PIM runtime";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdepim.nix b/pkgs/desktops/kde-4.14/kdepim.nix
new file mode 100644
index 0000000000000..9f266e596a617
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdepim.nix
@@ -0,0 +1,28 @@
+{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
+, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
+, nepomuk_widgets, kactivities, libXScrnSaver, qjson, baloo
+, pkgconfig }:
+
+kde {
+
+# TODO: LinkGrammar
+
+  buildInputs =
+    [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
+      libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
+      libXScrnSaver qjson baloo
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ];
+
+  meta = {
+    description = "KDE PIM tools";
+    longDescription = ''
+      Contains various personal information management tools for KDE, such as an organizer.
+    '';
+    license = "GPL";
+    homepage = http://pim.kde.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdepimlibs.nix b/pkgs/desktops/kde-4.14/kdepimlibs.nix
new file mode 100644
index 0000000000000..8301e9f4b188f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdepimlibs.nix
@@ -0,0 +1,19 @@
+{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, prison
+, kdelibs, akonadi, libxslt, nepomuk_core
+, shared_desktop_ontologies, qjson }:
+
+kde {
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs =
+    [ gpgme libical libxslt qjson prison
+      openldap cyrus_sasl akonadi shared_desktop_ontologies
+    ];
+
+  propagatedBuildInputs = [ kdelibs nepomuk_core boost ];
+
+  meta = {
+    description = "KDE PIM libraries";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeplasma-addons.nix b/pkgs/desktops/kde-4.14/kdeplasma-addons.nix
new file mode 100644
index 0000000000000..2b1f1628cf1da
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeplasma-addons.nix
@@ -0,0 +1,23 @@
+{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
+, boost, eigen2, kde_workspace, attica, qca2, qimageblitz
+, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
+, qjson, qoauth }:
+
+kde {
+
+# TODO: qwt, scim, ibus
+
+  KDEDIRS=marble;
+
+  buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
+                  eigen2 qca2 libXtst qimageblitz libqalculate 
+                  shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "KDE Plasma Addons";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.14/kdesdk/cervisia.nix
new file mode 100644
index 0000000000000..1dabe46cd429d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/cervisia.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE CVS frontend";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix
new file mode 100644
index 0000000000000..ad8132a850e54
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, kde_baseapps }:
+
+kde {
+
+  # Needs kdebase for libkonq
+  buildInputs = [ kdelibs kde_baseapps ];
+
+  meta = {
+    description = "Svn, mercurial, git and bazaar plugins for dolphin";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix
new file mode 100644
index 0000000000000..391536248dd3d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE 4 project template generator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix
new file mode 100644
index 0000000000000..65d410cca48dd
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Frontend for Callgrind/Cachegrind";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix
new file mode 100644
index 0000000000000..df81145e5d602
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Various scripts to ease KDE development";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix
new file mode 100644
index 0000000000000..215c0a3c613a6
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, gcc, libtool }:
+
+kde {
+  buildInputs = [ kdelibs libtool ];
+
+  preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
+
+  meta = {
+    description = "various KDE development utilities";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix
new file mode 100644
index 0000000000000..98bbce35a97c1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, subversionClient, apr, aprutil,perl }:
+
+kde {
+
+  buildInputs = [ kdelibs subversionClient apr aprutil perl ];
+
+  cmakeFlags = [ "-DBUILD_perldoc=ON" ];
+
+  meta = {
+    description = "Subversion and perldoc kioslaves";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix
new file mode 100644
index 0000000000000..4d579b88ba8a1
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Strigi analyzers for diff, po and ts";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix
new file mode 100644
index 0000000000000..d707fe9038feb
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, gettext }:
+
+kde {
+
+  buildInputs = [ kdelibs gettext ];
+
+  meta = {
+    description = "PO file format thumbnailer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/kompare.nix b/pkgs/desktops/kde-4.14/kdesdk/kompare.nix
new file mode 100644
index 0000000000000..644c7c48dc974
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/kompare.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkomparediff2 }:
+
+kde {
+  buildInputs = [ kdelibs libkomparediff2 ];
+
+  meta = {
+    description = "A program to view the differences between files and optionally generate a diff";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix
new file mode 100644
index 0000000000000..5933682c70a01
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A library to compare files and strings";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.14/kdesdk/lokalize.nix
new file mode 100644
index 0000000000000..1565426eb1fc2
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/lokalize.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, hunspell }:
+
+kde {
+  buildInputs = [ kdelibs hunspell ];
+
+  meta = {
+    description = "KDE 4 Computer-aided translation system";
+    longDescription = ''
+      Computer-aided translation system.
+      Do not translate what had already been translated.
+    '';
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/okteta.nix b/pkgs/desktops/kde-4.14/kdesdk/okteta.nix
new file mode 100644
index 0000000000000..058636596ad81
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/okteta.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, qca2 }:
+
+kde {
+  buildInputs = [ kdelibs qca2 ];
+
+# TODO: Look what does -DBUILD_mobile add
+
+  enableParallelBuilding = false;
+
+  meta = {
+    description = "KDE byte editor";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/poxml.nix b/pkgs/desktops/kde-4.14/kdesdk/poxml.nix
new file mode 100644
index 0000000000000..6e46c3e3ab4fe
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/poxml.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, antlr, gettext }:
+
+kde {
+  buildInputs = [ kdelibs antlr gettext ];
+
+  meta = {
+    description = "Po<->xml tools";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.14/kdesdk/umbrello.nix
new file mode 100644
index 0000000000000..e83a2d9a901b8
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdesdk/umbrello.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libxml2, libxslt, boost }:
+
+kde {
+  buildInputs = [ kdelibs libxml2 libxslt boost ];
+
+  meta = {
+    description = "Umbrello UML modeller";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdetoys/amor.nix b/pkgs/desktops/kde-4.14/kdetoys/amor.nix
new file mode 100644
index 0000000000000..936d63d544a9d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdetoys/amor.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE creature for your desktop";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.14/kdetoys/kteatime.nix
new file mode 100644
index 0000000000000..dacf54def4b0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdetoys/kteatime.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE utility for making a fine cup of tea";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdetoys/ktux.nix b/pkgs/desktops/kde-4.14/kdetoys/ktux.nix
new file mode 100644
index 0000000000000..108f9be7c7228
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdetoys/ktux.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kde_workspace }:
+
+kde {
+  buildInputs = [ kdelibs kde_workspace ];
+
+  meta = {
+    description = "Tux Screen Saver";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/ark.nix b/pkgs/desktops/kde-4.14/kdeutils/ark.nix
new file mode 100644
index 0000000000000..99844b909fd7f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/ark.nix
@@ -0,0 +1,17 @@
+{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson
+, unzip }:
+
+kde {
+  buildInputs = [
+    makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/ark \
+      --prefix PATH ":" "${unzip}/bin"
+  '';
+
+  meta = {
+    description = "KDE Archiving Tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/filelight.nix b/pkgs/desktops/kde-4.14/kdeutils/filelight.nix
new file mode 100644
index 0000000000000..25ecabed27ce7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/filelight.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Tool to visualise file and directory sizes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.14/kdeutils/kcalc.nix
new file mode 100644
index 0000000000000..08b202e8f0e8f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kcalc.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, gmp }:
+
+kde {
+  buildInputs = [ kdelibs gmp ];
+
+  meta = {
+    description = "KDE Calculator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix
new file mode 100644
index 0000000000000..d4c9c06f483dc
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE character selection utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kdf.nix b/pkgs/desktops/kde-4.14/kdeutils/kdf.nix
new file mode 100644
index 0000000000000..3f9da58d0a625
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kdf.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE free disk space utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix
new file mode 100644
index 0000000000000..2434a4fa671fc
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Floppy disk formatting utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix
new file mode 100644
index 0000000000000..b3f95356d132c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, kdepimlibs, boost, gpgme }:
+
+kde {
+
+  buildInputs = [ kdelibs kdepimlibs boost gpgme ];
+
+  meta = {
+    description = "Simple KDE GUI for GPG";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix
new file mode 100644
index 0000000000000..70311a789f997
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libXtst }:
+
+kde {
+  buildInputs = [ kdelibs libXtst ];
+
+  meta = {
+    description = "KDE remote control";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.14/kdeutils/ktimer.nix
new file mode 100644
index 0000000000000..5700977349e3f
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/ktimer.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Timer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix b/pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix
new file mode 100644
index 0000000000000..9ec0e6c0396cd
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Wallet (password storage) management tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
new file mode 100644
index 0000000000000..ae72becd1e499
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
@@ -0,0 +1,27 @@
+{ kde, kdelibs
+, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }:
+
+let s_c_p = system_config_printer.override { withGUI = false; }; in
+
+kde rec {
+  buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
+    ] ++ pythonPath;
+
+  pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
+
+  passthru.propagatedUserEnvPackages = [ s_c_p ];
+
+  postInstall =
+    ''
+      wrapPythonPrograms
+
+      # "system-config-printer" supplies some D-Bus policy that we need.
+      mkdir -p $out/nix-support
+      echo ${s_c_p} > $out/nix-support/propagated-user-env-packages
+    '';
+
+  meta = {
+    description = "KDE printer manager";
+    longDescription = "Applet to view current print jobs and configure new printers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix
new file mode 100644
index 0000000000000..cbe7a28560622
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, qimageblitz, python }:
+
+kde {
+  buildInputs = [ kdelibs qimageblitz python ];
+
+  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
+
+  meta = {
+    description = "A KDE Eye-candy Application";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.14/kdeutils/sweeper.nix
new file mode 100644
index 0000000000000..78d56c7df30e8
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/sweeper.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Helps clean unwanted traces the user leaves on the system";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix
new file mode 100644
index 0000000000000..55e37809e07b5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Batch search and replace tool";
+    homepage = http://www.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix
new file mode 100644
index 0000000000000..6d22f72461f98
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "An HTML imagemap editor";
+    homepage = http://www.nongnu.org/kimagemap/;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix
new file mode 100644
index 0000000000000..918512e2b2de2
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
+
+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 ];
+
+  meta = {
+    description = "A KDE link checker";
+    homepage = http://klinkstatus.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.14/kdewebdev/kommander.nix
new file mode 100644
index 0000000000000..d5f4337f714db
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kommander.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A graphical editor of scripted dialogs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/l10n/default.nix b/pkgs/desktops/kde-4.14/l10n/default.nix
new file mode 100644
index 0000000000000..fa6406043b1b3
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/l10n/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }:
+
+let
+
+  inherit (stdenv.lib) attrByPath singleton;
+
+  kdeL10nDerivation =
+    { lang, saneName, sha256 }:
+
+    stdenv.mkDerivation rec {
+      name = "kde-l10n-${saneName}-${release}";
+
+      src = fetchurl {
+        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
+        name = "${name}.tar.xz";
+        inherit sha256;
+      };
+
+      buildInputs = [ gettext kdelibs ];
+
+      cmakeFlags = "-Wno-dev";
+
+      meta = {
+        description = "KDE translation for ${lang}";
+        inherit branch;
+        license = "GPL";
+        platforms = stdenv.lib.platforms.linux;
+        inherit (kdelibs.meta) maintainers homepage;
+      };
+    };
+
+  kdeL10nRelease =
+    builtins.listToAttrs (
+      map ({lang, saneName, sha256}:
+        {
+          name = saneName;
+          value = kdeL10nDerivation { inherit lang saneName sha256; };
+        }
+      ) (import (./manifest + "-${release}.nix"))
+    );
+
+in
+{
+  inherit kdeL10nDerivation;
+  recurseForDerivations = true;
+} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.14/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.14/l10n/l10n-manifest.sh
new file mode 100755
index 0000000000000..ec159a1e2047b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/l10n/l10n-manifest.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Usage: download kde-l10n to $dir, then run
+# $0 $dir
+
+dir=$1
+
+if [[ ! -d "${dir}" ]]; then
+  echo "${dir} is not a directory (or doesn't exist)!" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \
+	sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//')
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "["
+for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do
+  lang=${i%-${release}.tar.xz}
+  lang=${lang#kde-l10n-}
+  echo -n "${lang}.. " >&2
+  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo "{"
+  echo "  lang = \"${lang}\";"
+  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.14/l10n/manifest-4.14.1.nix b/pkgs/desktops/kde-4.14/l10n/manifest-4.14.1.nix
new file mode 100644
index 0000000000000..922bf46adcfab
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/l10n/manifest-4.14.1.nix
@@ -0,0 +1,267 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1hprszswsrmlbbbi6yian9v55yg78ca0y18ass0wvqpa0wk1yjhl";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "0vbxv671h88sq3mjsz8cs8y4cqf38xsqar517mwvzkav17jdgsin";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "1s6jqrldp28a2c7y74f6kwp6wy01d9n667p3wnfjbs2x4r7q5yag";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "1aqs3jr5w7kwzkdw7a00b6yslzphrwvaib8w37fz21ppijsyhb55";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "0ns7jqv9yil38m5ymy0q6ghmv0807wqjjp68z2z2c3n50ky4a9nn";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "0bs92lxdffyqd4yrzar0xwa43j1zb6hj4z0kw99aj2gwdn6kripr";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "129g2zb7di4w51dcykpbm4ilr23f0a00f62yw96583lnm7cmnxyh";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "0vahrfrrnqxj3mhm13wavykrrs4r7r3yff9v19n8b6j2v1frcj21";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1rbclbbcgylxnfkf7j9k1vm1b40lhgl5lghbqz488i2pkkm0sxdi";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "060zw53mdh872agsp3qszqb2a04kfrzr6mfnbh3fa3kqdkdk9czq";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "117gvv3280fy9ir8964xvpjc89nd1igp6g43s7gbg7w7dq3ssm9n";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "15z7zqdh8i7rq5wdzbri73ifdd8nxac4izs1lgyj73nhbj5wfqkf";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "1386aj4gfh6014kb746vwq7dh8bbps9q55x1narhp85v430mqbb5";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "0izpc6k2ly2s70wzd2zawl6051fxds27arkq6z9cbrn535697790";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0k6grdvik887gmhr1f2la6xpj0c7hfqk4x2p9akb7v62byl1f85h";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "1cqbxk82lc6k7f3y2aj5nflm9l4nqgzg7rs45xw5sbjrcbkkifhy";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "1cyhsr7yvbpkllkzc4lc57r03x53xyxsk973dy3gw3nhj90b3wj3";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "0ywnk0rn983i2pbyj7iqxvkl1z3szh3l1ikj0mwrbk63y5xdrxkw";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1125cajwik5n6mdqx3m0wiaj3aw828sk9gi4yff8ki8710p7yff5";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "12v5m86pi35q9dyd9iph16iqlr8hz12q49h0fpqq8rn6m6l7q2cb";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "0dyjp6j1xhmfkmvvqql6d6viqg7c6qqjbi709fq2d41jmrk9b6mp";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "004pq9sw834ksj988w8sf4plfqzbbzkwyvgjv3fsb96a3dq86w76";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "00y28i5f0q6vzdwbdjb2mvc3yb4sdswqhn5ajr2pig5wrd95l4mf";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "1z5hpyd3s3j78403ffyp6bw82n2qncqx3nw3bgc8ivsmls99zm1i";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "19kswci8x4q5cz0qcy0bba5ix3a9jjzmdpn3idsd42p2hn95dzjg";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "1shx1nmq0if35qlw97bq0kmbdjqzkzy61m0pdmlwg85i6z3fv9x0";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1y5g9bgg7c5f9nmcci0h2zi8bmk8xphwd0vkzjh6mqdhx4mckawh";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "0318wnd31q2gsizhcsp2rgdzsd64vvrmm42rihin01325nx58nzi";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1jjprhshr6ll4v1fin7bv00wgv243hg3an9b6f6jk75q146bdv8v";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "06r0yh1yqvay6swbyr3qpyx67z1sdf0f71bj02y3zalp53q33n2x";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "09slsn1frwpf9agwyp8chwlb9mzfaqpd9h21dnbpahz3yxzcr4zk";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "10zrn03iir9z4fhpf6kqczn04808axgpxaa60qijdpr7h0wa3nkx";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "1g8r6zx9mpyzahi5nmciwjcpc4llylj35yarwypghp53pbmqy1qz";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "0lkbm0yfn32yfmbrfp9ip98gydcpg553fv9f2lwn0xh369qsqi8w";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "0lgs7qw2k2w2sxdhs5mkp3ifswc09q17l37q6y8qc7sk6bpsxgam";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "143piqk6sdqs440qzws251i4h08gqm908g244frjkaswmd44a67s";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "1j391h00alzl2bsfa5nxrkh9z3j4jjf1wlg54mjnaxm2n9r13f7a";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "0c9805q6b3pswc33wr4lwfnm1knqm7i984dsdx50w66b2fh3jldh";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "1w7jihagpw8n6ljm965mqx8shjywh4zanybb2kc94cwyx5dpg6ia";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "0yh203s8v5r3yf1c98lwyk220ppwbndn879c4z71r88jww9g2xaw";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1r3krrpwvwdpailmdn7ilaamcjhahg6kpq8lmgqx85aybaqwllqa";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "1nnzmzj90jh97nbrjbdyyfc9vlgsra622y63mg3dps4vzmv7sfji";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "0l3pzvpjzsw8fs1wwx0vzl3r46sz3lcgjzjjwxnxjwjjvrlnsr8g";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "13r77k8q6idn2wxwhp46vry3jynyg4i3dcamamw55w3qgb3bd2ri";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "1mx54f4m75zg0rdbq6gz65xl0bf6w63ij0d3ziq5fj7fpz4jnlqb";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "1grl665j40vq39y0kchfxx2wz13wbr88h7paz6fgc3kskwwj9i4z";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "0gf84fyg3hzipf3ja6wnn8h82v2vaaqpgs6k7k72p484b7a34881";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "0r3afsnkv478byc3wnpg7jv1ik0malks5l204kdxanczlcy64x97";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "0kpm91m0rnk3xij2ba1dbr6063034fcg7kvpyl1qbzr2hvr453sa";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "0hrvz8wm2p05ch41w26pbk19jcgsxw27n94axmyp3lb8vlhmf7xm";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "0rhxpbas2dcf2sn88adi4ymm206gmd1arv32k3mnvh3gm60ik2s6";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "1sjzbh0577gcmq29qd9p077szybylhhz4krji7x2cbbkimx6insv";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "0zlz7y1xpngvs3d2mhkvl5p7bfyb5nzshf73ljghghljniv412ky";
+}
+]
diff --git a/pkgs/desktops/kde-4.14/oxygen-icons.nix b/pkgs/desktops/kde-4.14/oxygen-icons.nix
new file mode 100644
index 0000000000000..270707f849280
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/oxygen-icons.nix
@@ -0,0 +1,15 @@
+{ kde, cmake }:
+
+kde {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "156ghknzdrlf48602lcap5vpp691cyba0igdbw53wfqfpaqkap28";
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "KDE Oxygen theme icons";
+    longDescription = "Icons for KDE's default theme";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/support/akonadi/default.nix b/pkgs/desktops/kde-4.14/support/akonadi/default.nix
new file mode 100644
index 0000000000000..5238744cc7b95
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/support/akonadi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "akonadi-1.13.0";
+  
+  src = fetchurl {
+    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
+    sha256 = "8c7f690002ea22c139f3a64394aef2e816e00ca47fd971af7d54a66087356dd2";
+  };
+
+  buildInputs = [ qt4 soprano libxslt boost sqlite ];
+
+  nativeBuildInputs = [ cmake automoc4 shared_mime_info pkgconfig ];
+
+  enableParallelBuilding = true;
+  
+  meta = with stdenv.lib; {
+    description = "KDE PIM Storage Service";
+    license = "LGPL";
+    homepage = http://pim.kde.org/akonadi;
+    maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 2d449b3fe3078..ae6b1a88a14d9 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -60,6 +60,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
   xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
   xfce4_datetime_plugin   = callPackage ./panel-plugins/xfce4-datetime-plugin.nix   { };
+  xfce4_battery_plugin    = callPackage ./panel-plugins/xfce4-battery-plugin.nix    { };
 
 }; # xfce_self
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
new file mode 100644
index 0000000000000..dd93c851c7b2b
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-battery-plugin";
+  ver_maj = "1.0";
+  ver_min = "0";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "07qji9gh7ail06kwf1lniph5fdccvrsjwsxwnlbw0cmrws0bb2y2";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Battery plugin for Xfce panel";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
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/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 0d8d8e3d6d735..bdf850df8cb20 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.3pl2";
+  version = "2.4";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "1cq4my646ll1mszs5mbzwk4vp8l8qnsc96fpcv2pl35aw5i6jqm8";
+    sha256 = "1qrb1cplx3v5wxn1c46kx67v1j52yznvjm2hkrsdybphhki2pyia";
   };
 
   buildInputs = [ coq ocaml ocamlPackages.menhir ];
@@ -15,13 +15,12 @@ stdenv.mkDerivation rec {
   configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ " +
     (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux");
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Formally verified C compiler";
     homepage    = "http://compcert.inria.fr";
-    license     = stdenv.lib.licenses.inria;
-    platforms   = stdenv.lib.platforms.linux ++
-                  stdenv.lib.platforms.darwin;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice
-                    stdenv.lib.maintainers.jwiegley ];
+    license     = licenses.inria;
+    platforms   = platforms.linux ++
+                  platforms.darwin;
+    maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
   };
 }
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..ca117baca7875 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.2.src.tar.gz;
+      sha256 = "1yq6xygc5lhn3b9d4sbddlf8dzi3wihyzjwyc8rhiwrb3hj8hx1y";
+    };
+    tools = fetchhg {
+      url = https://code.google.com/p/go.tools/;
+      rev = "e1c276c4e679";
+      sha256 = "0x62njflwkd99i2ixbksg6mjppl1wfg86f0g3swn350l1h0xzp76";
+    };
+  };
 in
 
 stdenv.mkDerivation {
-  name = "go-1.3.1";
+  name = "go-1.3.2";
 
-  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/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 e60c4dd5b4b09..2af8ec1b022ae 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -31,6 +31,5 @@ cabal.mkDerivation (self: {
     description = "Functional Programming Language with Dependent Types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    broken = true;
   };
 })
diff --git a/pkgs/development/compilers/idris/wrapper.nix b/pkgs/development/compilers/idris/wrapper.nix
index fce5c0c89f379..2985b33c17068 100644
--- a/pkgs/development/compilers/idris/wrapper.nix
+++ b/pkgs/development/compilers/idris/wrapper.nix
@@ -6,5 +6,6 @@ runCommand "idris-wrapper" {} ''
   ln -s ${idris_plain}/bin/idris $out/bin
       wrapProgram $out/bin/idris \
         --suffix NIX_CFLAGS_COMPILE : '"-I${gmp}/include -L${gmp}/lib -L${boehmgc}/lib"' \
-        --suffix PATH : ${gcc}/bin
+        --suffix PATH : ${gcc}/bin \
+        --suffix PATH : ${idris_plain}/bin
 ''
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/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index ca5eadc8a649d..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.21";
+  name = "orc-0.4.22";
 
   src = fetchurl {
     url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham";
+    sha256 = "0dgrbjm94y9l63s3srlddjcdxgrv6iazmvwh630jrw159dzhgjh4";
   };
 
-  doCheck = stdenv.is64bit; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
+  # 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/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 9c0af4ec9ab39..76bb811dd66d8 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.5.1";
+  version = "5.5.2";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz";
-    sha256 = "16i0ir5mydl7381aijihkll19khp3z8dq0g2ja6k0pcbpkd0k06g";
+    sha256 = "10m680qdad6bd50bav9xjsgmsxw8yxg55vr7grbg0gvykzl2pzbk";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
index fea35d24960c6..21e6576e4e35b 100644
--- a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
+++ b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
@@ -1,8 +1,8 @@
 diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
-index 7a3e912..ced75fa 100644
+index 6332485..9500a23 100644
 --- a/src/librustc/back/link.rs
 +++ b/src/librustc/back/link.rs
-@@ -856,24 +856,15 @@
+@@ -383,18 +383,9 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
  
  pub fn get_cc_prog(sess: &Session) -> String {
      match sess.opts.cg.linker {
@@ -22,11 +22,17 @@ index 7a3e912..ced75fa 100644
 -    }.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()
-     }
- }
+ pub fn remove(sess: &Session, path: &Path) {
+diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
+index 060dda5..fecf76b 100644
+--- a/src/librustc_back/archive.rs
++++ b/src/librustc_back/archive.rs
+@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
+           paths: &[&Path]) -> ProcessOutput {
+     let ar = match *maybe_ar_prog {
+         Some(ref ar) => ar.as_slice(),
+-        None => "ar"
++        None => "@arPath@"
+     };
+     let mut cmd = Command::new(ar);
  
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index f3dd7ef3c7500..f81539fad9a33 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper}:
+{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper
+, tzdata, git
+}:
 
 assert stdenv.gcc.gcc != null;
 
@@ -16,19 +18,19 @@ assert stdenv.gcc.gcc != null;
 
 */
 
-with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-79a5448f4"; });
+with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-a2e7c4da9"; });
 
 let snapshot = if stdenv.system == "i686-linux"
-      then "6f5464c9ab191d93bfea0894ca7c6f90c3506f2b"
+      then "555aca74f9a268f80cab2df1147dc6406403e9e4"
       else if stdenv.system == "x86_64-linux"
-      then "72c92895fa9a1dba7880073f2b2b5d0e3e1a2ab6"
+      then "6a43c2f6c8ba2cbbcb9da1f7b58f748aef99f431"
       else if stdenv.system == "i686-darwin"
-      then "545fc45a0071142714639c6be377e6d308c3a4e1"
+      then "331bd7ef519cbb424188c546273e8c7d738f0894"
       else if stdenv.system == "x86_64-darwin"
-      then "8b44fbbbd1ba519d2e83d0d5ce1f6053d3cab8c6"
+      then "2c83a79a9febfe1d326acb17c3af76ba053c6ca9"
       else abort "no-snapshot for platform ${stdenv.system}";
-    snapshotDate = "2014-09-10";
-    snapshotRev = "6faa4f3";
+    snapshotDate = "2014-10-04";
+    snapshotRev = "749ff5e";
     snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
 
 in stdenv.mkDerivation {
@@ -38,8 +40,8 @@ in stdenv.mkDerivation {
 
   src = fetchgit {
     url = https://github.com/rust-lang/rust;
-    rev = "79a5448f41dcc6ab52663105a6b02fc5af4c503e";
-    sha256 = "0v2ahwgb1ls3g4ch6005azjmfh8bs0v0nbmmfpn53zgiiywad2ji";
+    rev = "a2e7c4da9b331d337fba0b3911c6d3d7f48e8305";
+    sha256 = "1lpncqx3lfyjk6llfc7pd1iqxzfhj32hjqvj09zks73r4isc02n4";
   };
 
   # We need rust to build rust. If we don't provide it, configure will try to download it.
@@ -66,10 +68,16 @@ in stdenv.mkDerivation {
   patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ];
   postPatch = ''
     substituteInPlace src/librustc/back/link.rs \
-      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
+      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc"
+    substituteInPlace src/librustc_back/archive.rs \
       --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
   '';
 
-  buildInputs = [ which file perl curl python27 makeWrapper ];
-  enableParallelBuilding = true;
+  buildInputs = [ which file perl curl python27 makeWrapper git ];
+
+  enableParallelBuilding = false; # disabled due to rust-lang/rust#16305
+
+  preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
+
+  doCheck = true;
 }
diff --git a/pkgs/development/coq-modules/containers/default.nix b/pkgs/development/coq-modules/containers/default.nix
new file mode 100644
index 0000000000000..8c20d64d8c7d2
--- /dev/null
+++ b/pkgs/development/coq-modules/containers/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, coq}:
+
+stdenv.mkDerivation {
+
+  name = "coq-containers-${coq.coq-version}";
+
+  src = fetchurl {
+    url = http://coq.inria.fr/pylons/contribs/files/Containers/v8.4/Containers.tar.gz;
+    sha256 = "1y9x2lwrskv2231z9ac3kv4bmg6h1415xpp4gl7v5w90ba6p6w8w";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://coq.inria.fr/pylons/pylons/contribs/view/Containers/v8.4;
+    description = "A typeclass-based Coq library of finite sets/maps";
+    maintainers = with maintainers; [ vbgl ];
+    platforms = coq.meta.platforms;
+    broken = true; /* the source hash is wrong */
+  };
+
+}
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
new file mode 100644
index 0000000000000..ca8bd6481efc4
--- /dev/null
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, coq, ssreflect}:
+
+stdenv.mkDerivation {
+
+  name = "coq-mathcomp-1.5";
+
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.5.tar.gz;
+    sha256 = "1297svwi18blrlyd8vsqilar2h5nfixlvlifdkbx47aljq4m5bam";
+  };
+
+  propagatedBuildInputs = [ coq ssreflect ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://ssr.msr-inria.inria.fr/;
+    license = licenses.cecill-b;
+    maintainers = [ maintainers.vbgl ];
+    platforms = coq.meta.platforms;
+    hydraPlatforms = [];
+  };
+
+}
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
new file mode 100644
index 0000000000000..912ff7071f8fc
--- /dev/null
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, coq}:
+
+assert coq.coq-version == "8.4";
+
+stdenv.mkDerivation {
+
+  name = "coq-ssreflect-1.5";
+
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz;
+    sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://ssr.msr-inria.inria.fr/;
+    license = licenses.cecill-b;
+    maintainers = with maintainers; [ vbgl ];
+    platforms = coq.meta.platforms;
+  };
+
+}
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/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix
index 7b811732a6260..521933b0ed1fa 100644
--- a/pkgs/development/interpreters/clisp/2.44.1.nix
+++ b/pkgs/development/interpreters/clisp/2.44.1.nix
@@ -3,12 +3,12 @@
 , libffi, libffcall, coreutils }:
         
 stdenv.mkDerivation rec {
-  v = "2.49";
+  v = "2.44.1";
   name = "clisp-${v}";
   
   src = fetchurl {
     url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz";
-    sha256 = "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx";
+    sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 8f0b4a238b3d7..9a5d2417df7b0 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
+{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
 
 let
   version = "1.0.0";
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
     substituteInPlace Makefile \
       --replace "/usr/local" $out
+    substituteInPlace bin/mix \
+      --replace "/usr/bin/env elixir" "$out/bin/elixir"
   '';
 
   postFixup = ''
@@ -29,7 +31,8 @@ stdenv.mkDerivation {
     for f in $out/bin/*
     do
       wrapProgram $f \
-      --prefix PATH ":" "${erlang}/bin:${coreutils}/bin"
+      --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \
+      --set CURL_CA_BUNDLE "${cacert}/etc/ca-bundle.crt"
     done
   '';
 
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 83ea79d67f396..a7378e69c3a58 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
-  version = "17.1";
+  version = "17.3";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
+    sha256 = "1r3n7drzgmwcv46n4lzic9ki19psgx1vjgnmjp5g85k06kmh7gnl";
   };
 
   buildInputs =
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   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/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/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
new file mode 100644
index 0000000000000..21d203f8e63f3
--- /dev/null
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, nix }: let
+  version = "1.0.0";
+in stdenv.mkDerivation {
+  name = "nix-exec-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
+
+    sha256 = "0w89ma69iil1ki68zvs1l0ii0d87in64791l3a4yzyv9d3ncl3w6";
+  };
+
+  buildInputs = [ pkgconfig nix ];
+
+  meta = {
+    description = "Run programs defined in nix expressions";
+
+    homepage = https://github.com/shlevy/nix-exec;
+
+    license = stdenv.lib.licenses.mit;
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+    platforms = nix.meta.platforms;
+  };
+}
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 7d325828d0efc..b9f5a38dcc64f 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/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index e778c796bb33e..78567b1979f52 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -16,7 +16,7 @@ g: # Get dependencies from patched gems
     autotest_rails = g.autotest_rails_4_2_1;
     aws_sdk = g.aws_sdk_1_53_0;
     aws_sdk_v1 = g.aws_sdk_v1_1_53_0;
-    backports = g.backports_3_6_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;
@@ -46,6 +46,7 @@ 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;
@@ -57,6 +58,8 @@ g: # Get dependencies from patched gems
     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;
@@ -96,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;
@@ -120,10 +124,11 @@ g: # Get dependencies from patched gems
     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;
@@ -132,7 +137,7 @@ g: # Get dependencies from patched gems
     rspec_mocks = g.rspec_mocks_2_14_6;
     rubyzip = g.rubyzip_1_1_6;
     safe_yaml = g.safe_yaml_1_0_3;
-    sass = g.sass_3_4_4;
+    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;
@@ -150,9 +155,9 @@ g: # Get dependencies from patched gems
     thread_safe = g.thread_safe_0_3_4;
     tilt = g.tilt_1_4_1;
     timers = g.timers_4_0_1;
-    tins = g.tins_1_3_2;
+    tins = g.tins_1_3_3;
     toml = g.toml_0_1_1;
-    travis = g.travis_1_7_1;
+    travis = g.travis_1_7_2;
     trollop = g.trollop_2_0;
     typhoeus = g.typhoeus_0_6_9;
     tzinfo = g.tzinfo_1_2_2;
@@ -168,7 +173,7 @@ g: # Get dependencies from patched gems
     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'' ''compass'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''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'' ];
+  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'';
@@ -318,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 = {
@@ -359,16 +364,16 @@ application.'';
       requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
       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'';
@@ -562,7 +567,7 @@ for those one-off tasks, with a language that's a joy to use.
         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_4 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 ];
+      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 = {
@@ -573,7 +578,7 @@ for those one-off tasks, with a language that's a joy to use.
         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_4 g.multi_json_1_10_1 ];
+      requiredGems = [ g.sass_3_4_5 g.multi_json_1_10_1 ];
       sha256 = ''0zhbmgjq6s9j2qdx3cz0v8s216mh8g0ymk4fzmq3c4an9rryl1zx'';
     };
     compass_import_once_1_0_5 = {
@@ -584,7 +589,7 @@ for those one-off tasks, with a language that's a joy to use.
         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_4 ];
+      requiredGems = [ g.sass_3_4_5 ];
       sha256 = ''0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq'';
     };
     cucumber_1_3_17 = {
@@ -775,6 +780,17 @@ 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 = {
@@ -883,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 = {
@@ -897,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 = {
@@ -1035,7 +1073,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
         homepage = ''https://github.com/jekyll/jekyll-sass-converter'';
       };
       name = ''jekyll-sass-converter-1.2.1'';
-      requiredGems = [ g.sass_3_4_4 ];
+      requiredGems = [ g.sass_3_4_5 ];
       sha256 = ''1w221nzcpaqh2llflciwhbzw1sqxjavwwzbri9n4qkj057a73ar1'';
     };
     jekyll_watch_1_1_1 = {
@@ -1461,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 = {
@@ -1769,6 +1818,17 @@ from the command-line.'';
       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 = {
@@ -1777,7 +1837,7 @@ from the command-line.'';
         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_4 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 = {
@@ -1859,6 +1919,18 @@ algorithm for low-level network errors.
       requiredGems = [  ];
       sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz'';
     };
+    rjb_1_5_0 = {
+      basename = ''rjb'';
+      meta = {
+        description = ''Ruby Java bridge'';
+        homepage = ''http://rjb.rubyforge.org/'';
+        longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
+'';
+      };
+      name = ''rjb-1.5.0'';
+      requiredGems = [  ];
+      sha256 = ''0hjc0l3241lqrfracgb7gmsyd54v0lzplqfv9kfzk8km61pkjlfb'';
+    };
     rkelly_remix_0_0_6 = {
       basename = ''rkelly_remix'';
       meta = {
@@ -1990,7 +2062,7 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       requiredGems = [  ];
       sha256 = ''063bykyk40s3rhy1dxfbvl69s179n1iny418z4wqjbvhrmjn18wl'';
     };
-    sass_3_4_4 = {
+    sass_3_4_5 = {
       basename = ''sass'';
       meta = {
         description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -2001,9 +2073,9 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
       command line tool or a web-framework plugin.
 '';
       };
-      name = ''sass-3.4.4'';
+      name = ''sass-3.4.5'';
       requiredGems = [  ];
-      sha256 = ''0xvdj5lb062z1byq7s8f8zmp5kkjhghih5rfdb1q61mmmbmy9lw7'';
+      sha256 = ''1rd07m2gprzgd6a4vnrlnyx5lkslfn30hcgfav86rb82a8zqmxah'';
     };
     selenium_webdriver_2_43_0 = {
       basename = ''selenium_webdriver'';
@@ -2134,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 = {
@@ -2224,16 +2296,16 @@ 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'';
@@ -2246,16 +2318,16 @@ management.
       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'';
+      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'';
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/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/agda-base/default.nix b/pkgs/development/libraries/agda/agda-base/default.nix
new file mode 100644
index 0000000000000..cf73d7dea060b
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-base/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, agda, fetchurl }:
+
+agda.mkDerivation (self: rec {
+  version = "0.1";
+  name = "agda-base-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/pcapriotti/agda-base/archive/v${version}.tar.gz";
+    sha256 = "124h06p7jdiqr2x6r46sfab9r0cgb0fznr2qs5i1psl5yf3z74h8";
+  };
+
+  sourceDirectories = [ "./." ];
+  everythingFile = "README.agda";
+
+  meta = {
+    homepage = "https://github.com/pcapriotti/agda-base";
+    description = "Base library for HoTT 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/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
new file mode 100644
index 0000000000000..fa8ed9e80a782
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, agda, fetchsvn }:
+
+agda.mkDerivation (self: rec {
+  version = "18437";
+  name = "agda-iowa-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 = "Agda standard library developed at Iowa";
+    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/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/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
new file mode 100644
index 0000000000000..229db910ffd2b
--- /dev/null
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip, cmake, boost }:
+
+let
+  major = "3";
+  minor = "1";
+  revision = "1";
+  version = "${major}.${minor}.${revision}";
+in
+stdenv.mkDerivation {
+  name = "assimp-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/assimp/assimp-${major}.${minor}/assimp-${version}_no_test_models.zip";
+    sha256 = "17nyzsqzqpafamhi779f1bkh5mfgj8rpas034x3v9a0hdy3jg66s";
+  };
+
+  buildInputs = [ unzip cmake boost ];
+
+  meta = with stdenv.lib; {
+    description = "Open Asset Import Library is a library to import various 3D model formats";
+    homepage = http://assimp.sourceforge.net/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ emery ];
+    platfroms = platforms.linux;
+    inherit version;
+  };
+}
\ No newline at end of file
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/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/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/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/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index 39a332223eafa..5c029adbf8419 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "enet-1.3.9";
-  
+  name = "enet-1.3.12";
+
   src = fetchurl {
     url = "http://enet.bespin.org/download/${name}.tar.gz";
-    sha256 = "0z4blmkyfjrkvgr12adjx7nnjrx4mvcm4zj8jp581m6rral7nf9y";
+    sha256 = "02qxgsn20m306hg3pklfa35mjlc2fqcsd1x4pi3xnbfy1nyir1d5";
   };
 
   meta = {
     homepage = http://enet.bespin.org/;
     description = "Simple and robust network communication layer on top of UDP";
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
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/0.10.nix b/pkgs/development/libraries/ffmpeg/0.10.nix
index 8ffe2daebf6c4..556a41e2dca9f 100644
--- a/pkgs/development/libraries/ffmpeg/0.10.nix
+++ b/pkgs/development/libraries/ffmpeg/0.10.nix
@@ -21,11 +21,11 @@ assert vdpauSupport -> libvdpau != null;
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "ffmpeg-0.10.14";
+  name = "ffmpeg-0.10.15";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1frkz3971zc2a60ras5ia26b2h8wbh017x1x80q8cfw0ycrpbxqy";
+    sha256 = "0p9x559fpj4zxll7rn3kwdig6y66c3ahv3pddmz23lljq5rvyvcb";
   };
 
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
+    branch = "0.10";
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/0.6.nix b/pkgs/development/libraries/ffmpeg/0.6.nix
index 053843d531333..79ab5f1c98006 100644
--- a/pkgs/development/libraries/ffmpeg/0.6.nix
+++ b/pkgs/development/libraries/ffmpeg/0.6.nix
@@ -73,5 +73,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.ffmpeg.org/;
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    branch = "0.6";
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
index e9488530b5c30..1dadf1be1276c 100644
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ b/pkgs/development/libraries/ffmpeg/1.x.nix
@@ -101,5 +101,6 @@ stdenv.mkDerivation rec {
     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 ];
+    branch = "1";
   };
 }
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..2b4b0569b5520
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/2.3.x.nix
@@ -0,0 +1,109 @@
+{ 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 ];
+    branch = "2.3";
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 8114eb4752d22..3c712f3208406 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.2";
   name = "ffmpeg-${version}";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v";
+    sha256 = "0zps80jyjvkmgmjvp9s7drbddr820hcw4w5r78hkbs5xsylr0kwp";
   };
 
   subtitleSupport = config.ffmpeg.subtitle or true;
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index c394fd0702861..6f78c198f4047 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, ffmpeg, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "ffms-2.19";
+  name = "ffms-2.20";
 
   src = fetchurl {
-    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.19;
+    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.20;
     name = "${name}.tar.gz";
-    sha256 = "0498si8bzwyxxq0f1yc6invzb1lv1ab436gwzn9418839x8pj4vg";
+    sha256 = "183klnhl57zf0i8xlr7yvj89ih83pzd48c37qpr57hjn4wbq1n67";
   };
 
   NIX_CFLAGS_COMPILE = "-fPIC";
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://code.google.com/p/ffmpegsource/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index 59071ce9e22af..e3938663c9b47 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -20,7 +20,7 @@
   <xsl:template match="/fontconfig">
 
     <fontconfig>
-      <xsl:copy-of select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
+      <xsl:apply-templates select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
 
       <include ignore_missing="yes">/etc/fonts/conf.d</include>
       <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
@@ -40,4 +40,12 @@
 
   </xsl:template>
 
+
+  <!-- New fontconfig >=2.11 doesn't like xml:space added by xsl:copy-of -->
+  <xsl:template match="node()|@*">
+    <xsl:copy>
+      <xsl:apply-templates select="node()|@*[name() != 'xml:space']"/>
+    </xsl:copy>
+  </xsl:template>
+
 </xsl:stylesheet>
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/gettext/0.17.nix b/pkgs/development/libraries/gettext/0.17.nix
index ef0a1d41bd685..3ea70bea80be3 100644
--- a/pkgs/development/libraries/gettext/0.17.nix
+++ b/pkgs/development/libraries/gettext/0.17.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "gettext-0.17";
-  
+
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
     sha256 = "1fipjpaxxwifdw6cbr7mkxp1yvy643i38nhlh7124bqnisxki5i0";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
-  
+
   meta = {
     description = "GNU gettext, a well integrated set of translation tools and documentation";
 
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/gettext/;
 
     maintainers = [ ];
+    branch = "0.17";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/5.0.nix
index 4dc8132805c45..4dc8132805c45 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/5.0.nix
diff --git a/pkgs/development/libraries/giflib/5.1.nix b/pkgs/development/libraries/giflib/5.1.nix
new file mode 100644
index 0000000000000..3ff71255b851c
--- /dev/null
+++ b/pkgs/development/libraries/giflib/5.1.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
+
+stdenv.mkDerivation {
+  name = "giflib-5.1.0";
+  src = fetchurl {
+    url = mirror://sourceforge/giflib/giflib-5.1.0.tar.bz2;
+    sha256 = "06wd32akyawppar9mqdvyhcw47ssdfcj39lryim2w4v83i7nkv2s";
+  };
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
+  meta = {
+    description = "giflib is a library for reading and writing gif images";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
index b35fe1e785596..010a2aee88e20 100644
--- a/pkgs/development/libraries/glm/default.nix
+++ b/pkgs/development/libraries/glm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "glm-0.9.5.1";
+  name = "glm-0.9.5.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ogl-math/${name}/${name}.zip";
-    sha256 = "1x8bpmqdszzkg21r411w7cy4mqd5dcvb9jghc8h3xrx7ldbicqjg";
+    sha256 = "0ndwaw2mp7pzcwwm4dghbv5qqax5a8c5plnwdgnpc9adm79gj1rl";
   };
 
   buildInputs = [ unzip ];
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://glm.g-truc.net/;
     license = licenses.mit;
     platforms = platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 4e271a8c6783c..9ab31e511578d 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -9,14 +9,14 @@ assert sslSupport -> openssl != null;
 assert idnSupport -> libidn != null;
 
 let
-  version = "1.0.10";
+  version = "1.0.11";
 in
 stdenv.mkDerivation rec {
   name = "gloox-${version}";
 
   src = fetchurl {
     url = "http://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "300e756af97d43f3f70f1e68e4d4c7129d587dface61633f50d2c490876f58a3";
+    sha256 = "1hrkvn4ddzmydvpr541l6pi8nr0k6xi9g7yxdp84ns7v463kjrq9";
   };
 
   buildInputs = [ ]
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A portable high-level Jabber/XMPP library for C++";
     homepage = "http://camaya.net/gloox";
-    license = [ "GPLv3" ];
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index a8a3943e409e0..6564fc5118675 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "gmime-2.6.19";
+  name = "gmime-2.6.20";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/2.6/${name}.tar.xz";
-    sha256 = "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg";
+    sha256 = "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gmm/default.nix b/pkgs/development/libraries/gmm/default.nix
index d79293eced14e..cf62b6a224baa 100644
--- a/pkgs/development/libraries/gmm/default.nix
+++ b/pkgs/development/libraries/gmm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "gmm-3.0";
+  name = "gmm-4.3";
 
   src = fetchurl {
-    url = http://download.gna.org/getfem/stable/gmm-3.0.tar.gz;
-    sha256 = "1lc34w68s0rhii6caklvq2pyc3jaa4g6kza948ya8ha6rr8d1ypp";
+    url = http://download.gna.org/getfem/stable/gmm-4.3.tar.gz;
+    sha256 = "0wpp3k73wd3rblsrwxl6djq6m11fx3q5wgw0pl41m9liswsw6din";
   };
 
   meta = { 
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/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
new file mode 100644
index 0000000000000..057fa7cc83af7
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, gst_all_1, boost, glib, qt4, cmake
+, automoc4, flex, bison, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-1.2.0";
+  pname = "qt-gstreamer";
+
+  src = fetchurl {
+    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.xz";
+    sha256 = "9f3b492b74cad9be918e4c4db96df48dab9c012f2ae5667f438b64a4d92e8fd4";
+  };
+
+  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base glib qt4 ];
+  propagatedBuildInputs = [ boost ];
+  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
+
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+}
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/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/HPDF/default.nix b/pkgs/development/libraries/haskell/HPDF/default.nix
index 7dcdbaa8cf995..d34e590e9e696 100644
--- a/pkgs/development/libraries/haskell/HPDF/default.nix
+++ b/pkgs/development/libraries/haskell/HPDF/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Generation of PDF documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/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
deleted file mode 100644
index 8beca12325b8f..0000000000000
--- a/pkgs/development/libraries/haskell/ShellCheck/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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";
-    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 95452b913607c..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.3";
-  sha256 = "1d5wl38gkqc2dbk626f7vdcc2i3faannac13zdc9py0kbcniw231";
+  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..ee0df96618c57 100644
--- a/pkgs/development/libraries/haskell/aeson-utils/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utilities for working with Aeson";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix
index f527d9aac4054..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,8 +24,9 @@ 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;
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/blank-canvas/default.nix b/pkgs/development/libraries/haskell/blank-canvas/default.nix
new file mode 100644
index 0000000000000..47c343f49b885
--- /dev/null
+++ b/pkgs/development/libraries/haskell/blank-canvas/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, colour, dataDefaultClass
+, httpTypes, kansasComet, scotty, stm, text, transformers, vector
+, wai, waiExtra, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "blank-canvas";
+  version = "0.5";
+  sha256 = "05kfyjp9vncyzsvq018ilb8vh7fyzbc06nlx35jk3dzj6i6x5bgs";
+  buildDepends = [
+    aeson base64Bytestring colour dataDefaultClass httpTypes
+    kansasComet scotty stm text transformers vector wai waiExtra warp
+  ];
+  meta = {
+    homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
+    description = "HTML5 Canvas Graphics Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 478ec8355d999..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.3";
-  sha256 = "1kzm2crwan11wrg8ky2gc29c7xpi9fm34xhz5gf5xlc3vy423y8s";
+  version = "0.3.3.4";
+  sha256 = "12xgmi8bc3h3cfk31rrfaklmwvyxgdwzwmxzw22yxd0dd8g11hg5";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
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/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/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/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/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..92cc3f0f9d814 100644
--- a/pkgs/development/libraries/haskell/code-builder/default.nix
+++ b/pkgs/development/libraries/haskell/code-builder/default.nix
@@ -10,5 +10,6 @@ cabal.mkDerivation (self: {
     description = "Simple system for generating code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index e0b3bdfa542b7..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.4";
-  sha256 = "0j27lzdklyq2kv10yfpd16a9sl00iyalmcy8jj9r87r7jpvj949p";
+  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/diagrams/gtk.nix b/pkgs/development/libraries/haskell/diagrams/gtk.nix
new file mode 100644
index 0000000000000..c169c9e0e4867
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/gtk.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, diagramsCairo, diagramsLib, gtk }:
+
+cabal.mkDerivation (self: {
+  pname = "diagrams-gtk";
+  version = "1.0.1.3";
+  sha256 = "1bcgplmg01sp7iwhgx7ircbn9bj15m42w6vkh539sd65y01z3hc8";
+  buildDepends = [ cairo diagramsCairo diagramsLib gtk ];
+  meta = {
+    homepage = "http://projects.haskell.org/diagrams/";
+    description = "Backend for rendering diagrams directly to GTK windows";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
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/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
index 70c7a1c7d4f64..b37ef7c2bc18d 100644
--- a/pkgs/development/libraries/haskell/engine-io-snap/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -1,18 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsecEnumerator, engineIo, snapCore
-, unorderedContainers, websockets, websocketsSnap
+{ cabal, attoparsecEnumerator, engineIo, MonadCatchIOTransformers
+, snapCore, unorderedContainers, websockets, websocketsSnap
 }:
 
 cabal.mkDerivation (self: {
   pname = "engine-io-snap";
-  version = "1.0.1";
-  sha256 = "1hw3gmi23fdcgvz817b95bf23wa7qyg10axsnvan5qxr73pwp5iv";
+  version = "1.0.2";
+  sha256 = "0x2sb3b825ds1g2g15yyqxdrw6bh968ivmyd1933l47649qbs0xr";
   buildDepends = [
-    attoparsecEnumerator engineIo snapCore unorderedContainers
-    websockets websocketsSnap
+    attoparsecEnumerator engineIo MonadCatchIOTransformers snapCore
+    unorderedContainers websockets websocketsSnap
   ];
   meta = {
+    homepage = "http://github.com/ocharles/engine.io";
     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/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
index f1f9d06c76a78..9e3d6a5b5b164 100644
--- a/pkgs/development/libraries/haskell/engine-io/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "engine-io";
-  version = "1.1.2";
-  sha256 = "1ry6rklrij7x1z8mw31vh41lc0axzj8l0lhmjsmhs554nv50062f";
+  version = "1.2.0";
+  sha256 = "07k5zc8zbjpcj3iql0kcs4zrw5g24cngkp9yanpdmnhi18ms45dv";
   buildDepends = [
     aeson async attoparsec base64Bytestring either monadLoops mwcRandom
     stm text transformers unorderedContainers vector websockets
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 1d90a9269937b..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
@@ -24,6 +24,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
index 1e3ba43cb3ebe..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.4";
-  sha256 = "022q9ac12hviamgl959v68k5mmr1i0wfisxxqa435l2y3g3yszb1";
+  version = "0.20.2.0";
+  sha256 = "1xblfsd1rj38nlw0dl56zvvnad3l0bpsncv1k5vjs4h8cmwl1ik2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
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/generic-aeson/default.nix b/pkgs/development/libraries/haskell/generic-aeson/default.nix
index 4ad9ab11fad53..7cea462a1cb19 100644
--- a/pkgs/development/libraries/haskell/generic-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/generic-aeson/default.nix
@@ -16,5 +16,6 @@ cabal.mkDerivation (self: {
     description = "Derivation of Aeson instances using GHC generics";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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.2.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index 1a4ada4d3dc51..af4b76f7b780a 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.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.2";
-  sha256 = "0hs2d6h3g077prm2mdr40k7m1cdc0h01agbcvs4h6y27nls3kyjx";
+  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-parser/default.nix b/pkgs/development/libraries/haskell/ghc-parser/default.nix
new file mode 100644
index 0000000000000..1cbfe4a19f3a9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-parser/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, happy }:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-parser";
+  version = "0.1.3.0";
+  sha256 = "13p09mj92jh4y0v2r672d49fmlz3l5r2r1lqg0jjy6kj045wcfdn";
+  buildTools = [ cpphs happy ];
+  patchPhase = ''
+    substituteInPlace build-parser.sh --replace "/bin/bash" "$SHELL"
+  '';
+  meta = {
+    homepage = "https://github.com/gibiansky/IHaskell";
+    description = "Haskell source parser from GHC";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ edwtjo ];
+  };
+})
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/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/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/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/here/default.nix b/pkgs/development/libraries/haskell/here/default.nix
new file mode 100644
index 0000000000000..2179ad0d85f09
--- /dev/null
+++ b/pkgs/development/libraries/haskell/here/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+# The file was later edited to add the state patch.
+# https://github.com/np/here/commit/3c16a4e4ce16c08904454972c0d9b43007d1c0cc
+
+{ cabal, haskellSrcMeta, mtl, parsec, fetchpatch }:
+
+cabal.mkDerivation (self: {
+  pname = "here";
+  version = "1.2.5";
+  sha256 = "0r7hjsvbx7vshbdhi60955mdfnq6arg5ihfz9f2zyilh4l5cyzwb";
+  buildDepends = [ haskellSrcMeta mtl parsec ];
+  patches = [ (fetchpatch { url = "https://github.com/np/here/commit/3c16a4e4ce16c08904454972c0d9b43007d1c0cc.patch"; sha256 = "1qibwbcpnl1cg35zvvdd2k8nr6bgd36qbla3naim3g08qaapm82h"; }) ];
+  meta = with self.stdenv.lib; {
+    homepage = "https://github.com/tmhedberg/here";
+    description = "Here docs & interpolated strings via quasiquotation";
+    license = licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with maintainers; [ edwtjo ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hindent/default.nix b/pkgs/development/libraries/haskell/hindent/default.nix
index 5e8f55b373f22..ca76bda7c346d 100644
--- a/pkgs/development/libraries/haskell/hindent/default.nix
+++ b/pkgs/development/libraries/haskell/hindent/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, dataDefault, haskellSrcExts, mtl, text }:
+{ cabal, dataDefault, haskellSrcExts, monadLoops, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "hindent";
-  version = "3.0";
-  sha256 = "1fvpyg8pb4g023v25lhizcsfd15zw5q4f23qq0ci9h7mg3axlsdx";
+  version = "3.4";
+  sha256 = "060l4dkqz4fma005yai6mdv2bdr2lp59z289j7rv1ygr6p8pqhci";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ dataDefault haskellSrcExts mtl text ];
+  buildDepends = [ dataDefault haskellSrcExts monadLoops mtl text ];
   meta = {
     description = "Extensible Haskell pretty printer";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
index 5fac7a396fff5..2513922781b69 100644
--- a/pkgs/development/libraries/haskell/hinotify/default.nix
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/kolmodin/hinotify.git";
     description = "Haskell binding to inotify";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
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/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-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-pickle-utils/default.nix b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
index 60b43b0bad4b3..6ebb0ba0d89f9 100644
--- a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utility functions for using HXT picklers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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..eb118834e34db 100644
--- a/pkgs/development/libraries/haskell/ixset/default.nix
+++ b/pkgs/development/libraries/haskell/ixset/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Efficient relational queries on Haskell sets";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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..2ad9bd83d755b 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Snap backend for jmacro-rpc";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
index d1e302b1bc9f8..ec2c3d8a96028 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro/default.nix b/pkgs/development/libraries/haskell/jmacro/default.nix
index 32d4d3747ef98..9f2fee5f7daf7 100644
--- a/pkgs/development/libraries/haskell/jmacro/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "QuasiQuotation library for programmatic generation of Javascript code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/json-rpc/default.nix b/pkgs/development/libraries/haskell/json-rpc/default.nix
index bbf443f7145dd..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
diff --git a/pkgs/development/libraries/haskell/json-schema/default.nix b/pkgs/development/libraries/haskell/json-schema/default.nix
index 5dfe40089b7cb..0c06cb107d593 100644
--- a/pkgs/development/libraries/haskell/json-schema/default.nix
+++ b/pkgs/development/libraries/haskell/json-schema/default.nix
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "Types and type classes for defining JSON schemas";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/kansas-comet/default.nix b/pkgs/development/libraries/haskell/kansas-comet/default.nix
new file mode 100644
index 0000000000000..1c01d567d758a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/kansas-comet/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, dataDefault, scotty, stm, text, time, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "kansas-comet";
+  version = "0.3.1";
+  sha256 = "0xbapi4clmkighxh0jb12zpzgrz9sqyfpwdkvrj6cdq6i6a22qx1";
+  buildDepends = [
+    aeson dataDefault scotty stm text time transformers
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/ku-fpg/kansas-comet/";
+    description = "A JavaScript push mechanism based on the comet idiom";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix
index fa1c8af968078..ba06bf860bd97 100644
--- a/pkgs/development/libraries/haskell/language-c-inline/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix
@@ -4,12 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-inline";
-  version = "0.7.6.0";
-  sha256 = "01imdfjqkx49pcwplvmd5lqbal5hq1cx11zcig3na1x46ggiavah";
+  version = "0.7.6.1";
+  sha256 = "0giyclrkxbigqpgrvlz896nsiqi7fghm79pzcxmxn7vslmardn4a";
   buildDepends = [ filepath languageCQuote mainlandPretty ];
   testDepends = [ languageCQuote ];
-  noHaddock = true;
-  doCheck = false;
   meta = {
     homepage = "https://github.com/mchakravarty/language-c-inline/";
     description = "Inline C & Objective-C code in Haskell for language interoperability";
diff --git a/pkgs/development/libraries/haskell/language-java/0.2.6.nix b/pkgs/development/libraries/haskell/language-java/0.2.6.nix
new file mode 100644
index 0000000000000..316a95481a5bf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-java/0.2.6.nix
@@ -0,0 +1,25 @@
+# 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.6";
+  sha256 = "1rwkc71c77v1lm5vnfkf7wr4lzvkpdylwz8wia40xwyxidq9qv27";
+  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;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/0.2.7.nix
index dc35a8867ba1f..dc35a8867ba1f 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/0.2.7.nix
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/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index b6c68f3ce0011..69367fc1fe116 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -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/liblastfm/default.nix b/pkgs/development/libraries/haskell/liblastfm/default.nix
index 176f80048c4d3..2558d18d748c3 100644
--- a/pkgs/development/libraries/haskell/liblastfm/default.nix
+++ b/pkgs/development/libraries/haskell/liblastfm/default.nix
@@ -2,27 +2,26 @@
 
 { cabal, aeson, cereal, contravariant, cryptoApi, hspec
 , hspecExpectationsLens, httpClient, httpClientTls, HUnit, lens
-, network, profunctors, pureMD5, semigroups, text, void, xmlConduit
-, xmlHtmlConduitLens
+, lensAeson, networkUri, profunctors, pureMD5, semigroups, text
+, void, xmlConduit, xmlHtmlConduitLens
 }:
 
 cabal.mkDerivation (self: {
   pname = "liblastfm";
-  version = "0.4.0.0";
-  sha256 = "0dr1nvb7sxlp1fihvnwz9lyfmaynbj39npah2ndvlgnzz670j0z9";
+  version = "0.4.1.0";
+  sha256 = "06w8rj2f2r0v15w6498px07krsqh1amcr6q22y3jlvaibm9mrvcw";
   buildDepends = [
     aeson cereal contravariant cryptoApi httpClient httpClientTls
-    network profunctors pureMD5 semigroups text void xmlConduit
+    networkUri profunctors pureMD5 semigroups text void xmlConduit
   ];
   testDepends = [
     aeson cereal contravariant cryptoApi hspec hspecExpectationsLens
-    httpClient httpClientTls HUnit lens network profunctors pureMD5
-    text void xmlConduit xmlHtmlConduitLens
+    httpClient httpClientTls HUnit lens lensAeson networkUri
+    profunctors pureMD5 text void xmlConduit xmlHtmlConduitLens
   ];
   meta = {
     description = "Lastfm API interface";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
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/lzma-enumerator/default.nix b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
index 34604a6fc66bf..7a1ee231957ab 100644
--- a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
@@ -20,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Enumerator interface for lzma/xz compression";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = self.stdenv.isi686;
   };
 })
diff --git a/pkgs/development/libraries/haskell/markdown/default.nix b/pkgs/development/libraries/haskell/markdown/default.nix
index a19ecf0408c8f..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.10";
-  sha256 = "1n453xsarrrshn4pidlhknazjpsjh1nnygfir54z17rxcrvgprr1";
+  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/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 f7c48f691ed20..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.2";
-  sha256 = "02356yapx5g6lam72kdyhndq5lcyhd2zsjvvcndiyhqik6csi457";
+  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/multipart/default.nix b/pkgs/development/libraries/haskell/multipart/default.nix
index def73364e31da..82cad64df0472 100644
--- a/pkgs/development/libraries/haskell/multipart/default.nix
+++ b/pkgs/development/libraries/haskell/multipart/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "HTTP multipart split out of the cgi package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/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/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
index c76624e52c39d..dd895b937ce71 100644
--- a/pkgs/development/libraries/haskell/persistent-mysql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-mysql";
-  version = "2.0.1";
-  sha256 = "02hqklndyzff8swcll5n7ck6iy9ci50kj1s5l1r43kcgh7cqili3";
+  version = "2.0.5";
+  sha256 = "1zhva0wikp3d57fsz5phqwi0b3vbgnapf6bw46xmmrp8r21zsnk5";
   buildDepends = [
     aeson blazeBuilder conduit monadControl monadLogger mysql
     mysqlSimple persistent resourcet text transformers
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index 3838d2e67adb3..8a8b0989e728b 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-postgresql";
-  version = "2.0.1";
-  sha256 = "1szvnakbg7bwyld3wcm9b0fn3083z95kpygqnx1hd7nc21hl6dch";
+  version = "2.0.5";
+  sha256 = "1awdxh354y2hxsiijwvc2x7ficrcwmg27ai2mi79a0b2ylrxc9pk";
   buildDepends = [
     aeson blazeBuilder conduit monadControl monadLogger persistent
     postgresqlLibpq postgresqlSimple resourcet text time transformers
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index c2f2f341e5eaa..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 = "2.0.1";
-  sha256 = "1ygyghifss29fdkyk5fhq9f1nkw1wgmlcsdh18sff5vvvk7vfa2l";
+  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 44e4d1f3246ae..7060eddc17e32 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "2.0.2.2";
-  sha256 = "1qar8xh4nbprnvqzgy4byc882hkfyxr7apbj0wzfs7smpla1ghlx";
+  version = "2.0.5";
+  sha256 = "0mf18n07r2bvvf5448xq4pzylpprkbc1wb86339gaxnax321ipap";
   buildDepends = [
     aeson monadControl monadLogger pathPieces persistent tagged text
     transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 8a1c16a63c577..588f6163b6509 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "2.0.2";
-  sha256 = "047k5bycpyvjyri7k6skc775m2akspzlr08ya2lv53q81yv912xi";
+  version = "2.0.5.1";
+  sha256 = "14xzqr9f0ggqkakpq6badbrnwr6nhzq61ga7d2m0d0lni039vdax";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
     exceptions fastLogger liftedBase monadControl monadLogger mtl
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..e26526fb04663 100644
--- a/pkgs/development/libraries/haskell/pipes-csv/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-csv/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Fast, streaming csv parser";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-http/default.nix b/pkgs/development/libraries/haskell/pipes-http/default.nix
index b5b9a8859ad09..5406a5797990f 100644
--- a/pkgs/development/libraries/haskell/pipes-http/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-http/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "HTTP client with pipes interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix
index deef6e0fdb66c..ec4a8e967865d 100644
--- a/pkgs/development/libraries/haskell/pipes-text/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-text/default.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Text pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index f8bb4d4a6dbc5..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.5";
-  sha256 = "19a2ra37cxh56gd1k43y9fg2cdp848yimybsx8728in39m8cjbxw";
+  version = "0.5.6.2";
+  sha256 = "1zb5jvgwldzvvw1ga125p5048rwkrb636kn7pcf070m615k9w055";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
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/regular-xmlpickler/default.nix b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
index 35a3f32847e16..4b4fe43102ace 100644
--- a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
+++ b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Generic generation of HXT XmlPickler instances using Regular";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix
index 0712742717b76..248acc362265c 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
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Utility library for use in generated API client libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 53c3ede3ec12a..1da4832cdc311 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
@@ -23,5 +23,6 @@ cabal.mkDerivation (self: {
     description = "Rest API library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index 3a21393c210e4..229c3f5c7bfd7 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.15.0.2";
-  sha256 = "1k33bhjy909ffc5bnk3fb8vi8pvylb7rh6m95f70x5h6wgq4lhjg";
+  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;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
index 93397e8236336..523bb685561f9 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.2";
-  sha256 = "18i2q3kvsyrh41gdclrzpnsjy1p9cgl3d9jsvcqqnzrv519vzdig";
+  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;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix
index 8e9bc69eb0134..efb4f8e1fedc0 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
@@ -16,5 +16,6 @@ cabal.mkDerivation (self: {
     description = "Rest driver for Snap";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
index c1f0c13cbc22a..9c1e98c06551e 100644
--- a/pkgs/development/libraries/haskell/rest-stringmap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "Maps with stringy keys that can be transcoded to JSON and XML";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
index 41b8044b59310..65e221b43cd91 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
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "Silk Rest Framework Types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix
index d23d81da33deb..f986237426cf4 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;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/sdl2/default.nix b/pkgs/development/libraries/haskell/sdl2/default.nix
new file mode 100644
index 0000000000000..d60a69ae9281d
--- /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.1";
+  sha256 = "0kqs211ksp25pgkzy9rz8zcfi3pqrbl1zmbjh1vx8r2lkf79z1y5";
+  extraLibraries = [ SDL2 ];
+  pkgconfigDepends = [ SDL2 ];
+  meta = {
+    description = "Low-level bindings to SDL2";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 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..dcc7211f8696d 100644
--- a/pkgs/development/libraries/haskell/shellmate/default.nix
+++ b/pkgs/development/libraries/haskell/shellmate/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Simple interface for shell scripting in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
index 0a7d4b1c23006..c64c7c48edc26 100644
--- a/pkgs/development/libraries/haskell/socket-io/default.nix
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "socket-io";
-  version = "1.1.0";
-  sha256 = "1ffip6jlp3i6pz8gbk8m2ra2q8568mgwgi988yh046w787yf9kpw";
+  version = "1.1.1";
+  sha256 = "0zr5kj519hw90rlicang5f573dd325rxv24psf12fxl6vmyxx1zc";
   buildDepends = [
     aeson attoparsec engineIo mtl stm text transformers
     unorderedContainers vector
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/system-argv0/default.nix b/pkgs/development/libraries/haskell/system-argv0/default.nix
new file mode 100644
index 0000000000000..6f0eb038b604b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/system-argv0/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "system-argv0";
+  version = "0.1.1";
+  sha256 = "1ijfry2r3cypp3zmws6dczk21m4n86fkxjld7yl19gjp46fxllbd";
+  buildDepends = [ systemFilepath text ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-filesystem/";
+    description = "Get argv[0] as a FilePath";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tables/default.nix b/pkgs/development/libraries/haskell/tables/default.nix
index 53b178066eb7b..b8159a777d49c 100644
--- a/pkgs/development/libraries/haskell/tables/default.nix
+++ b/pkgs/development/libraries/haskell/tables/default.nix
@@ -21,5 +21,6 @@ cabal.mkDerivation (self: {
     description = "In-memory storage with multiple keys using lenses and traversals";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/tostring/default.nix b/pkgs/development/libraries/haskell/tostring/default.nix
index 0c181e2b07667..825361354d2a9 100644
--- a/pkgs/development/libraries/haskell/tostring/default.nix
+++ b/pkgs/development/libraries/haskell/tostring/default.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "The ToString class";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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..91afed019cbe6 100644
--- a/pkgs/development/libraries/haskell/uri-encode/default.nix
+++ b/pkgs/development/libraries/haskell/uri-encode/default.nix
@@ -13,5 +13,6 @@ cabal.mkDerivation (self: {
     description = "Unicode aware uri-encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix
index e116dd529cf36..fc95d494e3682 100644
--- a/pkgs/development/libraries/haskell/vado/default.nix
+++ b/pkgs/development/libraries/haskell/vado/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vado";
-  version = "0.0.1";
-  sha256 = "11b8glzzpzhm8cfw3vyvvvz3h0xid5r3prwhnvplajr7v3r562h2";
+  version = "0.0.2";
+  sha256 = "15kdqgpdy501g4hpldq44s7qgh4xchl6acnr95i5fj8ky4vgwfi0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ attoparsec filepath text ];
@@ -15,7 +15,5 @@ cabal.mkDerivation (self: {
     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.3.nix
index 6034807929e3e..f4685d3e50ca8 100644
--- a/pkgs/development/libraries/haskell/vty/5.2.1.nix
+++ b/pkgs/development/libraries/haskell/vty/5.2.3.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vty";
-  version = "5.2.1";
-  sha256 = "15xg7yznizscvyjlnivakrzk60l0a0pigax7sgnn2ab79rfzcxww";
+  version = "5.2.3";
+  sha256 = "0afgysliv7bi3x46cj8bcmahfc1lz2niyfmvnzrf9brhxf7l9y76";
   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-util/default.nix b/pkgs/development/libraries/haskell/wai-util/default.nix
new file mode 100644
index 0000000000000..fc9b964b26d77
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-util/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, httpAccept
+, httpTypes, mimeMail, network, resourcet, text, transformers, wai
+, waiExtra
+}:
+
+cabal.mkDerivation (self: {
+  pname = "wai-util";
+  version = "0.7";
+  sha256 = "1lmx4f7174hzy4a60r2hq9vm9xhbg8vnb9cyi77zyb5p59s53p73";
+  buildDepends = [
+    aeson blazeBuilder caseInsensitive conduit httpAccept httpTypes
+    mimeMail network resourcet text transformers wai waiExtra
+  ];
+  meta = {
+    homepage = "https://github.com/singpolyma/wai-util";
+    description = "Collection of utility functions for use with WAI";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
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..1f73dda79edef 100644
--- a/pkgs/development/libraries/haskell/webdriver/default.nix
+++ b/pkgs/development/libraries/haskell/webdriver/default.nix
@@ -25,5 +25,6 @@ cabal.mkDerivation (self: {
     description = "a Haskell client for the Selenium WebDriver protocol";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 179ce9d3ad79b..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.4";
-  sha256 = "0h2yk36w0yi303svg7jrlg12s05mbxn4l3pbk558wchgjgy8xaz4";
+  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 37c7e4e3b37ca..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.8";
-  sha256 = "0fxqwahk23c23l7qrwz3inf8xh8chfn9g8x2h7mn0dsj939l59ws";
+  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 f05477ab8f766..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.20";
-  sha256 = "1gx0xbyx3mydmiwxypzgmpm5ywrxynqyb1myym0mdaxm6dd1v31k";
+  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 80347f5be6e0f..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.4";
-  sha256 = "0a3wrc16jxqan0is3nk015k32bgi9fdglzkxpyaqlig6iaafbpil";
+  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-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/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 95516dadacf79..9ae1a5cf88a35 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, readline }:
 
 stdenv.mkDerivation rec {
-  name = "hunspell-1.3.2";
+  name = "hunspell-1.3.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/hunspell/${name}.tar.gz";
-    sha256 = "1gfxdajnqk2civkshkfjx5ldg7kjdgj76m5khpsbjk4lxsjd9vdl";
+    sha256 = "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7";
   };
 
   propagatedBuildInputs = [ ncurses readline ];
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
         * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO.
     '';
     platforms = platforms.all;
-    maintainers = [ maintainers.urkud ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/indilib/0_9_9.nix b/pkgs/development/libraries/indilib/0_9_9.nix
new file mode 100644
index 0000000000000..f9447b1436454
--- /dev/null
+++ b/pkgs/development/libraries/indilib/0_9_9.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake, cfitsio, libusb1, zlib, boost, libnova, libjpeg, gsl, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "indilib-0.9.9";
+
+  src = fetchurl {
+    url = mirror://sourceforge/indi/libindi_0.9.9.tar.gz;
+    sha256 = "720b9096baef1489fd7d7d4a236177863a7f7cec86809f21d291b0d9758e4039";
+  };
+
+  propagatedBuildInputs = [ cfitsio libusb1 zlib boost libnova libjpeg gsl ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  preConfigure = ''
+    cmakeFlags+=" -DUDEVRULES_INSTALL_DIR=$out/etc/udev/rules.d"
+  '';
+
+  meta = {
+    homepage = http://indi.sf.net;
+  };
+}
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/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/lesstif/c-bad_integer_cast.patch b/pkgs/development/libraries/lesstif/c-bad_integer_cast.patch
deleted file mode 100644
index 620d702f0f030..0000000000000
--- a/pkgs/development/libraries/lesstif/c-bad_integer_cast.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- lesstif2-0.94.4.orig/include/Motif-2.1/XmI/XpmI.h
-+++ lesstif2-0.94.4/include/Motif-2.1/XmI/XpmI.h
-@@ -217,8 +217,8 @@
- FUNC(xpmHashSlot, xpmHashAtom *, (xpmHashTable *table, char *s));
- FUNC(xpmHashIntern, int, (xpmHashTable *table, char *tag, void *data));
- 
--#define HashAtomData(i) ((void *)i)
--#define HashColorIndex(slot) ((unsigned int)((*slot)->data))
-+#define HashAtomData(i) ((void *)(uintptr_t)i)
-+#define HashColorIndex(slot) ((uintptr_t)((*slot)->data))
- #define USE_HASHTABLE (cpp > 2 && ncolors > 4)
- 
- /* I/O utility */
diff --git a/pkgs/development/libraries/lesstif/c-linkage.patch b/pkgs/development/libraries/lesstif/c-linkage.patch
deleted file mode 100644
index 343d9f789b8b5..0000000000000
--- a/pkgs/development/libraries/lesstif/c-linkage.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/include/Motif-2.1/Xm/VendorSP.h  2006-07-07 15:58:04.000000000 +0200
-+++ b/include/Motif-2.1/Xm/VendorSP.h  2006-07-07 15:58:19.000000000 +0200
-@@ -30,10 +30,6 @@
- #include <Xm/VendorS.h>
- #include <X11/ShellP.h>
- 
--#ifdef __cplusplus
--extern "C" {
--#endif
--
- XMLIBEXPORT extern Cardinal _XmFilterResources(XtResource *resources,
-                                   Cardinal numResources,
-                                   WidgetClass filterClass,
-@@ -57,9 +53,4 @@
- 
- XMLIBEXPORT extern VendorShellClassRec  vendorShellClassRec;
- 
--
--#ifdef __cplusplus
--}
--#endif
--
- #endif /* _XM_VENDORSP_H */
diff --git a/pkgs/development/libraries/lesstif/c-unsigned_int.patch b/pkgs/development/libraries/lesstif/c-unsigned_int.patch
deleted file mode 100644
index a682d9704c36b..0000000000000
--- a/pkgs/development/libraries/lesstif/c-unsigned_int.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- lesstif2-0.94.4.orig/lib/Xm-2.1/Xpmcreate.c
-+++ lesstif2-0.94.4/lib/Xm-2.1/Xpmcreate.c
-@@ -1265,10 +1265,10 @@
-     register char *src;
-     register char *dst;
-     register unsigned int *iptr;
--    register unsigned int x, y, i;
-+    register unsigned int x, y;
-     register char *data;
-     Pixel pixel, px;
--    int nbytes, depth, ibu, ibpp;
-+    int nbytes, depth, ibu, ibpp, i;
- 
-     data = image->data;
-     iptr = pixelindex;
---- lesstif2-0.94.4.orig/lib/Xm-2.1/Xpmscan.c
-+++ lesstif2-0.94.4/lib/Xm-2.1/Xpmscan.c
-@@ -672,8 +672,8 @@
-     char *dst;
-     unsigned int *iptr;
-     char *data;
--    unsigned int x, y, i;
--    int bits, depth, ibu, ibpp, offset;
-+    unsigned int x, y;
-+    int bits, depth, ibu, ibpp, offset, i;
-     unsigned long lbt;
-     Pixel pixel, px;
- 
-@@ -684,6 +684,9 @@
-     ibpp = image->bits_per_pixel;
-     offset = image->xoffset;
- 
-+    if (image->bitmap_unit < 0)
-+	    return (XpmNoMemory);
-+
-     if ((image->bits_per_pixel | image->depth) == 1) {
- 	ibu = image->bitmap_unit;
- 	for (y = 0; y < height; y++)
diff --git a/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch b/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch
deleted file mode 100644
index 10bdf8d0b9732..0000000000000
--- a/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ru lesstif2-0.94.4-old/lib/Xm-2.1/XmIm.c lesstif2-0.94.4/lib/Xm-2.1/XmIm.c
---- lesstif2-0.94.4-old/lib/Xm-2.1/XmIm.c	2004-10-20 21:32:11.000000000 +0200
-+++ lesstif2-0.94.4/lib/Xm-2.1/XmIm.c	2007-03-28 14:39:27.000000000 +0200
-@@ -133,7 +133,10 @@
- 		p->next = q->next;
- 	}
- 
--	XtFree((char *)stuff);
-+	/* if count!=0 then someone uses the stuff as orig_xim
-+	   so unlink it but not free it */
-+	if (!stuff->count)
-+		XtFree((char *)stuff);
- }
- 
- /*
-@@ -1060,6 +1063,8 @@
- 		   XCloseIM(stuff->xim);
- 		DEBUGOUT(_LtDebug(__FILE__, w, "XCloseIM(%p)\n", stuff->xim));
- 		stuff->orig_xim->xim = NULL;
-+		/* stuff->orig_xim is now useless */
-+		XtFree(stuff->orig_xim);
- 	} else {
- 		DEBUGOUT(_LtDebug(__FILE__, w, "XmImCloseXIM(%p), count -> %d\n",
- 			stuff->xim, stuff->orig_xim->count));
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 8d01c2f2f438c..f5c959bba7ac9 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation {
   name = "lesstif-0.95.0-p2";
   src = fetchurl {
-    url = mirror://sourceforge/lesstif/lesstif-0.95.0.tar.bz2;
-    md5 = "ab895165c149d7f95843c7584b1c7ad4";
+    url = mirror://sourceforge/lesstif/lesstif-0.95.2.tar.bz2;
+    sha256 = "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb";
   };
   buildInputs = [xlibsWrapper];
   propagatedBuildInputs = [libXp libXau];
@@ -15,11 +15,7 @@ stdenv.mkDerivation {
   # in Debian, so we assume they have been sent upstream.
   #
   patches = [
-    ./c-bad_integer_cast.patch    
-    ./c-linkage.patch             
-    ./c-unsigned_int.patch
     ./c-missing_xm_h.patch        
-    ./c-xim_chained_list_crash.patch
     ./c-render_table_crash.patch 
     ./c-xpmpipethrough.patch
     ];
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
new file mode 100644
index 0000000000000..c67b3701ec911
--- /dev/null
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip }:
+
+stdenv.mkDerivation rec {
+  name = "libLAS-1.8.0";
+
+  src = fetchurl {
+
+    url = "http://download.osgeo.org/liblas/${name}.tar.bz2";
+    md5 = "599881281d45db4ce9adb2d75458391e";
+  };
+
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip];
+
+
+  meta = {
+    description = "LAS 1.0/1.1/1.2 ASPRS LiDAR data translation toolset";
+    homepage = http://www.liblas.org;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+  };
+}
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/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/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/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index fb5cace4b493b..4cfeff00dc5c3 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,11 @@
 { 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-dependent MO files aren't available, they're generated
@@ -17,7 +17,8 @@ stdenv.mkDerivation (rec {
   patches = [ ./no-build-timestamp.patch ];
 
   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
@@ -26,10 +27,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/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/libmsgpack/CMakeLists.patch b/pkgs/development/libraries/libmsgpack/CMakeLists.patch
new file mode 100644
index 0000000000000..657c30d5fe972
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/CMakeLists.patch
@@ -0,0 +1,12 @@
+diff -r 791a4edd7e1d CMakeLists.txt
+--- a/CMakeLists.txt	Sun Oct 05 13:14:14 2014 +0100
++++ b/CMakeLists.txt	Sun Oct 05 13:20:12 2014 +0100
+@@ -158,7 +158,7 @@
+ INSTALL (TARGETS msgpack msgpack-static DESTINATION lib)
+ INSTALL (DIRECTORY src/msgpack DESTINATION include)
+ INSTALL (FILES src/msgpack.h src/msgpack.hpp DESTINATION include)
+-INSTALL (FILES msgpack.pc DESTINATION lib/pkgconfig)
++INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION lib/pkgconfig)
+ 
+ # Doxygen
+ FIND_PACKAGE (Doxygen)
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
index ab9dbd48ea4ea..d9f4bfcc75086 100644
--- a/pkgs/development/libraries/libmsgpack/default.nix
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -1,25 +1,16 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, ruby, scatterOutputHook }:
+{ stdenv, fetchurl, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "0.5.8";
+  version = "0.5.9";
   name = "libmsgpack-${version}";
 
   src = fetchurl {
     url = "https://github.com/msgpack/msgpack-c/archive/cpp-${version}.tar.gz";
-    sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
+    sha256 = "0xy204srq5grng7p17hwdxpfzbsfrn89gi4c3k62a23p4f9z0szq";
   };
 
-  nativeBuildInputs = [ scatterOutputHook ];
-  buildInputs = [ autoconf automake libtool ruby ];
-
-  outputs = [ "out" "bin" ];
-
-  preConfigure = ''
-    sed -i s,glibtoolize,libtoolize, ./bootstrap
-    ./bootstrap
-  '';
-
-  enableParallelBuilding = true;
+  buildInputs = [ cmake ];
+  patches = [ ./CMakeLists.patch ];
 
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
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/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index ff04c7181df59..fae6f9ba55648 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -26,6 +26,8 @@ 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 ];
+    branch = "1.2";
   };
 }
diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix
index 153517986334c..177c534ffafb2 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,8 @@ 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 ];
+    branch = "1.5";
   };
 }
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 3f8622535dbf6..06fff495f541c 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -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/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 754893894b6a5..dcef77d591971 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-0.4.5";
+  name = "libsodium-0.7.0";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
+    sha256 = "0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
   };
 
   NIX_LDFLAGS = "-lssp";
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 c562467802f14..f6bdbdb3c75f2 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -2,8 +2,8 @@
 , libvpx, check, libconfig, pkgconfig }:
 
 let
-  version = "f83fcbb13c0";
-  date = "20140811";
+  version = "900d72f951";
+  date = "20140921";
 in
 stdenv.mkDerivation rec {
   name = "tox-core-${date}-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/irungentoo/toxcore/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "09g74h3qnx9adyxxvzay8m2idbgbln7m4kkm7sg9925mvi5abb1w";
+    sha256 = "1fwgflizb21mp4jwkfac7mgmahlly1f3ldbma6h8h6a2qf3pkn2r";
   };
 
   NIX_LDFLAGS = "-lgcc_s";
@@ -36,11 +36,15 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    autoconf libtool automake libsodium ncurses libopus
-    libvpx check libconfig pkgconfig
+    autoconf libtool automake libsodium ncurses
+    libconfig pkgconfig
+  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+    libopus
   ];
 
-  doCheck = false;  # certian tests fail, upstream advice is to wait
+  propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
+
+  doCheck = !stdenv.isArm;
 
   meta = {
     description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
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/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 6800541d923fa..2346e4b750150 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, libjpeg, giflib, libtiff }:
 
 stdenv.mkDerivation rec {
-  name = "libwebp-0.4.0";
+  name = "libwebp-0.4.1";
 
   src = fetchurl {
-    url = "http://webp.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0sadjkx8m6sf064r5gngjvz4b5246q3j27dlaml5b1k3x5vkb49i";
+    url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
+    sha256 = "09yhfhb90hlhr0vq8ajnpk9rxvmb1bkiywcqm7xahl35yvk4ddh0";
   };
 
   buildInputs = [ libpng libjpeg giflib libtiff ];
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/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/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/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 38eb4a93f2459..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.4";
+  version = "3.16.5";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_4_RTM/src/${name}.tar.gz";
-    sha256 = "adcd1e655fd9508e7f13847452fd5887a835eff882e3f0d3c42dfcd651650b77";
+    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/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
new file mode 100644
index 0000000000000..1e1fc7ea3b8f9
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -0,0 +1,150 @@
+{ enableMultiThreading ? false
+, enableG3toG4         ? false
+, enableInventor       ? false
+, enableGDML           ? false
+, enableQT             ? false
+, enableXM             ? false
+, enableOpenGLX11      ? false
+, enableRaytracerX11   ? false
+
+# Standard build environment with cmake.
+, stdenv, fetchurl, cmake
+
+# Optional system packages, otherwise internal GEANT4 packages are used.
+, clhep ? null
+, expat ? null
+, zlib  ? null
+
+# For enableGDML.
+, xercesc ? null
+
+# For enableQT.
+, qt ? null # qt4SDK or qt5SDK
+
+# For enableXM.
+, motif ? null # motif or lesstif
+
+# For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
+, mesa   ? null
+, x11    ? null
+, libXmu ? null
+}:
+
+# G4persistency library with support for GDML
+assert enableGDML -> xercesc != null;
+
+# If enableQT, Qt4/5 User Interface and Visualization drivers.
+assert enableQT -> qt != null;
+
+# Motif User Interface and Visualisation drivers.
+assert enableXM -> motif != null;
+
+# OpenGL/X11 User Interface and Visualisation drivers.
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> mesa   != null;
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> x11    != null;
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null;
+
+let
+  buildGeant4 =
+    { version, src, multiThreadingCapable ? false }:
+
+    stdenv.mkDerivation rec {
+      inherit version src;
+      name = "geant4-${version}";
+
+      # The data directory holds not just interaction cross section data, but other
+      # files which the installer needs to write, so we link to the previously installed
+      # data instead. This assumes the default data installation location of $out/share.
+      preConfigure = ''
+        mkdir -p $out/share/Geant4-${version}
+        ln -s ${g4data}/Geant4-${version}/data $out/share/Geant4-${version}/data
+      '';
+
+      multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else "";
+
+      cmakeFlags = ''
+        ${multiThreadingFlag}
+        -DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"}
+        -DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"}
+        -DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"}
+        -DGEANT4_USE_XM=${if enableXM then "ON" else "OFF"}
+        -DGEANT4_USE_OPENGL_X11=${if enableOpenGLX11 then "ON" else "OFF"}
+        -DGEANT4_USE_INVENTOR=${if enableInventor then "ON" else "OFF"}
+        -DGEANT4_USE_RAYTRACER_X11=${if enableRaytracerX11 then "ON" else "OFF"}
+        -DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"}
+        -DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"}
+        -DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"}
+      '';
+
+      g4data = installData {
+        inherit version src;
+      };
+
+      enableParallelBuilding = true;
+      buildInputs = [ cmake clhep expat zlib xercesc qt motif mesa x11 libXmu ];
+      propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif mesa x11 libXmu ];
+
+      setupHook = ./setup-hook.sh;
+
+      # Set the myriad of envars required by Geant4 if we use a nix-shell.
+      shellHook = ''
+        source $out/nix-support/setup-hook
+      '';
+
+      meta = {
+        description = "A toolkit for the simulation of the passage of particles through matter.";
+        longDescription = ''
+          Geant4 is a toolkit for the simulation of the passage of particles through matter.
+          Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
+          The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
+        '';
+        homepage = http://www.geant4.org;
+        license = stdenv.lib.licenses.g4sl;
+        maintainers = [ ];
+        platforms = stdenv.lib.platforms.all;
+      };
+    };
+
+  installData = 
+    { version, src }:
+ 
+    stdenv.mkDerivation rec {
+      inherit version src;
+      name = "g4data-${version}";
+
+      cmakeFlags = ''
+        -DGEANT4_INSTALL_DATA="ON"
+      '';
+
+      buildInputs = [ cmake expat ];
+
+      enableParallelBuilding = true;
+      buildPhase = ''
+        make G4EMLOW G4NDL G4NEUTRONXS G4PII G4SAIDDATA PhotonEvaporation RadioactiveDecay RealSurface
+      '';
+
+      installPhase = ''
+        mkdir -p $out/Geant4-${version}
+        cp -R data/ $out/Geant4-${version}
+      '';
+
+      meta = {
+        description = "Data files for the Geant4 toolkit.";
+        homepage = http://www.geant4.org;
+        license = stdenv.lib.licenses.g4sl;
+        maintainers = [ ];
+        platforms = stdenv.lib.platforms.all;
+      };
+    }; 
+
+  fetchGeant4 = import ./fetch.nix {
+    inherit stdenv fetchurl;
+  };
+
+in {
+  v10_0_2 = buildGeant4 {
+    inherit (fetchGeant4.v10_0_2) version src;
+    multiThreadingCapable = true;
+  };
+} 
+ 
diff --git a/pkgs/development/libraries/physics/geant4/fetch.nix b/pkgs/development/libraries/physics/geant4/fetch.nix
new file mode 100644
index 0000000000000..0e5dd54c6ae7e
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/fetch.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+let
+  fetch = { version, src ? builtins.getAttr stdenv.system sources, sources ? null }:
+  {
+    inherit version src;
+  };
+
+in {
+  v10_0_2 = fetch {
+    version = "10.0.2";
+
+    src = fetchurl{
+      url = "http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz";
+      sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848";
+    };  
+  };
+}
+
diff --git a/pkgs/development/libraries/physics/geant4/g4py/configure.patch b/pkgs/development/libraries/physics/geant4/g4py/configure.patch
new file mode 100644
index 0000000000000..886618abd34a2
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/configure.patch
@@ -0,0 +1,12 @@
+--- environments/g4py/configure	2014-03-17 22:47:05.000000000 +1100
++++ environments/g4py/configure	2014-09-01 15:33:46.523637686 +1000
+@@ -4,9 +4,6 @@
+ # ======================================================================
+ export LANG=C
+ 
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ # ======================================================================
+ # testing the echo features
+ # ======================================================================
diff --git a/pkgs/development/libraries/physics/geant4/g4py/default.nix b/pkgs/development/libraries/physics/geant4/g4py/default.nix
new file mode 100644
index 0000000000000..f90b2e6c4aee4
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl
+
+# The target version of Geant4
+, geant4
+
+# Python (obviously) and boost::python for wrapping.
+, python
+, boost
+}:
+
+let
+  buildG4py = 
+    { version, src, geant4}:
+
+    stdenv.mkDerivation rec {
+      inherit version src geant4;
+      name = "g4py-${version}";
+
+      # ./configure overwrites $PATH, which clobbers everything.
+      patches = [ ./configure.patch ];
+      patchFlags = "-p0";
+
+      configurePhase = ''
+        export PYTHONPATH=$PYTHONPATH:${geant4}/lib64:$prefix
+
+        source ${geant4}/share/Geant4-*/geant4make/geant4make.sh
+        cd environments/g4py
+
+        ./configure linux64 --prefix=$prefix \
+                            --with-g4install-dir=${geant4} \
+                            --with-python-incdir=${python}/include/python${python.majorVersion} \
+                            --with-python-libdir=${python}/lib \
+                            --with-boost-incdir=${boost}/include \
+                            --with-boost-libdir=${boost}/lib
+      '';
+
+      enableParallelBuilding = true;
+      buildInputs = [ geant4 boost python ];
+
+      setupHook = ./setup-hook.sh;
+
+      # Make sure we set PYTHONPATH
+      shellHook = ''
+        source $out/nix-support/setup-hook
+      '';
+
+      meta = {
+        description = "Python bindings and utilities for Geant4.";
+        longDescription = ''
+          Geant4 is a toolkit for the simulation of the passage of particles through matter.      
+          Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
+          The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
+        '';
+        homepage = http://www.geant4.org;
+        license = stdenv.lib.licenses.g4sl;
+        maintainers = [ ];
+        platforms = stdenv.lib.platforms.all;
+      }; 
+    };
+
+    fetchGeant4 = import ../fetch.nix {
+      inherit stdenv fetchurl;
+    };  
+
+in {
+  v10_0_2 = buildG4py {
+    inherit (fetchGeant4.v10_0_2) version src;
+    geant4 = geant4.v10_0_2;
+  };  
+} 
diff --git a/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh
new file mode 100644
index 0000000000000..8abfb461fc0f4
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh
@@ -0,0 +1 @@
+export PYTHONPATH=$PYTHONPATH:@out@/lib
diff --git a/pkgs/development/libraries/physics/geant4/setup-hook.sh b/pkgs/development/libraries/physics/geant4/setup-hook.sh
new file mode 100644
index 0000000000000..0b775d432831b
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/setup-hook.sh
@@ -0,0 +1 @@
+source @out@/bin/geant4.sh
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
index 8899980affa98..9eb068bebb0d1 100644
--- a/pkgs/development/libraries/quazip/default.nix
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = "cd quazip && qmake quazip.pro";
 
-  installFlags = "INSTALL_ROOT=$out";
+  installFlags = "INSTALL_ROOT=$(out)";
 
   buildInputs = [ zlib qt5 ];
 
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/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/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index 266675614ceef..7e51d411bc4f2 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="1.0.0";
     name="${baseName}-${version}";
-    hash="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.7.0.tar.gz";
-    sha256="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
+    hash="19f9vf0shfp4rc4l791r6xjg06z4i8psj1zkjkm3z5b640yzxlff";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-1.0.0.tar.gz";
+    sha256="19f9vf0shfp4rc4l791r6xjg06z4i8psj1zkjkm3z5b640yzxlff";
   };
   buildInputs = [
   ];
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/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index 4ec8c4befc69e..7ef48d09725a3 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -2,15 +2,13 @@
 , telepathy_farstream, telepathy_glib, pythonDBus }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-qt-0.9.4";
+  name = "telepathy-qt-0.9.5";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
-    sha256 = "1wk13rwpas1crj19xsbgl1c4qzri616xxa1hyhnykv4nkwxdpcgi";
+    sha256 = "13lwh23ad9bg7hx1mj4xjc2lb8nlaaw8hbrmx5gg8nz5xxc4hiwk";
   };
 
-  patches = [ ./farstream-0.2.diff ];
-
   nativeBuildInputs = [ cmake pkgconfig python libxslt ];
   propagatedBuildInputs = [ qt4 dbus_glib telepathy_farstream telepathy_glib pythonDBus ];
 
@@ -22,4 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   doCheck = false; # giving up for now
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
deleted file mode 100644
index 86d392fe1ac89..0000000000000
--- a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -urB telepathy-qt/cmake/modules/FindFarstream.cmake new/cmake/modules/FindFarstream.cmake
---- telepathy-qt/cmake/modules/FindFarstream.cmake      2012-04-25 22:14:22.275967164 +0200
-+++ new/cmake/modules/FindFarstream.cmake       2012-10-07 12:19:46.543103512 +0200
-@@ -23,9 +23,9 @@
-     # in the find_path() and find_library() calls
-     find_package(PkgConfig)
-     if (FARSTREAM_MIN_VERSION)
--        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1>=${FARSTREAM_MIN_VERSION})
-+        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2>=${FARSTREAM_MIN_VERSION})
-     else (FARSTREAM_MIN_VERSION)
--        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1)
-+        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2)
-     endif (FARSTREAM_MIN_VERSION)
-     set(FARSTREAM_DEFINITIONS ${PC_FARSTREAM_CFLAGS_OTHER})
- endif (NOT WIN32)
-@@ -34,10 +34,10 @@
-    PATHS
-    ${PC_FARSTREAM_INCLUDEDIR}
-    ${PC_FARSTREAM_INCLUDE_DIRS}
--   PATH_SUFFIXES farstream-0.1
-+   PATH_SUFFIXES farstream-0.2
-    )
- 
--find_library(FARSTREAM_LIBRARIES NAMES farstream-0.1
-+find_library(FARSTREAM_LIBRARIES NAMES farstream-0.2
-    PATHS
-    ${PC_FARSTREAM_LIBDIR}
-    ${PC_FARSTREAM_LIBRARY_DIRS}
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index 0e0625a2cbbec..9d16edb0f2e78 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "5.10";
-  minorVersion = "0";
+  minorVersion = "1";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   name = "vtk-${os (qtLib != null) "qvtk-"}${version}";
   src = fetchurl {
     url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
-    md5 = "a0363f78910f466ba8f1bd5ab5437cb9";
+    sha256 = "1fxxgsa7967gdphkl07lbfr6dcbq9a72z5kynlklxn7hyp0l18pi";
   };
 
   buildInputs = [ cmake mesa libX11 xproto libXt ]
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 82cff159a56a3..fa3cdc82c41f3 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.6";
 
   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 = "0mqlq4ivh921k92xjsp5pdvbg9vf75qjliqmx81qwrm2sjl4mvvg";
   };
 
   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/lua-modules/luasql.patch b/pkgs/development/lua-modules/luasql.patch
new file mode 100644
index 0000000000000..e91840101ee55
--- /dev/null
+++ b/pkgs/development/lua-modules/luasql.patch
@@ -0,0 +1,37 @@
+--- a/config	2013-02-18 19:36:44.000000000 +0400
++++ b/config	2014-10-01 08:36:37.104254404 +0400
+@@ -1,12 +1,12 @@
+ # $Id: config,v 1.10 2008/05/30 17:21:18 tomas Exp $
+ 
+ # Driver (leave uncommented ONLY the line with the name of the driver)
+-T= mysql
++#T= mysql
+ #T= oci8
+ #T= odbc
+ #T= postgres
+ #T= sqlite
+-#T=sqlite3
++T=sqlite3
+ #T=firebird
+ 
+ # Installation directories
+@@ -37,8 +37,8 @@
+ ######## MySQL
+ #DRIVER_LIBS= -L/usr/local/mysql/lib -lmysqlclient -lz
+ #DRIVER_INCS= -I/usr/local/mysql/include
+-DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
+-DRIVER_INCS= -I/usr/include/mysql
++#DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
++#DRIVER_INCS= -I/usr/include/mysql
+ ######## Oracle OCI8
+ #DRIVER_LIBS= -L/home/oracle/OraHome1/lib -lz -lclntsh
+ #DRIVER_INCS= -I/home/oracle/OraHome1/rdbms/demo -I/home/oracle/OraHome1/rdbms/public
+@@ -51,7 +51,7 @@
+ #DRIVER_LIBS= -lsqlite
+ #DRIVER_INCS=
+ ######## SQLite3 
+-#DRIVER_LIBS= -L/opt/local/lib -lsqlite3
++DRIVER_LIBS= -lsqlite3
+ #DRIVER_INCS= -I/opt/local/include
+ ######## ODBC
+ #DRIVER_LIBS= -L/usr/local/lib -lodbc
diff --git a/pkgs/development/lua-modules/zip.patch b/pkgs/development/lua-modules/zip.patch
new file mode 100644
index 0000000000000..c3f88f451e8db
--- /dev/null
+++ b/pkgs/development/lua-modules/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/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/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/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix
index ad6569d947834..0d221a8952bdf 100644
--- a/pkgs/development/mobile/xcodeenv/default.nix
+++ b/pkgs/development/mobile/xcodeenv/default.nix
@@ -1,8 +1,8 @@
-{stdenv, version ? "5.0"}:
+{stdenv, version ? "5.0", xcodeBaseDir ? "/Applications/Xcode.app"}:
 
 rec {
   xcodewrapper = import ./xcodewrapper.nix {
-    inherit stdenv version;
+    inherit stdenv version xcodeBaseDir;
   };
 
   buildApp = import ./build-app.nix {
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
index fd375d6213c64..4545ea8dae15d 100644
--- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -1,4 +1,4 @@
-{stdenv, version}:
+{stdenv, version, xcodeBaseDir}:
 
 stdenv.mkDerivation {
   name = "xcode-wrapper-"+version;
@@ -6,14 +6,14 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cd $out/bin
     ln -s /usr/bin/xcode-select
-    ln -s /usr/bin/xcodebuild
-    ln -s /usr/bin/xcrun
     ln -s /usr/bin/security
     ln -s /usr/bin/codesign
-    ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator"
+    ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild"
+    ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcrun"
+    ln -s "${xcodeBaseDir}/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator"
 
     cd ..
-    ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
+    ln -s "${xcodeBaseDir}/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
 
     # Check if we have the xcodebuild version that we want
     if [ -z "$($out/bin/xcodebuild -version | grep -x 'Xcode ${version}')" ]
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/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
index 3a00f0c3888c1..2dfd7ba128600 100644
--- a/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -5,6 +5,9 @@ let
   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}";
@@ -31,6 +34,7 @@ stdenv.mkDerivation {
     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
index af85a0a8f94ca..8a7045e263ada 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -26,4 +26,25 @@ stdenv.mkDerivation
   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 365fcc677cc9d..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,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j";
   };
 
-  buildInputs = [ which ocaml findlib camlzip extlib ];
+  buildInputs = [ which ocaml findlib camlp4 ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
@@ -33,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
index e96f3f179a986..09cfe1c350dd4 100644
--- a/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
@@ -1,15 +1,23 @@
-{ocaml, findlib, stdenv, fetchurl}:
-
+{ocaml, findlib, stdenv, fetchurl, ocaml_sexplib}:
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
 stdenv.mkDerivation {
-  name = "ocaml-ipaddr-2.4.0";
+  name = "ocaml-ipaddr-2.5.0";
   
   src = fetchurl {
-    url = https://github.com/mirage/ocaml-ipaddr/archive/2.4.0.tar.gz;
-    sha256 = "0g7qg35w3vzcg37798rhbx7iia83286md3gj5gdhs1qgizlg56wx";
+    url = https://github.com/mirage/ocaml-ipaddr/archive/2.5.0.tar.gz;
+    sha256 = "0zpslxzjs5zdw20j3jaf6fr0w2imnidhrzggmnvwp198r76aq917";
   };
 
   buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [ocaml_sexplib];
 
   createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "An OCaml library for manipulation of IP (and MAC) address representations";
+    license = licenses.isc;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
   
 }
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/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 ef3ab9a46b93f..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,7 +16,7 @@ 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 ];
 
@@ -26,10 +29,11 @@ stdenv.mkDerivation rec {
 
   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..3dbb0ea8e818e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sexplib/108.08.00.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ocaml, findlib, typeconv, camlp4}:
+
+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];
+  propagatedBuildInputs = [typeconv camlp4];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Library for serializing OCaml values to and from S-expressions";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix
index 7c40b5e6cfb82..a32c6a0e2ce62 100644
--- a/pkgs/development/ocaml-modules/sexplib/default.nix
+++ b/pkgs/development/ocaml-modules/sexplib/default.nix
@@ -1,22 +1,29 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv}:
+{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4}:
+
+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 ];
+  buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [ocaml_typeconv camlp4];
 
   createFindlibDestdir = true;
 
-  meta = {
-    homepage = "http://forge.ocamlcore.org/projects/sexplib/";
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
     description = "Library for serializing OCaml values to and from S-expressions";
-    license = "LGPL";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vbgl ];
     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
index e8ec8e6f5dac7..94377a646c1c6 100644
--- a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
@@ -1,5 +1,7 @@
 {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";
 
@@ -14,10 +16,11 @@ stdenv.mkDerivation {
 
   createFindlibDestdir = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://github.com/mlin/ocaml-sqlite3EZ;
     description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
-    license = stdenv.lib.licenses.mit;
+    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
index c06449f68b4c2..0dc7170552cee 100644
--- a/pkgs/development/ocaml-modules/twt/default.nix
+++ b/pkgs/development/ocaml-modules/twt/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation {
 
   installFlags = "PREFIX=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/;
     description = "“The Whitespace Thing” for OCaml";
-    license = stdenv.lib.licenses.mit;
+    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
index 02ac7f381e513..648f0a9cd170b 100644
--- a/pkgs/development/ocaml-modules/tyxml/default.nix
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -1,29 +1,24 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}:
+{stdenv, fetchurl, ocaml, findlib, ocaml_oasis, camlp4}:
 
 stdenv.mkDerivation {
-  name = "tyxml-3.0.0";
+  name = "tyxml-3.1.1";
 
   src = fetchurl {
-    url = http://ocsigen.org/download/tyxml-3.0.0.tar.gz;
-    sha256 = "0cvbmyg4g0lg4f23032cjlxqklisccbjgj47117wm6gva8xi7xa3";
+    url = http://github.com/ocsigen/tyxml/archive/3.1.1.tar.gz;
+    sha256 = "1r8im382r68kn8qy0857nv3y7h42i6ajyclxzmigfai7v2xdd05z";
     };
 
-  buildInputs = [ocaml findlib ocaml_oasis];
+  buildInputs = [ocaml findlib ocaml_oasis camlp4];
 
   createFindlibDestdir = true;
 
-  configurePhase = ''
-  make setup-dev.exe
-  ./setup-dev.exe -configure --prefix $out
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     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";
+    license = licenses.lgpl21;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.gal_bolle
+    maintainers = with maintainers; [
+      gal_bolle vbgl
       ];
   };
 
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 562d25550dae8..0b40b68a7e83a 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation {
     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/launcher/default.nix b/pkgs/development/pharo/launcher/default.nix
new file mode 100644
index 0000000000000..928a5d33f8f41
--- /dev/null
+++ b/pkgs/development/pharo/launcher/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, bash, pharo-vm, unzip, makeDesktopItem }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.1-2014.09.29";
+  name = "pharo-launcher-${version}";
+  src = fetchurl {
+    url = "http://files.pharo.org/platform/launcher/blessed/PharoLauncher-user-${version}.zip";
+    md5 = "10945989c2b323c7f09a3b4e42ee7f2d";
+  };
+
+  executable-name = "pharo-launcher";
+
+  desktopItem = makeDesktopItem {
+    name = "Pharo";
+    exec = "${executable-name}";
+    icon = "pharo";
+    comment = "Launcher for Pharo distributions";
+    desktopName = "Pharo";
+    genericName = "Pharo";
+    categories = "Development;";
+  };
+
+  # because upstream tarball has no top-level directory.
+  sourceRoot = ".";
+
+  buildInputs = [ bash pharo-vm unzip ];
+
+  installPhase = ''
+    mkdir -p $prefix/share/pharo-launcher
+    mkdir -p $prefix/bin
+
+    mv PharoLauncher.image $prefix/share/pharo-launcher/pharo-launcher.image
+    mv PharoLauncher.changes $prefix/share/pharo-launcher/pharo-launcher.changes
+
+    mkdir -p $prefix/share/applications
+    cp "${desktopItem}/share/applications/"* $out/share/applications
+
+    cat > $prefix/bin/${executable-name} <<EOF
+    #!${bash}/bin/bash
+
+    exec ${pharo-vm}/bin/pharo-vm-x $prefix/share/pharo-launcher/pharo-launcher.image
+    EOF
+    chmod +x $prefix/bin/${executable-name}
+  '';
+
+  meta = {
+    description = "Launcher for Pharo distributions";
+    longDescription = ''
+
+      Pharo's goal is to deliver a clean, innovative, free open-source
+      Smalltalk-inspired environment. By providing a stable and small
+      core system, excellent dev tools, and maintained releases, Pharo
+      is an attractive platform to build and deploy mission critical
+      applications.
+
+      The Pharo Launcher is a cross-platform application that
+        - lets you manage your Pharo images (launch, rename, copy and delete);
+        - lets you download image templates (i.e., zip archives) from many
+          different sources (e.g., Jenkins, files.pharo.org);
+        - lets you create new images from any template.
+
+      The idea behind the Pharo Launcher is that you should be able to
+      access it very rapidly from your OS application launcher. As a
+      result, launching any image is never more than 3 clicks away.
+    '';
+    homepage = http://pharo.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = pharo-vm.meta.platforms;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 361785374bb3c..62c282949aab0 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xlibs, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "pharo-vm-core-i386-2014.06.25";
+
+  version = "2014.09.20";
+
+  name = "pharo-vm-core-i386-${version}";
   system = "x86_32-linux";
   src = fetchurl {
-    url = http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-2014.08.14.tar.bz2;
-    md5 = "8e9e8dfde4f4bb69aac4590ecf82dd3b";
+    url = "http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-${version}.tar.bz2";
+    md5 = "f4183566aeeb7cb9d0d7832b4e40b573";
   };
 
   sources10Zip = fetchurl {
@@ -73,8 +76,6 @@ stdenv.mkDerivation rec {
     unzip ${sources30Zip} -d $prefix/lib/pharo-vm/
   '';
 
-  patches = [ patches/pharo-is-not-squeak.patch patches/fix-executable-name.patch patches/fix-cmake-root-directory.patch ];
- 
   buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xlibs.libX11 xlibs.libICE xlibs.libSM alsaLib ];
 
   meta = {
diff --git a/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch b/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
deleted file mode 100644
index 27cce4d6f4c39..0000000000000
--- a/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From: Damien Cassou <damien.cassou@gmail.com>
-Subject: Fix use of absolute paths in cmake files
-
-* build/directories.cmake
-* build/CMakeLists.txt
-* build/vm-sound-ALSA/CMakeLists.txt
-* build/vm-sound-null/CMakeLists.txt
-* build/vm-display-null/CMakeLists.txt
-* build/vm-display-X11/CMakeLists.txt
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -71,7 +71,7 @@
- list(APPEND LINKLIBS m)
- list(APPEND LINKLIBS dl)
- list(APPEND LINKLIBS pthread)
--set(EXECUTABLE_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- add_subdirectory("vm-display-null")
- add_subdirectory("vm-display-X11")
- add_subdirectory("vm-sound-ALSA")
---- a/build/directories.cmake
-+++ b/build/directories.cmake
-@@ -1,12 +1,12 @@
--set(topDir "/builds/workspace/Pharo-vm-unix-sources/cog")
--set(buildDir "/builds/workspace/Pharo-vm-unix-sources/cog/build")
-+set(topDir "${CMAKE_SOURCE_DIR}/..")
-+set(buildDir "${CMAKE_SOURCE_DIR}/../build")
- set(thirdpartyDir "${buildDir}/thirdParty")
--set(platformsDir "/builds/workspace/Pharo-vm-unix-sources/cog/platforms")
--set(srcDir "/builds/workspace/Pharo-vm-unix-sources/cog/src")
-+set(platformsDir "${CMAKE_SOURCE_DIR}/../platforms")
-+set(srcDir "${CMAKE_SOURCE_DIR}/../src")
- set(srcPluginsDir "${srcDir}/plugins")
- set(srcVMDir "${srcDir}/vm")
- set(platformName "unix")
- set(targetPlatform ${platformsDir}/${platformName})
- set(crossDir "${platformsDir}/Cross")
- set(platformVMDir "${targetPlatform}/vm")
--set(outputDir "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(outputDir "${CMAKE_SOURCE_DIR}/../results")
---- a/build/vm-display-X11/CMakeLists.txt
-+++ b/build/vm-display-X11/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- list(APPEND LINKLIBS SM)
- list(APPEND LINKLIBS ICE)
- list(APPEND LINKLIBS GL)
---- a/build/vm-display-null/CMakeLists.txt
-+++ b/build/vm-display-null/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-display-null ${LINKLIBS})
- set_target_properties(vm-display-null PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
---- a/build/vm-sound-ALSA/CMakeLists.txt
-+++ b/build/vm-sound-ALSA/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-sound-ALSA ${LINKLIBS})
- set_target_properties(vm-sound-ALSA PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
---- a/build/vm-sound-null/CMakeLists.txt
-+++ b/build/vm-sound-null/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-sound-null ${LINKLIBS})
- set_target_properties(vm-sound-null PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
diff --git a/pkgs/development/pharo/vm/patches/fix-executable-name.patch b/pkgs/development/pharo/vm/patches/fix-executable-name.patch
deleted file mode 100644
index b32ed7a32d250..0000000000000
--- a/pkgs/development/pharo/vm/patches/fix-executable-name.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Change the name of the executable file from Squeak to Pharo
---- a/platforms/unix/vm-display-X11/sqUnixX11.c
-+++ b/platforms/unix/vm-display-X11/sqUnixX11.c
-@@ -153,8 +153,8 @@
- /*** Variables -- X11 Related ***/
- 
- /* name of Squeak windows in Xrm and the WM */
--#define xResClass	"Squeak"
--#define xResName	"squeak"
-+#define xResClass	"pharo-vm"
-+#define xResName	"Pharo"
- 
- char		*displayName= 0;	/* name of display, or 0 for $DISPLAY */
- Display		*stDisplay= null;	/* Squeak display */
diff --git a/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch b/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
deleted file mode 100644
index c06916c96ee36..0000000000000
--- a/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-pharo --help must talk about Pharo and not about Squeak
---- a/platforms/unix/vm-display-X11/sqUnixX11.c
-+++ b/platforms/unix/vm-display-X11/sqUnixX11.c
-@@ -7075,8 +7075,8 @@
-   printf("  -lazy                 go to sleep when main window unmapped\n");
-   printf("  -mapdelbs             map Delete key onto Backspace\n");
-   printf("  -nointl               disable international keyboard support\n");
--  printf("  -notitle              disable the Squeak window title bar\n");
--  printf("  -title <t>            use t as the Squeak window title instead of the image name\n");
-+  printf("  -notitle              disable the Pharo window title bar\n");
-+  printf("  -title <t>            use t as the Pharo window title instead of the image name\n");
-   printf("  -ldtoms <n>           launch drop timeout milliseconds\n");
-   printf("  -noxdnd               disable X drag-and-drop protocol support\n");
-   printf("  -optmod <n>           map Mod<n> to the Option key\n");
-@@ -7095,7 +7095,7 @@
- static void display_printUsageNotes(void)
- {
-   printf("  Using `unix:0' for <dpy> may improve local display performance.\n");
--  printf("  -xshm only works when Squeak is running on the X server host.\n");
-+  printf("  -xshm only works when Pharo is running on the X server host.\n");
- }
- 
- 
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/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index dec94a912e00a..f7ca5f2ec9387 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let
-  baseVersion = "3.1";
+  baseVersion = "3.2";
   revision = "0";
   version = "${baseVersion}.${revision}";
 in
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
-    sha256 = "c8c648f4988b707393e0f1958a8868718f27e59263f05f3b6599fa62290c2bbf";
+    sha256 = "0giilb0sl71w2p0vlaj4f9qjyaa4llbflp4m1dfdal30facbwizd";
   };
 
   # This property can be used in a nix development environment to refer to the Qt package
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index e986944d45df3..2f1f265106347 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -38,7 +38,7 @@
 
 let
 
-  inherit (pkgs) R fetchurl stdenv curl;
+  inherit (pkgs) R fetchurl stdenv;
 
   buildRPackage = import ./generic-builder.nix R;
 
@@ -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 curl]; };
+  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=[]; };
@@ -4450,7 +4450,19 @@ let self = _self // overrides; _self = with self; {
   Rivivc = derive { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
   RJaCGH = derive { name="RJaCGH"; version="2.0.2"; sha256="1fy8wsnv7diwg2w7j61scm6vd35a5jb36i9pzh5m7jz6yqsank50"; depends=[]; };
   rjags = derive { name="rjags"; version="3-13"; sha256="0npfyphi8z25h7w4frplbyjgib1gawz7ib9gz5w6h2i0pricm53r"; depends=[coda]; };
-  rJava = derive { name="rJava"; version="0.9-6"; sha256="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0"; depends=[]; };
+  rJava = buildRPackage {
+    name = "rJava-0.9-6";
+    src = fetchurl {
+      url = "mirror://cran/src/contrib/rJava_0.9-6.tar.gz";
+      sha256 ="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0";
+    };
+    propagatedBuildInputs = [pkgs.jdk pkgs.lzma pkgs.bzip2 pkgs.pcre pkgs.icu pkgs.libzip];
+    preConfigure = ''
+    export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
+    export JAVA_HOME=${pkgs.jdk}
+    '';
+    meta.hydraPlatforms = R.meta.hydraPlatforms;
+  };
   rJavax = derive { name="rJavax"; version="0.3"; sha256="0sv2fjinp4wmdfvcpgm4hv8v3fkiiv84ywqyr4hz86j50ncd79km"; depends=[rJava]; };
   RJDBC = derive { name="RJDBC"; version="0.2-4"; sha256="14nqz4gx24gcjmnd3hrhvfs5f68c3nqhb6nypv9gvk19dx1jayg0"; depends=[DBI rJava]; };
   rje = derive { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
@@ -5841,7 +5853,7 @@ let self = _self // overrides; _self = with self; {
   xlsx = derive { name="xlsx"; version="0.5.7"; sha256="0qxkdpf1dvi0x7fy65abjx2j60rdx7fv5yi8l2wdm0f2631pnwin"; depends=[rJava xlsxjars]; };
   xlsxjars = derive { name="xlsxjars"; version="0.6.0"; sha256="0mjfvd433iz742gn3avaq48172yi5hhd0ajc3v22y1j4k9w82pr7"; depends=[rJava]; };
   Xmisc = derive { name="Xmisc"; version="0.1.0"; sha256="1iyv9gp7fw3r7s3v9srd799nhwgpn5851v3n2xfwpcvj9kczrd5r"; depends=[]; };
-  XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[]; };
+  XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[pkgs.libxml2]; };
   XML2R = derive { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[XML RCurl plyr]; };
   XNomial = derive { name="XNomial"; version="1.0.1"; sha256="134bwglqhgah7v3w6ir65dch2dwp5h4vldw521ba74l5v9b2j2h4"; depends=[]; };
   xoi = derive { name="xoi"; version="0.61-1"; sha256="0ypy0rb0f0bns41vjzyln04k3hypgr3wysqbdi0b0r14ip5rb47k"; depends=[qtl]; };
diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix
index cf60f1af76738..fb7d8e74e457c 100644
--- a/pkgs/development/tools/analysis/findbugs/default.nix
+++ b/pkgs/development/tools/analysis/findbugs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "findbugs-2.0.3";
+  name = "findbugs-3.0.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/findbugs/findbugs-2.0.3.tar.gz;
-    sha256 = "17s93vszc5s2b7pwi0yk8d6w54gandxrr7vflhzmpbl6sxj2mfjr";
+    url = mirror://sourceforge/findbugs/findbugs-3.0.0.tar.gz;
+    sha256 = "0csz6drzdz867r2p2wa4cvick6bv9dpz2yym9wrvp3fnxabmgiri";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index a40215592f455..62182d0b84567 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -1,13 +1,14 @@
 {stdenv, fetchurl, yacc }:
 
 stdenv.mkDerivation rec {
-  version = "6.3.2";
   name = "spin-${version}";
+  version = "6.4.1";
+  url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
-    url = http://spinroot.com/spin/Src/spin632.tar.gz;
+    url = "http://spinroot.com/spin/Src/spin${url-version}.tar.gz";
     curlOpts = "--user-agent 'Mozilla/5.0'";
-    sha256 = "1llsv1mnwr99hvsm052i3wwpa3dm5j12s5p10hizi6i9hlp00b5y";
+    sha256 = "02r2jazb2hnhcqcjnmlj6sjd9dvyfalgi99bzncwfadixf3hmpvn";
   };
 
   buildInputs = [ yacc ];
@@ -16,10 +17,10 @@ stdenv.mkDerivation rec {
 
   installPhase = "install -D spin $out/bin/spin";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
     license = "free";
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = with maintainers; [ mornfall pSub ];
   };
 }
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/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/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index e173f82766484..072688670440d 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "scons";
-  version = "2.3.3";
+  version = "2.3.4";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
-    sha256 = "1qn0gk4k796a6vwsq62w80d6w96r9xh6kz7aa14xb6md2884x9v3";
+    sha256 = "0hdlci43wjz8maryj83mz04ir6rwcdrrzpd7cpzvdlzycqhdfmsb";
   };
 
   buildInputs = [python makeWrapper];
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index a5d7d26080478..e1f7f19dd56f5 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, pkgconfig, perl, python, libxml2Python, libxslt, which
-, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils, dblatex, gettext }:
+, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils, dblatex, gettext, itstool }:
 
-stdenv.mkDerivation {
-  name = "gtk-doc-1.18";
+stdenv.mkDerivation rec {
+  name = "gtk-doc-${version}";
+  version = "1.21";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz;
-    sha256 = "084scak99ppgqk5lkziskhcsd3jmcgf7a98ddwhciq8vaqf5jnvq";
+    url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
+    sha256 = "0gpfh25qxsic7n25pfl74mjp38hdm3pr4islhlaxv3p05q0lv4sx";
   };
 
   # maybe there is a better way to pass the needed dtd and xsl files
@@ -27,6 +28,13 @@ stdenv.mkDerivation {
 
   buildInputs =
    [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
-     gnome_doc_utils dblatex gettext which
+     gnome_doc_utils dblatex gettext which itstool
    ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gtk.org/gtk-doc;
+    description = "Tools to extract documentation embedded in GTK+ and GNOME source code";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix
index f335aebc570be..4acc8f38f1750 100644
--- a/pkgs/development/tools/haskell/BNFC/default.nix
+++ b/pkgs/development/tools/haskell/BNFC/default.nix
@@ -1,24 +1,25 @@
-{ cabal, mtl, fetchpatch, alex, happy }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, deepseq, filepath, happy, hspec, HUnit, mtl
+, QuickCheck, temporary
+}:
 
 cabal.mkDerivation (self: {
   pname = "BNFC";
-  version = "2.6.0.3";
-  sha256 = "0i38rwslkvnicnlxbrxybnwkgfin04lnr4q12lcvli4ldp2ylfjq";
+  version = "2.7.0.1";
+  sha256 = "18009jrpd5kcaz06j4ksay4c7c65m4zrc7jrp3rjx81bs6gkrwk1";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ mtl ];
+  buildDepends = [ deepseq filepath mtl ];
+  testDepends = [
+    deepseq filepath hspec HUnit mtl QuickCheck temporary
+  ];
   buildTools = [ alex happy ];
-  patches = [ (fetchpatch { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "1i87crwva5m3v095lv3zxs38pr6nmly58krlr6sxpwnakpr0pxsp"; }) ];
-  patchFlags = "-p2";
-  preConfigure = "runhaskell Setup.lhs clean";
   meta = {
     homepage = "http://bnfc.digitalgrammars.com/";
     description = "A compiler front-end generator";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres simons ];
   };
 })
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/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index db7e472934c3b..07ba2a4a09ecd 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.69";
-  sha256 = "0430086lh1h7w8wxc42aqrdjb8i12vz8m0jr1q2c45h3k6brb5r5";
+  version = "1.70";
+  sha256 = "0jc66x6p6blcz1pk4pkdh93dx17658pr0i5h4w3zynv4c2jgy138";
   isLibrary = false;
   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/graphmod/default.nix b/pkgs/development/tools/haskell/graphmod/default.nix
new file mode 100644
index 0000000000000..6165e46dd5bd5
--- /dev/null
+++ b/pkgs/development/tools/haskell/graphmod/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dotgen, filepath, haskellLexer }:
+
+cabal.mkDerivation (self: {
+  pname = "graphmod";
+  version = "1.2.5";
+  sha256 = "1rmrsfvajzrak7jlhwnvhrgszgyg1b6z5wp21k0d7pv2cbfdkp8s";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ dotgen filepath haskellLexer ];
+  meta = {
+    homepage = "http://github.com/yav/graphmod/wiki";
+    description = "Present the module dependencies of a program as a \"dot\" graph";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/ihaskell/default.nix b/pkgs/development/tools/haskell/ihaskell/default.nix
new file mode 100644
index 0000000000000..f65053841283e
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/default.nix
@@ -0,0 +1,49 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+# This file was later edited to add patches, disable testing.
+# Also patch the profile config to point to the ihaskell kernel exe
+
+{ cabal, aeson, base64Bytestring, cereal, classyPrelude, cmdargs
+, filepath, ghcParser, ghcPaths, haskeline, haskellSrcExts, here
+, hlint, hspec, HTTP, HUnit, MissingH, monoTraversable, mtl, parsec
+, random, setenv, shelly, split, stm, strict, systemArgv0
+, systemFilepath, tar, text, transformers, unorderedContainers
+, utf8String, uuid, vector, zeromq4Haskell, fetchpatch
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ihaskell";
+  version = "0.4.2.0";
+  sha256 = "012rmasdc167w6gl18ysr53737j4p4afk0qcsv81hif92vvg5j1c";
+  isLibrary = true;
+  isExecutable = true;
+  patches = [ (fetchpatch { url = "https://github.com/gibiansky/IHaskell/pull/288.patch"; sha256 = "022zdz4wnyra6cfa7mq0w2ycsb007cvppn2f1360nr3fa5s9wibg"; }) ];
+  prePatch = ''
+    tar xvf profile/profile.tar -C profile
+    sed -i -e '1iexe = "'$out'/bin/IHaskell".replace(" ", "\\ ")\' profile/ipython_config.py
+  '';
+  doCheck = false;
+  buildDepends = [
+    aeson base64Bytestring cereal classyPrelude cmdargs filepath
+    ghcParser ghcPaths haskeline haskellSrcExts here hlint hspec HTTP
+    HUnit MissingH monoTraversable mtl parsec random shelly split stm
+    strict systemArgv0 systemFilepath tar text transformers
+    unorderedContainers utf8String uuid vector zeromq4Haskell
+  ];
+  testDepends = [ # let's keep these anyway
+    aeson base64Bytestring cereal classyPrelude cmdargs filepath
+    ghcParser ghcPaths haskeline haskellSrcExts here hlint hspec HTTP
+    HUnit MissingH monoTraversable mtl parsec random setenv shelly
+    split stm strict systemArgv0 systemFilepath tar text transformers
+    unorderedContainers utf8String uuid vector zeromq4Haskell
+  ];
+  postInstall = ''
+    patchShebangs .
+  '';
+  meta = with self.stdenv.lib; {
+    homepage = "http://gibiansky.github.io/IHaskell/";
+    description = "A Haskell backend kernel for the IPython project";
+    license = licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with maintainers; [ edwtjo ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch b/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch
new file mode 100644
index 0000000000000..b2c1362b62fa0
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch
@@ -0,0 +1,34 @@
+From fad4e38079e91b13bf1e94732b7494504071b224 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= <ed@cflags.cc>
+Date: Sun, 28 Sep 2014 09:27:40 +0200
+Subject: [PATCH] catMaybes, explicitly use ClassyPrelude
+
+---
+ src/IHaskell/Eval/Completion.hs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/IHaskell/Eval/Completion.hs b/src/IHaskell/Eval/Completion.hs
+index 790c903..93d7ac1 100644
+--- a/src/IHaskell/Eval/Completion.hs
++++ b/src/IHaskell/Eval/Completion.hs
+@@ -141,7 +141,7 @@ getTrueModuleName name = do
+       onlyImportDecl _ = Nothing
+ 
+   -- Get all imports that we use.
+-  imports <- catMaybes <$> map onlyImportDecl <$> getContext
++  imports <- ClassyPrelude.catMaybes <$> map onlyImportDecl <$> getContext
+ 
+   -- Find the ones that have a qualified name attached.
+   -- If this name isn't one of them, it already is the true name.
+@@ -178,7 +178,7 @@ completionType line loc target
+     = Empty
+ 
+   -- When in a string, complete filenames.
+-  | cursorInString line loc 
++  | cursorInString line loc
+     = FilePath (getStringTarget lineUpToCursor) (getStringTarget lineUpToCursor)
+ 
+   -- Complete module names in imports and elsewhere.
+-- 
+2.1.0
+
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
new file mode 100644
index 0000000000000..f98de4af22903
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -0,0 +1,26 @@
+{ stdenv, makeWrapper, ihaskell, ipython, ghc }:
+
+stdenv.mkDerivation rec {
+
+  name = "ihaskell-" + ihaskell.version ;
+
+  buildInputs = [ makeWrapper ];
+
+  preferLocalBuild = true;
+
+  buildCommand = ''
+    makeWrapper "${ihaskell}/bin/IHaskell" "$out/bin/ihaskell" \
+      --prefix PATH : "${ghc}/bin:${ihaskell}/bin:${ipython}/bin" \
+      --prefix LD_LIBRARY_PATH : "${ihaskell}/lib/ghc-${ghc.version}/${name}/" \
+      --add-flags "--ipython=${ipython}/bin/ipython" \
+      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
+      --set PROFILE_TAR "$(find ${ihaskell} -iname "profile.tar")" \
+      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] && mkdir -p \$PROFILE_DIR && tar xvf \$PROFILE_TAR -C \$PROFILE_DIR)" \
+      --prefix GHC_PACKAGE_PATH : "\$(${ghc.GHCGetPackages} ${ghc.version}|sed -e 's, -package-db ,:,g'|cut -b 2-):${ihaskell}/lib/ghc-${ghc.version}/package.conf.d/${name}.installedconf" \
+      --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages
+  '';
+
+  meta = {
+    description = ihaskell.meta.description;
+  };
+}
\ No newline at end of file
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/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/ShellCheck/default.nix b/pkgs/development/tools/misc/ShellCheck/default.nix
index 8beca12325b8f..d93383171dd6d 100644
--- a/pkgs/development/tools/misc/ShellCheck/default.nix
+++ b/pkgs/development/tools/misc/ShellCheck/default.nix
@@ -15,5 +15,6 @@ cabal.mkDerivation (self: {
     description = "Shell script analysis tool";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
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/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index aa8e70b5edc50..3c8c2fbec6151 100644
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ b/pkgs/development/tools/misc/babeltrace/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, libuuid, popt }:
 
 stdenv.mkDerivation rec {
-  name = "babeltrace-1.2.1";
+  name = "babeltrace-1.2.3";
 
   src = fetchurl {
     url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2";
-    sha256 = "1pwg0y57iy4c8wynb6bj7f6bxaiclmxcm4f3nllpw9brhbdzygc1";
+    sha256 = "1b47d4i4f3gjb37m62k6hq0jlag4qkmblx6lcjf4s902h6bscvvr";
   };
 
   buildInputs = [ pkgconfig glib libuuid popt ];
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/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index e8e50999f3edb..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.2";
+  name = "help2man-1.46.3";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "0483cpizy0mqngibv56p6p8jxwh8678qksf5zs5wh963r3n1s6cj";
+    sha256 = "0hi94a6ai96yw0v8xgjzpp5c6jr33ifmbn2mkp7wz7rgmwxxqsd6";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
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/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/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 8691e1b9d1117..1c811b2175852 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -7,11 +7,11 @@ in
 
 stdenv.mkDerivation {
 
-  name = "camlp5${if transitional then "_transitional" else ""}-6.11";
+  name = "camlp5${if transitional then "_transitional" else ""}-6.12";
 
   src = fetchurl {
-    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.11.tgz;
-    sha256 = "0dxb5id6imq502sic75l786q94dhplqx6yyhjkkw19kf64fiqlk5";
+    url = http://camlp5.gforge.inria.fr/distrib/src/camlp5-6.12.tgz;
+    sha256 = "00jwgp6w4g64lfqjx77xziy532091fy00c42fsy0b4i892rch5mp";
   };
 
   buildInputs = [ ocaml ];
@@ -25,17 +25,17 @@ stdenv.mkDerivation {
 
   postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml_version}/site-lib/camlp5/META";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Preprocessor-pretty-printer for OCaml";
     longDescription = ''
       Camlp5 is a preprocessor and pretty-printer for OCaml programs.
       It also provides parsing and printing tools.
     '';
     homepage = http://pauillac.inria.fr/~ddr/camlp5/;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
+    maintainers = with maintainers; [
+      z77z vbgl
     ];
   };
 }
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/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index 623b84bafd1d0..30fabf1936202 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,4 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib, yojson, menhir}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+
 stdenv.mkDerivation {
 
   name = "merlin-1.7.1";
@@ -12,10 +15,10 @@ stdenv.mkDerivation {
 
   prefixKey = "--prefix ";
 
-  meta = {
+  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/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 4c74063d1165f..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 {
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index b3d4c125bb9e9..4b4eae915f5c8 100644
--- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix
+++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "Ebnf2ps";
-  version = "1.0.11";
-  sha256 = "0n0maihalnrks3l7ay1i16p6i7f69xv33jxhlsyshzck0v64qivb";
+  version = "1.0.12";
+  sha256 = "1rd0pxj2bfx06z1p0sy8kdhyfg1y51gn1bhr71j33czls6m9ry8c";
   isLibrary = false;
   isExecutable = true;
   buildTools = [ happy ];
   meta = {
-    homepage = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/";
+    homepage = "https://github.com/FranklinChen/Ebnf2ps";
     description = "Peter's Syntax Diagram Drawing Tool";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
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 3b2929f178db3..bd9ccf4947ba7 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     else
       fetchurl {
         url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
-        sha256 = "047zij0lvrlpyg6icnp4knl0q87icsavbd2g98bkcp79yh2y91d0";
+        sha256 = "1d4w0ni6mkb378v6rd7b188fw38vi8qql7pkwzsykr6389krbkbq";
       };
 
   meta = with stdenv.lib; {
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/games/anki/default.nix b/pkgs/games/anki/default.nix
index 1925c73b2e4a6..7c8c2bd237767 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -6,13 +6,13 @@
 
 let
     py = pythonPackages;
-    version = "2.0.28";
+    version = "2.0.29";
 in
 stdenv.mkDerivation rec {
     name = "anki-${version}";
     src = fetchurl {
       url = "http://ankisrs.net/download/mirror/${name}.tgz";
-      sha256 = "0dj33mlc23y982kcl4h0aganb4fy70rl28mpj2mbcfphykzkv05s";
+      sha256 = "12qw0as5cdgh4hi0vyl0zpdzha93x8rid5xrhpjgiyj5s9fisf40";
     };
 
     pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ]
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/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/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/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 9f79dd70c6a00..70bda820e2ec1 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
-, mesa, openal, alsaOss }:
+, mesa, openal, alsaOss, pulseaudioSupport ? false, pulseaudio }:
 
 assert jre ? architecture;
 
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
 
     # wrapper for minecraft
     export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${jre}/lib/${jre.architecture}/:${libX11}/lib/:${libXext}/lib/:${libXcursor}/lib/:${libXrandr}/lib/:${libXxf86vm}/lib/:${mesa}/lib/:${openal}/lib/
-    ${alsaOss}/bin/aoss ${jre}/bin/java -jar $out/minecraft.jar
+    ${if pulseaudioSupport then "${pulseaudio}/bin/padsp" else "${alsaOss}/bin/aoss" } \
+      ${jre}/bin/java -jar $out/minecraft.jar
     EOF
 
     chmod +x $out/bin/minecraft
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
new file mode 100644
index 0000000000000..fd8948276f1bf
--- /dev/null
+++ b/pkgs/games/mudlet/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, pkgs, stdenv, makeWrapper, qt5, yajl, libzip, hunspell, boost, lua5_1, luafilesystem, luazip, lrexlib, luasqlite3 }:
+
+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 luafilesystem luazip lrexlib luasqlite3 ];
+
+  configurePhase = "cd src && qmake";
+
+  installPhase = let
+    luaZipPath = "${luazip}/lib/lua/5.1/?.so";
+    luaFileSystemPath = "${luafilesystem}/lib/lua/5.1/?.so";
+    lrexlibPath = "${lrexlib}/lib/lua/5.1/?.so";
+    luasqlitePath = "${luasqlite3}/lib/lua/5.1/?.so";
+  in ''
+    mkdir -pv $out/bin
+    cp mudlet $out
+    cp -r mudlet-lua $out
+
+    makeWrapper $out/mudlet $out/bin/mudlet \
+      --set LUA_CPATH "\"${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}\"" \
+      --run "cd $out";
+  '';
+
+  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 c26c27aaf021d..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.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "1kzca8nxz9isb2r5q5pdxhkzy92rdibapzq256sxbaf55zlcg1p2";
+    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 69387f0cfd3a0..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
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 75bbca67ab074..404eaf4ce9f2d 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -68,6 +68,5 @@ buildFHSChrootEnv {
   profile = ''
     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/tibia/default.nix b/pkgs/games/tibia/default.nix
index a2355ba9d1e8a..f175894dfe742 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.57";
 
   src = fetchurl {
-    url = http://static.tibia.com/download/tibia1041.tgz;
-    sha256 = "1hmqn9c6qaa79ldcnl4ws9dm6rd3ymy48fw254pl6g601amn7b8v";
+    url = http://static.tibia.com/download/tibia1057.tgz;
+    sha256 = "1bhfrz66n1cvvy11ybr3yfn3i3vr98nnp3q11gssk8nby5bqm2fi";
   };
 
   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/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/cups/drivers/cups-bjnp/default.nix b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index 1ed74c5743558..aa75012a8bc9d 100644
--- a/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cups}:
 
 stdenv.mkDerivation rec {
-  name = "cups-bjnp-1.2.1";
+  name = "cups-bjnp-1.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/cups-bjnp/${name}.tar.gz";
-    sha256 = "0fjpp0mmmwfcr790hfjs0brsxxb7dz7v2xab6wc30rwzkqmgz95x";
+    sha256 = "0sb0vm1sf8ismzd9ba33qswxmsirj2z1b7lnyrc9v5ixm7q0bnrm";
   };
 
   preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index ebec9867a615e..98776c0c42b08 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -3,7 +3,7 @@
 , libtiff, libpng, makeWrapper, openssl, gimp }:
 
 let
-   version = "5.2.9";
+   version = "5.2.10";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,7 +12,7 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "185wai9hk0z0144hpxn5mqncy6xikc4bdv49vxqh5lrjdzqf89sb";
+    sha256 = "0n8f6vpadnagrp6yib3mca1c3lgwl4vmma16s44riyrd84mka7s3";
   };
 
   # gimp, gui is still not working (TODO)
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 4823d41d1ac24..cf7cd54169017 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -4,11 +4,12 @@
 , pulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20140902";
+  name = "dolphin-emu-20141002";
   src = fetchgit {
     url = git://github.com/dolphin-emu/dolphin.git;
-    rev = "cc6db8cf26c1508ae382912bc25e64aaf12e0543";
-    sha256 = "17pc4kk1v0p1llc12ifih02j2klfjz29qh8nhz5lapb0a1wr6lb3";
+    rev = "ed7f0739ae31c07c31d013964986c549317aba6e";
+    sha256 = "01qwlkh3c0ij97zycq0v4kclxmnlbwcc1bmvjzl4cbczhxbbx4hk";
+    fetchSubmodules = false;
   };
 
   cmakeFlags = ''
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 0d01f7dc971fc..0000000000000
--- a/pkgs/misc/emulators/higan/builder.sh
+++ /dev/null
@@ -1,35 +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
-
-# A dirty workaround, suggested by @cpages:
-# we create a first-run script to populate
-# the local $HOME with all the auxiliary
-# stuff needed by higan at runtime
-
-cat <<EOF > $out/bin/higan-config.sh
-#!${shell}
-
-cp --update --recursive $out/share/higan \$HOME/.config
-chmod --recursive u+w \$HOME/.config/higan
-
-EOF
-
-chmod +x $out/bin/higan-config.sh
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index 532eeef2280f7..b3c793f00e1c1 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 ? "performance" # Options: accuracy, balanced, performance
+, guiToolkit ? "gtk" # can be gtk or qt4
+, gtk ? null, qt4 ? null }:
+
+assert guiToolkit == "gtk" || guiToolkit == "qt4";
+assert (guiToolkit == "gtk" -> gtk != null) || (guiToolkit == "qt4" -> qt4 != null);
 
 stdenv.mkDerivation rec {
 
@@ -13,17 +18,54 @@ stdenv.mkDerivation rec {
   sourceName = "higan_v${version}-source";
 
   src = fetchurl {
-    url = "http://byuu.org/files/${sourceName}.tar.xz";
+    urls = [ "http://byuu.org/files/${sourceName}.tar.xz" "http://byuu.net/files/${sourceName}.tar.xz" ];
     sha256 = "06qm271pzf3qf2labfw2lx6k0xcd89jndmn0jzmnc40cspwrs52y";
     curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
   };
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig libX11 libXv udev mesa gtk SDL libao openal pulseaudio ];
+  [ pkgconfig libX11 libXv udev mesa SDL libao openal pulseaudio ]
+  ++ optionals (guiToolkit == "gtk") [ gtk ]
+  ++ optionals (guiToolkit == "qt4") [ qt4 ];
+
+  buildPhase = ''
+    make phoenix=${guiToolkit} profile=${profile} -C ananke
+    make phoenix=${guiToolkit} 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)
+  '';
 
-  builder = ./builder.sh;
+  fixupPhase = ''
+    oldRPath=$(patchelf --print-rpath $out/bin/higan)
+    patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan
 
-  meta = {
+    # 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
+
+    chmod +x $out/bin/higan-init.sh
+  '';
+
+  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,16 +76,14 @@ 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 submitting
 #     a custom patch to Higan project would not be a bad idea...
-#
+#   - Qt support
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 407d96a2bb927..6fe92e4cfb656 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl, pkgconfig
 , libX11, mesa, freeglut
 , jack2, libcdio, libsndfile, libsamplerate
-, SDL, SDL_net, zlib }:
+, SDL, SDL_net, zlib
+}:
 
 stdenv.mkDerivation rec {
 
   name = "mednafen-${version}";
-  version = "0.9.36.3";
+  version = "0.9.36.4";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/mednafen/Mednafen/${version}/${name}.tar.bz2";
-    sha256 = "00byql2p28l4476mvzmv5ysclb6yv9f4qrf6vz0x7ii648rp97in";
+    sha256 = "0s6dhdar6y64fah2ij98a9gskm0rzcbqdbksicnba8cakc87nsfy";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index f1cef0acc1c24..db412eb883de9 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, pkgconfig, makeWrapper, python27
-, retroarch, fluidsynth, mesa, SDL, libpng, libjpeg, libvorbis, zlib }:
+{ stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch
+, fluidsynth, mesa, SDL, ffmpeg, libpng, libjpeg, libvorbis, zlib }:
 
 let
 
@@ -24,7 +24,10 @@ let
         --add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
     '';
 
-    passthru.libretroCore = "/lib/retroarch/cores";
+    passthru = {
+      core = core;
+      libretroCore = "/lib/retroarch/cores";
+    };
 
     meta = with stdenv.lib; {
       inherit description;
@@ -58,6 +61,18 @@ in
     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 {
@@ -78,6 +93,44 @@ in
     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 {
@@ -92,6 +145,47 @@ in
     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 {
@@ -128,35 +222,6 @@ in
     buildPhase = "make";
   };
 
-  picodrive = (mkLibRetroCore rec {
-    core = "picodrive";
-    src = fetchRetro {
-      repo = core;
-      rev = "d84817550ac064fbba7ee718fb3baeda7d5546da";
-      sha256 = "17zh9m2v7h1cifzz8dcwqm4wn94zyhz6g85gf0aw6xylxahza627";
-    };
-    description = "Fast MegaDrive/MegaCD/32X emulator";
-
-    extraBuildInputs = [ libpng SDL ];
-  }).override {
-    patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure";
-    configurePhase = "./configure";
-  };
-
-  ppsspp = (mkLibRetroCore rec {
-    core = "ppsspp";
-    src = fetchRetro {
-      repo = "libretro-" + core;
-      rev = "6ee828171218b26e124c5e8fa7877e6ee1d5ff79";
-      sha256 = "1559d4k3h0a2dv3684j4w924p2dg8z2j1fwhy7w9mhb5z4kddjhk";
-    };
-    description = "ppsspp libretro port";
-
-    extraBuildInputs = [ mesa ];
-  }).override{
-    buildPhase = "cd libretro && make";
-  };
-
   vba-next = mkLibRetroCore rec {
     core = "vba-next";
     src = fetchRetro {
diff --git a/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix b/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix
new file mode 100644
index 0000000000000..ec539cb43f95e
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix
@@ -0,0 +1,39 @@
+{ stdenv, pkgs, cores }:
+
+assert cores != [];
+
+with pkgs.lib;
+
+let
+
+  script = exec: ''
+    #!${stdenv.shell}
+    nohup sh -c "sleep 1 && pkill -SIGSTOP xbmc" &
+    nohup sh -c "${exec} '$@' -f;pkill -SIGCONT xbmc"
+  '';
+  scriptSh = exec: pkgs.writeScript ("xbmc-"+exec.name) (script exec.path);
+  execs = map (core: rec { name = core.core; path = core+"/bin/retroarch-"+name;}) cores;
+
+in
+
+stdenv.mkDerivation rec {
+  name = "xbmc-retroarch-advanced-launchers-${version}";
+  version = "0.2";
+
+  dontBuild = true;
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    ${stdenv.lib.concatMapStrings (exec: "ln -s ${scriptSh exec} $out/bin/xbmc-${exec.name};") execs}
+  '';
+
+  meta = {
+    description = "XBMC retroarch advanced launchers";
+    longDescription = ''
+      These retroarch launchers are intended to be used with
+      anglescry advanced launcher for XBMC since device input is
+      caught by both XBMC and the retroarch process.
+    '';
+    license = "GPL-3";
+  };
+}
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index a7d52f2bca4f5..36437c4e57bf7 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.28";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "0h7mijxv5nhn0nn5knr8arq9bl7chi3diaa668yyhjbxwn15xqzm";
+      sha256 = "04r3zk3dz2vzly2a4nqbcvppjs5iy3lq5ibx3wfrf877p5bz3hv7";
     };
 
     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/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
index 2b8042ba9ab2c..9db2fe45ed318 100644
--- a/pkgs/misc/screensavers/alock/default.nix
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
       X session.
     '';
     platforms = with stdenv.lib.platforms; allBut cygwin;
-    maintainers = stdenv.lib.maintainers.ftrvxmtrx;
+    maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
   };
 }
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 40fad768b1690..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 =
diff --git a/pkgs/misc/sound-of-sorting/default.nix b/pkgs/misc/sound-of-sorting/default.nix
new file mode 100644
index 0000000000000..fa1be80287a2c
--- /dev/null
+++ b/pkgs/misc/sound-of-sorting/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl
+, SDL2, wxGTK
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "sound-of-sorting-${version}";
+  version = "0.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/bingmann/sound-of-sorting/archive/${name}.tar.gz";
+    sha256 = "1524bhmy5067z9bjc15hvqslw43adgpdn4272iymq09ahja4x76b";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ wxGTK SDL2 ];
+
+  preConfigure = ''
+    export SDL_CONFIG=${SDL2}/bin/sdl2-config
+  '';
+
+  meta = with stdenv.lib;{
+    description = "Audibilization and Visualization of Sorting Algorithms";
+    homepage = http://panthema.net/2013/sound-of-sorting/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 648ddb1b43051..8dd17c074a7af 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -111,26 +111,27 @@ in rec
   YouCompleteMe = stdenv.mkDerivation {
     src = fetchgit {
       url = "https://github.com/Valloric/YouCompleteMe.git";
-      rev = "67288080ea7057ea3111cb4c863484e3b150e738";
-      sha256 = "1a3rwdl458z1yrp50jdwp629j4al0zld21n15sad28g51m8gw5ka";
+      rev = "a2cae90f7ba1746bf1209edd6739f87d5914b375";
+      sha256 = "1yxrxskxnr2da5awm59ra4s9wg67rimcbazvln9bayg9saxs540d";
      };
 
-    name = "youcompleteme-git-6728808";
+    name = "youcompleteme-20140929";  # commit date
     buildInputs = [ python cmake clang.clang ];
 
     configurePhase = ":";
 
     buildPhase = ''
+      patchShebangs .
+
       target=$out/share/vim-plugins/YouCompleteMe
       mkdir -p $target
       cp -a ./ $target
 
-
       mkdir $target/build
       cd $target/build
       cmake -G "Unix Makefiles" . $target/third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
       make ycm_support_libs -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-      ${bash}/bin/bash $target/install.sh --clang-completer
+      ${bash}/bin/bash $target/install.sh --clang-completer --system-libclang
 
       ${vimHelpTags}
       vimHelpTags $target
@@ -645,4 +646,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/darwin/command-line-tools/default.nix b/pkgs/os-specific/darwin/command-line-tools/default.nix
new file mode 100644
index 0000000000000..a4ac20fa08511
--- /dev/null
+++ b/pkgs/os-specific/darwin/command-line-tools/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchadc, xar, gzip, cpio }:
+
+let
+  name = "command-line-tools-mac-os-10.9";
+
+  pkg = { installPhase }: stdenv.mkDerivation {
+    name = "${name}.pkg";
+
+    phases = [ "installPhase" ];
+
+    inherit installPhase;
+
+    meta = with stdenv.lib; {
+      description = "Developer tools .pkg file";
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.darwin;
+      license     = licenses.unfree;
+    };
+  };
+
+  basic = pkg: stdenv.mkDerivation {
+    inherit name;
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    outputs = [ "sdk" "tools" ];
+
+    unpackPhase = ''
+      ${xar}/bin/xar -x -f "${pkg}"
+    '';
+
+    installPhase = ''
+      start="$(pwd)"
+      mkdir -p $sdk
+      mkdir -p $tools
+
+      cd $sdk
+      cat $start/DevSDK_OSX109.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm
+
+      cd $tools
+      cat $start/CLTools_Executables.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Mac OS command-line developer tools and SDK";
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.darwin;
+      license     = licenses.unfree;
+    };
+  };
+in rec {
+  dmg = fetchadc {
+    # Isn't this a beautiful path? Note the subtle differences before and after the slash!
+    path   = "Developer_Tools/command_line_tools_os_x_10.9_for_xcode__xcode_6/command_line_tools_for_os_x_10.9_for_xcode_6.dmg";
+    sha256 = "0zrpf73r3kfk9pdh6p6j6w1sbw7s2pp0f8rd83660r5hk1y3j5jc";
+  };
+
+  pure = { xpwn }: basic (pkg {
+    installPhase = ''
+      ${xpwn}/bin/hdutil ${dmg} extract "Command Line Tools (OS X 10.9).pkg" $out
+    '';
+  });
+
+  impure = basic (pkg {
+    installPhase = ''
+      /usr/bin/hdiutil attach ${dmg} -mountpoint clt-mount -nobrowse
+      cp "clt-mount/Command Line Tools (OS X 10.9).pkg" $out
+      /usr/bin/hdiutil unmount clt-mount
+    '';
+  });
+}
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
new file mode 100644
index 0000000000000..d12ad24c9f8a0
--- /dev/null
+++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, python, osx_sdk }:
+
+let
+  sdkVersion = "10.9";
+in stdenv.mkDerivation {
+  name = "PrivateMacOSX${sdkVersion}.sdk";
+
+  src = fetchFromGitHub {
+    owner  = "copumpkin";
+    repo   = "OSXPrivateSDK";
+    rev    = "bde9cba13e6ae62a8e4e0f405008ea719526e7ad";
+    sha256 = "1vj3fxwp32irxjk987p7a223sm5bl5rrlajcvgy69k0wb0fp0krc";
+  };
+
+  buildInputs = [ python ];
+
+  configurePhase = "true";
+
+  buildPhase = ''
+    python PrivateSDK.py -i ${osx_sdk}/Developer/SDKs/MacOSX${sdkVersion}.sdk -o PrivateMacOSX${sdkVersion}.sdk
+  '';
+
+  installPhase = ''
+    mkdir -p $out/Developer/SDKs/
+    mv PrivateMacOSX${sdkVersion}.sdk $out/Developer/SDKs
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A private Mac OS ${version} SDK, suitable for building many of Apple's open source releases";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.unfree;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/darwin/osx-sdk/default.nix b/pkgs/os-specific/darwin/osx-sdk/default.nix
new file mode 100644
index 0000000000000..612bf003743cc
--- /dev/null
+++ b/pkgs/os-specific/darwin/osx-sdk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv }:
+
+let
+  version = "10.9";
+in stdenv.mkDerivation {
+  name = "MacOSX10.9.sdk";
+
+  src = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk";
+
+  unpackPhase    = "true";
+  configurePhase = "true";
+  buildPhase     = "true";
+
+  installPhase = ''
+    mkdir -p $out/Developer/SDKs/
+    echo "Source is: $src"
+    cp -r $src $out/Developer/SDKs/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The Mac OS ${version} SDK";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.unfree;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix
new file mode 100644
index 0000000000000..49d61f392c5eb
--- /dev/null
+++ b/pkgs/os-specific/darwin/security-tool/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, osx_private_sdk }:
+
+stdenv.mkDerivation rec {
+	version = "55115";
+  name    = "SecurityTool-${version}";
+
+  src = fetchurl {
+    url = "http://opensource.apple.com/tarballs/SecurityTool/SecurityTool-${version}.tar.gz";
+    sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
+  };
+
+  configurePhase = "";
+
+  # Someday we shall purge this impurity!
+  buildPhase = ''
+    /usr/bin/xcodebuild SDKROOT=${osx_private_sdk}/Developer/SDKs/PrivateMacOSX10.9.sdk/
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    cp build/Release/security $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line interface to Mac OS X keychains and Security framework";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 63c55341b143c..289b54f1b54cc 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation {
     sed -e 's/break/true/' -i examples/turn_off_gpu.sh
     sed -e 's@/bin/bash@.bin/sh@' -i examples/turn_off_gpu.sh
     sed -e "s@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@" -i Makefile
+    sed -e 's@acpi/acpi[.]h@linux/acpi.h@g' -i acpi_call.c
   '';
  
   installPhase = ''
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/alsa-lib/alsa-plugin-conf-multilib.patch b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch
new file mode 100644
index 0000000000000..b17df9a492e5b
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch
@@ -0,0 +1,232 @@
+diff --git a/src/control/control.c b/src/control/control.c
+index d66ed75..42cecad 100644
+--- a/src/control/control.c
++++ b/src/control/control.c
+@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_control_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		if (name)
+ 			SNDERR("Invalid type for CTL %s definition", name);
+@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in CTL %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_ctl_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_control_open_symbols();
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in CTL %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_ctls;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_control_open_symbols();
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
+ 		if (err >= 0) {
+diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
+index 2e24338..7f489f4 100644
+--- a/src/pcm/pcm.c
++++ b/src/pcm/pcm.c
+@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_pcm_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		char *val;
+ 		id = NULL;
+@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in PCM %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_pcm_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_pcm_open_symbols();	/* this call is for static linking only */
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in PCM %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_pcms;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_pcm_open_symbols();	/* this call is for static linking only */
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
+ 		if (err >= 0) {
diff --git a/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch
deleted file mode 100644
index 3cee02aa0cd9f..0000000000000
--- a/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
-index 74d1d1a..17ffb12 100644
---- a/src/pcm/pcm.c
-+++ b/src/pcm/pcm.c
-@@ -2042,6 +2042,19 @@ static const char *const build_in_pcms[] = {
- 	NULL
- };
- 
-+
-+// helper funcion used below
-+int file_exists(const char * filename)
-+{
-+	FILE * file;
-+	if (file = fopen(filename, "r"))
-+	{
-+		fclose(file);
-+		return 1;
-+	}
-+	return 0;
-+}
-+
- static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 			     snd_config_t *pcm_root, snd_config_t *pcm_conf,
- 			     snd_pcm_stream_t stream, int mode)
-@@ -2141,8 +2154,38 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 				err = -ENOMEM;
- 				goto _err;
- 			}
--			lib = buf1;
- 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
-+			if (!file_exists(buf1)){
-+				// try to locate plugin in one of ALSA_PLUGIN_DIRS which is colon separated list of paths
-+				char * pdirs = getenv("ALSA_PLUGIN_DIRS");
-+
-+				if (pdirs){ // env var set?
-+					char * saveptr;
-+					while (1) {
-+						char * dir_tok = strtok_r(pdirs, "::::", &saveptr); // "::::" to work around bug in glibc and -O2 ? ":" seems to cause a segfault
-+						if (dir_tok == NULL)
-+                            break;
-+						char * so_file = malloc(strlen(str) + strlen(dir_tok) + 32);
-+						if (so_file == NULL) {
-+							err = -ENOMEM;
-+							goto _err;
-+						}
-+
-+						sprintf(so_file, "%s/libasound_module_pcm_%s.so", dir_tok, str);
-+
-+						if (file_exists(so_file)){
-+
-+							free(buf1);
-+							buf1 = so_file;
-+							break;
-+						} else {
-+							free (so_file);
-+						}
-+						pdirs = NULL;
-+					}
-+				}
-+			}
-+			lib = buf1;
- 		}
- 	}
- #ifndef PIC
-
-
-diff --git a/src/control/control.c b/src/control/control.c
-index c090797..137fe57 100644
---- a/src/control/control.c
-+++ b/src/control/control.c
-@@ -854,8 +854,38 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- 				err = -ENOMEM;
- 				goto _err;
- 			}
-+			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
-+			if (!file_exists(buf1)){
-+				// try to locate plugin in one of ALSA_PLUGIN_DIRS which is colon separated list of paths
-+				char * pdirs = getenv("ALSA_PLUGIN_DIRS");
-+
-+				if (pdirs){ // env var set?
-+					char * saveptr;
-+					while (1) {
-+						char * dir_tok = strtok_r(pdirs, "::::", &saveptr); // "::::" to work around bug in glibc and -O2 ? ":" seems to cause a segfault
-+						if (dir_tok == NULL)
-+                            break;
-+						char * so_file = malloc(strlen(str) + strlen(dir_tok) + 32);
-+						if (so_file == NULL) {
-+							err = -ENOMEM;
-+							goto _err;
-+						}
-+
-+						sprintf(so_file, "%s/libasound_module_ctl_%s.so", dir_tok, str);
-+
-+						if (file_exists(so_file)){
-+
-+							free(buf1);
-+							buf1 = so_file;
-+							break;
-+						} else {
-+							free (so_file);
-+						}
-+						pdirs = NULL;
-+					}
-+				}
-+			}
- 			lib = buf1;
--			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
- 		}
- 	}
- #ifndef PIC
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index f46e54448b9ed..41abf48867328 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -12,12 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    /* allow specifying alternatives alsa plugin locations using
-       export ALSA_PLUGIN_DIRS=$(nix-build -A alsaPlugins)/lib/alsa-lib
-       This patch should be improved:
-       See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
-    */
-    ./alsa-plugin-dirs.patch
+    ./alsa-plugin-conf-multilib.patch
   ];
 
   # Fix pcm.h file in order to prevent some compilation bugs
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..17adcabf2230c 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];
@@ -37,6 +41,5 @@ stdenv.mkDerivation rec {
     '';
     inherit version;
     downloadPage = http://atoptool.nl/downloadatop.php;
-    updateWalker = true;
   };
 }
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/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 9de84e228c434..42aff7fa12635 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.3.2";
+  name = "audit-2.4";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "0a8x10wz0xfj0iq1wgjl6hdhxvq58cb3906vc687i21876sy0wl8";
+    sha256 = "16z9iyi7yzkbyczrkmk9g0i3mlivr7l4p0hgyrz4f04xmzkkjpbf";
   };
 
   buildInputs = [ openldap ]
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "http://people.redhat.com/sgrubb/audit/";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 2a87611a68009..ca0e86413c32b 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -5,11 +5,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.22";
+  name = "bluez-5.24";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "10h8p89jnhxhjw4x53j4r53i999qjaz82l5591q6q48qb98ndf78";
+    sha256 = "0dxqkyxjx4051k6ghacqnm0cyvw52z9f4867dy2rcd5zl3xwaw78";
   };
 
   pythonPath = with pythonPackages;
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index ce609c5be4761..0183a606b2e10 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cifs-utils-6.3";
+  name = "cifs-utils-6.4";
 
   src = fetchurl {
     url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "0nrpd3ibzfhdxgq1pw0jhzx163z5jvq4qcjxl35qlqj74lm3pxzz";
+    sha256 = "1qz6d2xg4z1if0hy7qwyzgcr59l0alkhci6gxgjdldglda967z1q";
   };
 
   makeFlags = "root_sbindir=$(out)/sbin";
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
index f8be37edfe2e3..83c694972e604 100644
--- a/pkgs/os-specific/linux/consoletools/default.nix
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "linuxconsoletools-${version}";
-  version = "1.4.6";
+  version = "1.4.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2";
-    sha256 = "0035yhjbjdis5wqmbdz67xq61065x7vrx5mb7kb1rhrx3ag43wcf";
+    sha256 = "1wgcmmjiqw3hh36jzvhgq07kq13ar2miafz02xshds2b0kdcz4s4";
   };
 
   buildInputs = [ SDL ];
diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix
index ec4621e695707..9e7e2a6bb8e47 100644
--- a/pkgs/os-specific/linux/dmraid/default.nix
+++ b/pkgs/os-specific/linux/dmraid/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq";
   };
 
+  postPatch = ''
+    sed -i 's/\[\[[^]]*\]\]/[ "''$''${n##*.}" = "so" ]/' */lib/Makefile.in
+  '';
+
   preConfigure = "cd */";
 
   buildInputs = [ devicemapper ];
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index d7f3d293c489c..ec9b3537fad86 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.14";
     name="${baseName}-${version}";
-    hash="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg";
-    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.10.tar.bz2";
-    sha256="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg";
+    hash="0mwlvxl4fcfqvw7scldh4wz0i3b22cf5a2aglaxc9i1c3jld3w9l";
+    url="http://softlayer-ams.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.14-rc1.tar.bz2";
+    sha256="0mwlvxl4fcfqvw7scldh4wz0i3b22cf5a2aglaxc9i1c3jld3w9l";
   };
   buildInputs = [
   ];
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index bc83738acc8e8..a0cd09fbf35ee 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.43";
+  name = "hdparm-9.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "0amm2s67vzfgs0jv59jgj9pqkr6j9glj1chsj292263i94kr5gib";
+    sha256 = "0sc6yf3k6sd7n6a2ig2my9fjlqpak3znlyw7jw4cz5d9asm1rc13";
   };
 
   preBuild = ''
@@ -16,5 +16,7 @@ stdenv.mkDerivation rec {
     description = "A tool to get/set ATA/SATA drive parameters under Linux";
     homepage = http://sourceforge.net/projects/hdparm/;
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
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/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index e888afc2c6d22..a7913fea091c9 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.54";
+  version = "3.10.56";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0rhwdkw0ia8bpi237006y0m84vfvqz38l0z2dvqy2shg8ywf24ya";
+    sha256 = "02q0rda1dsapfi2d3nz398fhlk0gvr2q6mj6jcck2izcxzqhsz9a";
   };
 
   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 2c448cfb20d79..b0da31ff07483 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.28";
+  version = "3.12.29";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1b9lnnmsamlgr1712q9qj258p0d4lxn39hjd09baaqki69jmfzdy";
+    sha256 = "1ckzd9s64iahlnv7wh687m827f94q8hw0s4h8s69ijhay6igqqzm";
   };
 
   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 5dc570f1998e3..b3d7fb1e7f337 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.18";
+  version = "3.14.20";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0i0b35qmpxvfkflf079dhfx3yfjbh0dgqs7qzxrhs9sw4jf73z75";
+    sha256 = "090i8drjwhxawn7jfg9mrmvqik13j58v0hb272b457k48qyc070y";
   };
 
   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 c41e1bce1070b..06079716a81ab 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.2";
+  version = "3.16.4";
   extraMeta.branch = "3.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "16l5l099qv367d3gknpbycgrakli2mdklvgaifsn3hcrrjs44ybf";
+    sha256 = "0x8jh9j7kdfbxcf3f69p28j5dwjjdxf92sjnlhk3mp016yv02i99";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.17.nix b/pkgs/os-specific/linux/kernel/linux-3.17.nix
new file mode 100644
index 0000000000000..736973d3c4d98
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.17.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.17";
+  modDirVersion = "3.17.0";
+  extraMeta.branch = "3.17";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "0lb2yyh3j932789jq4gxx9xshgy6rfdnl3lm8yr43kaz7k4kw5gm";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index d0794b23421cf..52d003a2970b3 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.18";
-      revision  = "201409060013";
+    { kversion  = "3.14.19";
+      revision  = "201409282024";
       branch    = "stable";
-      sha256    = "0dlri42z8rihhib0ahagia8z2ga4di1mc8y63n3s7ja0f2bvzy19";
+      sha256    = "05xjfllw6kx6y2cs0pwvlp5cpspqb7nf7kgfzk2z5gd04vc8ywqm";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.16.2";
-      revision  = "201409060014";
+    { kversion  = "3.16.3";
+      revision  = "201409282025";
       branch    = "test";
-      sha256    = "1fnvmzfjpx74g5r1nilnynjyp18s5nnyw78znxdn33xxr5kdfzr4";
+      sha256    = "14vzg513xkqa71hp9drs2z9smamhxh87fxxyfjdbi3k93cbvkk22";
     };
 
   grsec_fix_path =
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/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index bb85acf4dcbde..9c4905bd52931 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, stdenv, tcp_wrappers, utillinux, libcap, libtirpc, libevent, libnfsidmap
-, lvm2, e2fsprogs }:
+, lvm2, e2fsprogs, python
+}:
 
 stdenv.mkDerivation rec {
   name = "nfs-utils-1.2.5";
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ tcp_wrappers utillinux libcap libtirpc libevent libnfsidmap
-      lvm2 e2fsprogs
+      lvm2 e2fsprogs python
     ];
 
   # FIXME: Add the dependencies needed for NFSv4 and TI-RPC.
diff --git a/pkgs/os-specific/linux/seturgent/default.nix b/pkgs/os-specific/linux/seturgent/default.nix
new file mode 100644
index 0000000000000..ad77a7a103179
--- /dev/null
+++ b/pkgs/os-specific/linux/seturgent/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, libX11, xproto, xdotool, unzip }:
+
+stdenv.mkDerivation {
+  name = "seturgent";
+
+  src = fetchurl {
+    url = "https://github.com/hiltjo/seturgent/archive/ada70dcb15865391e5cdcab27a0739a304a17e03.zip";
+    sha256 = "0q1sr6aljkw2jr9b4xxzbc01qvnd5vk3pxrypif9yd8xjw4wqwri";
+  };
+
+  buildInputs = [
+    libX11 xproto unzip
+  ];
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    mv seturgent $out/bin
+  '';
+
+  meta = {
+      platforms = stdenv.lib.platforms.linux;
+      description = "Set an application's urgency hint (or not)";
+      maintainers = [ stdenv.lib.maintainers.yarr ];
+      homepage = https://github.com/hiltjo/seturgent;
+      license = stdenv.lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 80677a52a32b0..0e62ab86f6d5f 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -3,10 +3,10 @@ let
   inherit (stdenv.lib) optional optionalString;
   s = rec {
     baseName="sysdig";
-    version = "0.1.88";
+    version = "0.1.89";
     name="${baseName}-${version}";
     url="https://github.com/draios/sysdig/archive/${version}.tar.gz";
-    sha256 = "1a4ij3qpk1h7xnyhic6p21jp46p9lpnagfl46ky46snflld4bz96";
+    sha256 = "06g0s38xvsmi8m80719m4h3h4by8q12imlp4k8sixhw06k959mhw";
   };
   buildInputs = [
     cmake zlib luajit
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/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index a1d7edcd44865..4d5f585e7d7bd 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.26.0";
+  name = "xf86-input-wacom-0.26.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "0rjpxr5nl0wxa17npm5zr0x0vkzz9hy3i1l4zfv1x011rbkkbpqm";
+    sha256 = "1qlls71k10igjx9c5lwqa6cdl31ncpdkzirpl85acpmqbqc63qh8";
   };
 
   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/bird/default.nix b/pkgs/servers/bird/default.nix
index 585228af2b455..9b9655053693d 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, flex, bison, readline }:
 
 stdenv.mkDerivation rec {
-  name = "bird-1.4.0";
+  name = "bird-1.4.4";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${name}.tar.gz";
-    sha256 = "1ickqvzpnyycq4a0l4d0kvf25pvq2vjayc0whqfv1233nb5426ys";
+    sha256 = "0dh14zi3v1j0iwxxcyfymfdyaxxmilfbf3bc4mwj682jb3x6ll7g";
   };
 
   buildInputs = [ flex bison readline ];
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index f5cf9544b9b42..c0b460778d9ee 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -11,11 +11,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.0.3";
+  name = "nsd-4.1.0";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "4bf05f2234e1b41899198aa1070f409201fc3c4980feef6567cd92c7074c4a8b";
+    sha256 = "ec3f6902f6f26a6b9248dcd7e9f42472fa52755740b4ba6b9d3bd08910b39b62";
   };
 
   buildInputs = [ libevent openssl ];
@@ -33,10 +33,12 @@ stdenv.mkDerivation rec {
      ++ edf rootServer       "root-server"
      ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
 
-  meta = {
-    description = "Authoritative only, high performance, simple and open source name server.";
-    license = "BSD";
+  meta = with stdenv.lib; {
     homepage = http://www.nlnetlabs.nl;
-    platforms = with stdenv.lib.platforms; linux;
+    description = "Authoritative only, high performance, simple and open source name server";
+    license = licenses.bsd3;
+
+    platforms = platforms.unix;
+    maintainers = [ maintainers.hrdinka ];
   };
 }
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/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix
index 0b5244a5974fc..0e71461754465 100644
--- a/pkgs/servers/http/couchdb/default.nix
+++ b/pkgs/servers/http/couchdb/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "couchdb-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
-    sha256 = "0m4k7i3gibzzcabssysv42rmdr89myppc6765xr0jggwkwdxgxmx";
+    sha256 = "09w6ijj9l5jzh81nvc3hrlqp345ajg3haj353g9kxkik6wbinq2s";
   };
 
   buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which
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 700317bc79945..e5c9b9b9456fe 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
+{ stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
 , gd, geoip, luajit
 , rtmp ? false
 , fullWebDAV ? false
@@ -10,52 +10,59 @@
 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 = fetchgit {
-    url = https://github.com/simpl/ngx_devel_kit.git;
-    rev = "refs/tags/v0.2.19";
-    sha256 = "169m6gsa5b6zh1ws8qx2k7dbswld1zmhm4dh57qka0h07gs5dqjg";
+  develkit-ext = fetchFromGitHub {
+    owner = "simpl";
+    repo = "ngx_devel_kit";
+    rev = "v0.2.19";
+    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
   };
 
-  lua-ext = fetchgit {
-    url = https://github.com/openresty/lua-nginx-module.git;
-    rev = "refs/tags/v0.9.11";
-    sha256 = "0y7238bvb907n7fsz5sivxbhfz2xnf4f0lzwk3k3h9j20fsyvwqq";
+  lua-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "lua-nginx-module";
+    rev = "v0.9.12";
+    sha256 = "0r07q1n3nvi7m3l8zk7nfk0z9kjhqknav61ys9lshh2ylsmz1lf4";
   };
 
 in
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/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
new file mode 100644
index 0000000000000..b7132d2ea99e1
--- /dev/null
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, java, makeWrapper}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="apache-jena";
+    version="2.12.0";
+    name="${baseName}-${version}";
+    url="http://archive.apache.org/dist/jena/binaries/apache-jena-2.12.0.tar.gz";
+    sha256="02fzn5j7yllp9g6lfnncpdgc1wbljvfk6s6fgaypq8p0vx5zallc";
+  };
+  buildInputs = [
+    makeWrapper
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  installPhase = ''
+    cp -r . "$out"
+    for i in "$out"/bin/*; do
+      wrapProgram "$i" --prefix "PATH" : "${java}/bin/"
+    done
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''RDF database'';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://jena.apache.org";
+    downloadPage = "http://archive.apache.org/dist/jena/binaries/";
+    updateWalker = true;
+    downloadURLRegex = "apache-jena-.*[.]tar[.]gz\$";
+  };
+}
diff --git a/pkgs/servers/nosql/cassandra/default.nix b/pkgs/servers/nosql/cassandra/default.nix
new file mode 100644
index 0000000000000..1413888f3f1b1
--- /dev/null
+++ b/pkgs/servers/nosql/cassandra/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchurl
+, jre
+, python
+, makeWrapper
+, gawk
+, bash
+, getopt
+}:
+
+let version = "2.1.0";
+in stdenv.mkDerivation rec {
+  name = "cassandra-${version}";
+
+  src = fetchurl {
+    url = "http://apache.cs.utah.edu/cassandra/${version}/apache-${name}-bin.tar.gz";
+    sha256 = "da99c4ebc8de925dc6b493443b70d2183cf3090b1aad6b6b918efa9565f264dd";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir $out
+    mv * $out
+
+    for cmd in cassandra nodetool sstablekeys sstableloader sstableupgrade
+      do wrapProgram $out/bin/$cmd \
+        --set JAVA_HOME ${jre} \
+        --prefix PATH : ${bash}/bin \
+        --prefix PATH : ${getopt}/bin \
+        --prefix PATH : ${gawk}/bin
+    done
+
+    wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+    '';
+
+  meta = {
+    homepage = "http://cassandra.apache.org/";
+    description = "Apache Cassandra™ is a massively scalable open source NoSQL database.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
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/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 162b12f8adc17..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 ];
 
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 de262af095cbe..5e0bc4f60f1ba 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -3,7 +3,8 @@
 , bluez, sbc, udev, libcap, json_c
 , jackaudioSupport ? false, jack2 ? null
 , x11Support ? false, xlibs
-, useSystemd ? false, systemd ? null }:
+, useSystemd ? false, systemd ? null
+, ossWrapper ? false }:
 
 assert jackaudioSupport -> jack2 != null;
 
@@ -49,11 +50,13 @@ stdenv.mkDerivation rec {
     "--disable-solaris"
     "--disable-jack"
     "--disable-oss-output"
-    "--disable-oss-wrapper"
+  ] ++ stdenv.lib.optional (!ossWrapper) "--disable-oss-wrapper" ++
+  [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--with-access-group=audio"
-  ] ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
+  ]
+    ++ 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 1325cebae4052..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";
 
@@ -29,4 +29,4 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.isc;
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 967eae40bb1ae..1cac6642484d9 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "elasticsearch-1.2.2";
+  name = "elasticsearch-1.3.2";
 
   src = fetchurl {
     url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "1vpvxndcq48rcsgw2jnzdh4fwnf141hf5wjxrjs1g7p2qw0d0cy8";
+    sha256 = "191fk7pbsxvihwj86b935d5b9n55h6q9gnpql68vfzjgvfjd09bm";
   };
 
   patches = [ ./es-home.patch ];
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index 568737b11385b..ae93d1a4b5f77 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -6,7 +6,7 @@ let
   esPlugin = a@{
     pluginName, 
     installPhase ? ''
-      mkdir -p $out
+      mkdir -p $out/bin
       ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin --install ${pluginName} --url file://$src
     '', 
     ...
@@ -23,11 +23,11 @@ let
 in {
   elasticsearch_river_jdbc = esPlugin rec {
     name = "elasticsearch-river-jdbc-${version}";
-    pluginName = "jdbc";
-    version = "1.2.1.1";
+    pluginName = "elasticsearch-river-jdbc";
+    version = "1.3.0.4";
     src = fetchurl {
       url = "http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/${version}/${name}-plugin.zip";
-      sha1 = "68e7e1fdf45d0e5852b21610a84740595223ea11";
+      sha256 = "0272l6cr032iccwwa803shzfjg3505jc48d9qdazrwxjmnlkkzqk";
     };
     meta = {
       homepage = "https://github.com/jprante/elasticsearch-river-jdbc";
@@ -53,11 +53,11 @@ in {
 
   elasticsearch_http_basic = stdenv.mkDerivation rec {
     name = "elasticsearch-http-basic-${version}";
-    version = "1.2.0";
+    version = "1.3.2";
 
     src = fetchurl {
       url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/${version}/${name}.jar";
-      sha256 = "0makhlsgxlawfscz70mc2ikh68vp6mdmmzz4ggcgwrravzvyw5vq";
+      sha256 = "1qq8z0233mzz699zbzjwmx7ghn8k0djgyc5ixr8i5xchfrsrymn2";
     };
 
     phases = ["installPhase"];
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 6a6b8563a5550..ca12c26f256c3 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);
 
   crossAttrs = {
     configureFlags = baseConfigureFlags +
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index a66ab994c8164..d3104439e5780 100644
--- a/pkgs/shells/dash/default.nix
+++ b/pkgs/shells/dash/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dash-0.5.7";
+  name = "dash-0.5.8";
 
   src = fetchurl {
     url = "http://gondor.apana.org.au/~herbert/dash/files/${name}.tar.gz";
-    sha256 = "0fafpbpq6jghs0fr392x525dybym9kq1s3kly2679ds526gzm2df";
+    sha256 = "03y6z8akj72swa6f42h2dhq3p09xasbi6xia70h2vc27fwikmny6";
   };
 
   meta = {
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index d187c50f25153..349d1719e567b 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, ncurses, coreutils }:
+{ stdenv, fetchurl, ncurses, coreutils, pcre }:
 
 let
 
-  version = "5.0.5";
+  version = "5.0.6";
 
   documentation = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.bz2";
-    sha256 = "1wljqii2lkz5kc4y3xs65isnahvnlj678b9zv31bn444mapjpwp4";
+    sha256 = "1mngi85q56szzlrdzv60vg7wl03lih8vlnl800gwr0i6d1laawxj";
   };
 
 in
@@ -16,13 +16,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.bz2";
-    sha256 = "1bwfz9n850pclzmzrb437icfhzv1s5pgh2dhs92f194gdkxx4936";
+    sha256 = "0ic86y35v82d87ixjzdb6zrnzf002b7gn573jnva6cqm2jdm1jl4";
   };
 
-  buildInputs = [ ncurses coreutils ];
+  buildInputs = [ ncurses coreutils pcre ];
 
   preConfigure = ''
-    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp"
+    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp --enable-pcre"
   '';
 
   # XXX: think/discuss about this, also with respect to nixos vs nix-on-X
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index fd2c78ac3cb61..c37bea7e31c39 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -91,12 +91,12 @@ let
           __ignoreNulls = true;
 
           # Inputs built by the cross compiler.
-          buildInputs = lib.optionals (crossConfig != null) (buildInputs ++ extraBuildInputs');
-          propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs;
+          buildInputs = if crossConfig != null then buildInputs ++ extraBuildInputs' else [];
+          propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs else [];
           # Inputs built by the usual native compiler.
-          nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) (buildInputs ++ extraBuildInputs');
+          nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs ++ extraBuildInputs' else []);
           propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
-            lib.optionals (crossConfig == null) propagatedBuildInputs;
+            (if crossConfig == null then propagatedBuildInputs else []);
       }))) (
       {
         # The meta attribute is passed in the resulting attribute set,
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 58db0c13abb2d..f3b5208de871e 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -88,7 +88,6 @@ in stdenv.mkDerivation {
     wrapProgram "$out/sbin/bumblebeed" \
       --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin:\$PATH" \
       --prefix LD_LIBRARY_PATH : "${commonEnv}/lib:\$LD_LIBRARY_PATH" \
-      --set FONTCONFIG_FILE "/etc/fonts/fonts.conf" \
       --set XKB_BINDIR "${xorg.xkbcomp}/bin" \
       --set XKB_DIR "${xkeyboard_config}/etc/X11/xkb"
 
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/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/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix
index 0bd19e2d6be8e..bacfbdfe1cabf 100644
--- a/pkgs/tools/backup/rsnapshot/default.nix
+++ b/pkgs/tools/backup/rsnapshot/default.nix
@@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
     patch -p0 <${patch}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A filesystem snapshot utility for making backups of local and remote systems";
     homepage = http://rsnapshot.org/;
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
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/filesystems/bashmount/default.nix b/pkgs/tools/filesystems/bashmount/default.nix
index 57bacfe6e887c..579258f63f98d 100644
--- a/pkgs/tools/filesystems/bashmount/default.nix
+++ b/pkgs/tools/filesystems/bashmount/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   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;
+    maintainers = [ maintainers.koral ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 79566d15bb9a7..2190688969269 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.16"; in
+let version = "3.16.2"; 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 = "0phbrgipl04q8cdj9nnshik7b6p2bg51jxb3l1gvfc04dkgm2xls";
+    url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
+    sha256 = "0avk8x0k91zrqvlbk8r067aw49byr8hvvr4niy48d3ib1jz2mmnl";
   };
 
   buildInputs = [
@@ -16,8 +16,6 @@ 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";
 
diff --git a/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
deleted file mode 100644
index 0ba6550a2d3b5..0000000000000
--- a/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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..c68eaab14d162 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1,37 +1,62 @@
-{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 PYTHONPATH : \"$(toPythonPath ${python.modules.readline})\""
+    + " --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}
+    wrapProgram $out/sbin/ceph-create-keys ${wrapArgs}
+    wrapProgram $out/sbin/ceph-disk ${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/graphics/dmtx/default.nix b/pkgs/tools/graphics/dmtx/default.nix
index 74b1a2bf4edff..30b3baa4690bc 100644
--- a/pkgs/tools/graphics/dmtx/default.nix
+++ b/pkgs/tools/graphics/dmtx/default.nix
@@ -1,19 +1,19 @@
-args :  
-let 
+args :
+let
   lib = args.lib;
   fetchurl = args.fetchurl;
 
-  version = lib.attrByPath ["version"] "0.7.2" args; 
+  version = lib.attrByPath ["version"] "0.7.4" args;
   buildInputs = with args; [
     libpng libtiff libjpeg librsvg imagemagick pkgconfig
-    zlib libX11 bzip2 libtool freetype fontconfig 
+    zlib libX11 bzip2 libtool freetype fontconfig
     ghostscript jasper xz
   ];
 in
 rec {
   src = fetchurl {
     url = "mirror://sourceforge/libdmtx/libdmtx-${version}.tar.bz2";
-    sha256 = "0iin2j3ad7ldj32dwc04g28k54iv3lrc5121rgyphm7l9hvigbvk";
+    sha256 = "0xnxx075ycy58n92yfda2z9zgd41h3d4ik5d9l197lzsqim5hb5n";
   };
 
   inherit buildInputs;
@@ -21,7 +21,7 @@ rec {
 
   /* doConfigure should be specified separately */
   phaseNames = ["doConfigure" "doMakeInstall"];
-      
+
   name = "dmtx-" + version;
   meta = {
     description = "DataMatrix (2D bar code) processing tools";
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/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index dc1a8b3abaee8..5216c1999e4df 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -3,20 +3,21 @@
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "gifsicle-1.78";
+  name = "gifsicle-1.84";
 
   src = fetchurl {
-    url = http://www.lcdf.org/gifsicle/gifsicle-1.78.tar.gz;
-    sha256 = "0dzp5sg82klji4lbj1m4cyg9fb3l837gkipdx657clib97klyv53";
+    url = http://www.lcdf.org/gifsicle/gifsicle-1.84.tar.gz;
+    sha256 = "1ymk7lkk50fds6090icnjg69dswzz5zyiirq2ws23aagw3l46z86";
   };
 
   buildInputs = optional gifview [ xproto libXt libX11 ];
 
   LDFLAGS = optional static "-static";
 
-  meta = { 
+  meta = {
     description = "Command-line tool for creating, editing, and getting information about GIF images and animations";
     homepage = http://www.lcdf.org/gifsicle/;
     license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index f92c82e3d744a..b1d02149d370c 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -21,11 +21,11 @@ let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
-  name = "gnuplot-4.6.5";
+  name = "gnuplot-4.6.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "0bcsa5b33msddjs6mj0rhi81cs19h9p3ykixkkl70ifhqwqg0l75";
+    sha256 = "0x022d7psl9g6q389x5rjlfsvfciz88yrgxg4lig4ichs1pmj68z";
   };
 
   buildInputs =
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index bdde9daea9f17..9ab36b582eb91 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa }:
+{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew
+, mesa, boost, glm }:
 
-let
-  name = "logstalgia-1.0.3";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "logstalgia-${version}";
+  version = "1.0.5";
 
   src = fetchurl {
-    url = "http://logstalgia.googlecode.com/files/logstalgia-1.0.3.tar.gz";
-    sha256 = "1sv1cizyw3y7g558hnvvcal8z889gbr82v4qj35hxdmrzygqlcyk";
+    url = "https://github.com/acaudwell/Logstalgia/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0hm4fcakz05j95kb9f14qpspb31xi07paka390dz3g5k980hm9sc";
   };
 
-  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+  buildInputs = [ glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost
+                  glm ];
 
-  meta = {
-    homepage = "http://code.google.com/p/logstalgia/";
-    description = "website traffic visualization tool";
-    license = stdenv.lib.licenses.gpl3Plus;
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/logstalgia;
+    description = "Website traffic visualization tool";
+    license = licenses.gpl3Plus;
 
     longDescription = ''
       Logstalgia is a website traffic visualization that replays or
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
       a Miscellaneous section.
     '';
 
-    platforms = stdenv.lib.platforms.gnu;
-    maintainers = [];
+    platforms = platforms.gnu;
+    maintainers = with maintainers; [ pSub ];
   };
 }
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/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 2db5d36a10d86..28f6c97949b52 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.4";
+  name = "fcitx-4.2.8.5";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
-    sha256 = "1yhvqg4q0knywdrh8sljqjn1i72rd8ya0fr70pc0w7fq25013x37";
+    sha256 = "0whv7mnzig4l5v518r200psa1fp3dyl1jkr5z0q13ijzh1bnyggy";
   };
 
   patchPhase = ''
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/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 909e44d980988..ca9a9453dbfc7 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "byobu-5.68";
+  name = "byobu-5.87";
 
   src = fetchurl {
-    url = "https://launchpad.net/byobu/trunk/5.68/+download/byobu_5.68.orig.tar.gz";
-    sha256 = "1xf2m18zx3075c0qvx4fzvn5afm274j5dl0jps7p2lbaq4k1lyhm";
+    url = "https://launchpad.net/byobu/trunk/5.87/+download/byobu_5.87.orig.tar.gz";
+    sha256 = "08v9y5hxb92caf5zp83fiq0jfwi167vw1ylf42s65x1ng8rvryqh";
   };
 
   doCheck = true;
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/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 16b1858e91dfb..43be10ee74d21 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -32,13 +32,13 @@ in
 
 stdenv.mkDerivation {
 
-  name = "debootstrap-1.0.60";
+  name = "debootstrap-1.0.63";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
-    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.60.tar.xz;
-    sha256 = "0jyxfmx466fsqak00m4n6b04zsdqym81ybah7yx2l081d0518sw8";
+    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.63.tar.xz;
+    sha256 = "1maavqg3qjfrmmh76zbl3fwy1hmws93qgwqrw9vh1dffjxgngvcw";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
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 36d49ce9b2350..2ced43d29cb45 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.15";
+  name = "ethtool-3.16";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "16kgw9y4fisldf1z6zpw3v965cc8nram0dycacwkc0js4l76klw8";
+    sha256 = "11m2ghjgnbjbvxamgjkr94cw9sz1znla8rkw923svhq4m4zxvq6n";
   };
 
   meta = with stdenv.lib; {
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/kde-gtk-config/default.nix b/pkgs/tools/misc/kde-gtk-config/default.nix
index 873d2adde7f98..88df0b6b54452 100644
--- a/pkgs/tools/misc/kde-gtk-config/default.nix
+++ b/pkgs/tools/misc/kde-gtk-config/default.nix
@@ -22,7 +22,10 @@ stdenv.mkDerivation {
     pkgconfig
   ];
 
-  patches = [ ./kde-gtk-config-2.2.1-install-paths.patch ];
+  patches = [
+    ./kde-gtk-config-2.2.1-install-paths.patch
+    ./kde-gtk-config-follow-symlinks.patch
+  ];
 
   cmakeFlags = ''
     -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
diff --git a/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch
new file mode 100644
index 0000000000000..e291589e82e38
--- /dev/null
+++ b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/appearancegtk2.cpp b/src/appearancegtk2.cpp
+index 3d89c82..4dcce69 100644
+--- a/src/appearancegtk2.cpp
++++ b/src/appearancegtk2.cpp
+@@ -56,7 +56,7 @@ QString AppearanceGTK2::themesGtkrcFile(const QString& themeName) const
+     QStringList themes=installedThemes();
+     themes=themes.filter(QRegExp("/"+themeName+"/?$"));
+     if(themes.size()==1) {
+-        QDirIterator it(themes.first(), QDirIterator::Subdirectories);
++        QDirIterator it(themes.first(), QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while(it.hasNext()) {
+             it.next();
+             if(it.fileName()=="gtkrc") {
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/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/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index fe0f3d646b864..95d3b5f183f38 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -3,15 +3,15 @@
 stdenv.mkDerivation {
   name = "remind-3.1.8";
   src = fetchurl {
-    url = http://www.roaringpenguin.com/files/download/remind-03.01.08.tar.gz;
-    sha256 = "0gvizrpkbanm515bhd6mq9xxs4g4ji9pplswaj4plaqsk3yw0qjw";
+    url = http://www.roaringpenguin.com/files/download/remind-03.01.13.tar.gz;
+    sha256 = "0kzw1d53nlj90qfsibbs2gkzp1hamqqxpj57ip4kz1j1xgan69ng";
   };
 
   meta = {
     homepage = http://www.roaringpenguin.com/products/remind;
     description = "Sophisticated calendar and alarm program for the console";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
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/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/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 32f681dabebbc..823374771696a 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, libevent, pkgconfig}:
+{stdenv, fetchurl, ncurses, libevent, pkgconfig, makeWrapper}:
 
 stdenv.mkDerivation rec {
   pname = "tmux";
@@ -12,12 +12,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ ncurses libevent ];
+  buildInputs = [ ncurses libevent makeWrapper ];
 
   postInstall =
     ''
       mkdir -p $out/etc/bash_completion.d
       cp -v examples/bash_completion_tmux.sh $out/etc/bash_completion.d/tmux
+      wrapProgram $out/bin/tmux --prefix TERMINFO : $out/share/terminfo
     '';
 
   meta = {
diff --git a/pkgs/tools/misc/tty-clock/default.nix b/pkgs/tools/misc/tty-clock/default.nix
new file mode 100644
index 0000000000000..eb1a861db9282
--- /dev/null
+++ b/pkgs/tools/misc/tty-clock/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "tty-clock-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "xorg62";
+    repo = "tty-clock";
+    rev = "v0.1";
+    sha256 = "14h70ky5y9nb3mzhlshdgq5n47hg3g6msnwbqd7nnmjzrw1nmarl";
+  };
+
+  buildInputs = [ ncurses ];
+
+  preInstall = ''
+    sed -i 's@/usr/local/@$(out)/@' Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/xorg62/tty-clock;
+    license = licenses.free;
+    description = "Digital clock in ncurses";
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
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/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index cfd72098261c3..c10da6f145d39 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babeld-1.5.0";
+  name = "babeld-1.5.1";
 
   src = fetchurl {
     url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "0lpm1zras74b71y01fxndrcvfjzb1ny2hh62pjw6idaqpyrp797s";
+    sha256 = "1ch9nn2jmmpyq6c7106lzd3cfnxq4ychjx0pvwn960kssn2cgakk";
   };
 
   preBuild = ''
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix
index 34e1a3964f67b..500d78b4aec53 100644
--- a/pkgs/tools/networking/bud/default.nix
+++ b/pkgs/tools/networking/bud/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "bud-${version}";
 
-  version = "0.25.0";
+  version = "0.32.0";
 
   src = fetchgit {
     url = "https://github.com/indutny/bud.git";
-    rev = "f65b9c3531dac1a5b3c962e01f3bed1d41ab5621";
-    sha256 = "000wwc88hsf6ccz8wxjn2af6l0nxm6a2fcad71xw35ymmdp9n5xg";
+    rev = "1bfcc8c73c386f0ac12763949cd6c214058900a6";
+    sha256 = "1lfq6q026yawi0ps0gf0nl9a76qkpcc40r3v7zrj9cxzjb9fcymc";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index be107dfa81e73..c56faac690c39 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchgit, nodejs, which, python27 }:
 
 let
-  date = "20140829";
-  rev = "9595d67f9edd759054c5bd3aaee0968ff55e361a";
+  date = "20140922";
+  rev = "5ebca772b0582173127e8c1e61ee235c5ab3fb50";
 in
 stdenv.mkDerivation {
   name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "https://github.com/cjdelisle/cjdns.git";
     inherit rev;
-    sha256 = "519c549c42ae26c5359ae13a4548c44b51e36db403964b4d9f78c19b749dfb83";
+    sha256 = "04abf73f4aede12c35b70ae09a367b3d6352a63f818185f788ed13356d06197a";
   };
 
   buildInputs = [ which python27 nodejs];
@@ -18,10 +18,7 @@ stdenv.mkDerivation {
   patches = [ ./makekey.patch ];
 
   buildPhase = "bash do";
-  installPhase = ''
-    mkdir -p $out/sbin
-    cp cjdroute makekey $out/sbin
-  '';
+  installPhase = "installBin cjdroute makekey";
 
   meta = {
     homepage = https://github.com/cjdelisle/cjdns;
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 451e2954f402e..3a6249744f3dc 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.3";
+  name = "dhcpcd-6.4.7";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "175bsmif76vigzljc4rpcjs5skx171y1bl37aj0w66p8krhh3b9n";
+    sha256 = "11z14nxk91g232zk4j17b822b7lvrzaa9kaxz0n6nhvihsb8025v";
   };
 
   patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 3cfc902711ea9..4ae571f99e035 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,11 +1,11 @@
 { pkgconfig, dbus_libs, nettle, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.71";
+  name = "dnsmasq-2.72";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9";
+    sha256 = "1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx";
   };
 
   # Can't rely on make flags because of space in one of the parameters
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/2.nix
index 33d8ee2fd636a..33d8ee2fd636a 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/2.nix
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
new file mode 100644
index 0000000000000..3a9d49f8330e0
--- /dev/null
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "iperf-3.0.8";
+
+  src = fetchurl {
+    url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
+    sha256 = "81b8d91159862896c57f9b90a006e8b5dc22bd94175d97bd0db50b0ae2c1a78e";
+  };
+
+  postInstall = ''
+    ln -s iperf3 $out/bin/iperf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://software.es.net/iperf/; 
+    description = "Tool to measure IP bandwidth using UDP or TCP";
+    platforms = platforms.unix;
+    license = "as-is";
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
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/netkit/tftp/default.nix b/pkgs/tools/networking/netkit/tftp/default.nix
index 5752ff2a63c11..7288bb7e39b19 100644
--- a/pkgs/tools/networking/netkit/tftp/default.nix
+++ b/pkgs/tools/networking/netkit/tftp/default.nix
@@ -5,6 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
+      "mirror://ubuntu/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
       "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${name}.tar.gz"
       "http://ftp.cc.uoc.gr/mirrors/linux/ubuntu/packages/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
     ];
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 52554209d5959..23b45358594a0 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -6,31 +6,31 @@
 # directory.
 
 stdenv.mkDerivation rec {
-  name = "ntopng-1.2.0_r8116";
+  name = "ntopng-1.2.1";
 
   geoLiteCity = fetchurl {
     url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz";
-    sha256 = "1rv5yx5xgz04ymicx9pilidm19wh01ql2klwjcdakv558ndxdzd5";
+    sha256 = "1sqskc8nh9k46nif4i6abjil9nfl4x6na4gadzbxp0929lbzyh0f";
   };
 
   geoLiteCityV6 = fetchurl {
     url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz";
-    sha256 = "0j974qpi92wwnibq46h16vxpcz7yy8bbqc4k8kmby1yx994k33v4";
+    sha256 = "1427zljjhbixjcihinj7l79v1daii7ikcmxgkmwdp4rbr25qxlhz";
   };
 
   geoIPASNum = fetchurl {
     url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz";
-    sha256 = "1msnbls66npq001nmf1wmkrh6vyacgi8g5phfm1c34cz7vqnh683";
+    sha256 = "1rh2920sdciqn3pifl4rz0jl3m32ww4gjx495p5xd6ldpy95gn31";
   };
 
   geoIPASNumV6 = fetchurl {
     url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz";
-    sha256 = "126syia75mkxs6xfinfp70xcfq6a3rgfmh673pzzkwxya393lbdn";
+    sha256 = "1064arl40c80kwhbdylhwk6gn2xs36dr0aq3634i1rdpd4jm1a41";
   };
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ntop/ntopng/${name}.tgz";
-    sha256 = "0y7xc0l77k2qi2qalwfqiw2z361hdypirfv4k5gi652pb20jc9j6";
+    sha256 = "1db83cd1v4ivl8hxzzdvvdcgk22ji7mwrfnd5nnwll6kb11i364v";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
index ac2736ffb19e1..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.3.1";
+  version = "1.4.1";
 
   src = fetchurl {
     url    = "http://www.tarsnap.com/spiped/${name}.tgz";
-    sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a";
+    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/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 0187f2ba51672..9358b9aaa2fb5 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gmp }:
+{ stdenv, fetchurl, gmp, autoreconfHook, gettext, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "strongswan-5.2.0";
@@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1ki6v9c54ykppqnj3prgh62na97yajnvnm2zr1gjxzv05syk035h";
   };
 
-  buildInputs = [ gmp ];
+  patches = [ ./respect-path.patch ./no-hardcoded-sysconfdir.patch ];
+
+  buildInputs = [ gmp autoreconfHook gettext pkgconfig ];
+
+  configureFlags = [ "--enable-swanctl" ];
 
   meta = {
     maintainers = [ stdenv.lib.maintainers.shlevy ];
diff --git a/pkgs/tools/networking/strongswan/no-hardcoded-sysconfdir.patch b/pkgs/tools/networking/strongswan/no-hardcoded-sysconfdir.patch
new file mode 100644
index 0000000000000..b186b21a5dd90
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/no-hardcoded-sysconfdir.patch
@@ -0,0 +1,145 @@
+commit 8e2b65ebf597a4d48daa3308aa032962110ad8f6
+Author: Shea Levy <shea@shealevy.com>
+Date:   Tue Sep 30 15:14:47 2014 -0400
+
+    Allow specifying the ipsec.conf location in strongswan.conf
+
+diff --git a/conf/options/starter.opt b/conf/options/starter.opt
+index 4e6574d..6d7162a 100644
+--- a/conf/options/starter.opt
++++ b/conf/options/starter.opt
+@@ -3,3 +3,6 @@ starter.load =
+ 
+ starter.load_warning = yes
+ 	Disable charon plugin load option warning.
++
++starter.config_file = ${sysconfdir}/ipsec.conf
++	Location of the ipsec.conf conf file
+diff --git a/src/starter/starter.c b/src/starter/starter.c
+index 5c84593..1f365cc 100644
+--- a/src/starter/starter.c
++++ b/src/starter/starter.c
+@@ -488,7 +488,8 @@ int main (int argc, char **argv)
+ 	}
+ 	if (!config_file)
+ 	{
+-		config_file = CONFIG_FILE;
++		config_file = lib->settings->get_str(lib->settings, "starter.config_file",
++			CONFIG_FILE);
+ 	}
+ 
+ 	init_log("ipsec_starter");
+
+commit 8b839cec684e26ed96f3d891b3ae3565558b2cff
+Author: Shea Levy <shea@shealevy.com>
+Date:   Tue Sep 30 15:11:03 2014 -0400
+
+    Allow specifying the ipsec.secrets location in strongswan.conf
+
+diff --git a/conf/plugins/stroke.opt b/conf/plugins/stroke.opt
+index 2cfc2c6..b3ca2b7 100644
+--- a/conf/plugins/stroke.opt
++++ b/conf/plugins/stroke.opt
+@@ -11,5 +11,8 @@ charon.plugins.stroke.prevent_loglevel_changes = no
+ charon.plugins.stroke.socket = unix://${piddir}/charon.ctl
+ 	Socket provided by the stroke plugin.
+ 
++charon.plugins.stroke.secrets_file = ${sysconfdir}/ipsec.secrets
++	Location of the ipsec.secrets conf file
++
+ charon.plugins.stroke.timeout = 0
+ 	Timeout in ms for any stroke command. Use 0 to disable the timeout.
+diff --git a/src/libcharon/plugins/stroke/stroke_cred.c b/src/libcharon/plugins/stroke/stroke_cred.c
+index f908219..673e492 100644
+--- a/src/libcharon/plugins/stroke/stroke_cred.c
++++ b/src/libcharon/plugins/stroke/stroke_cred.c
+@@ -67,6 +67,7 @@ struct private_stroke_cred_t {
+ 	/**
+ 	 * credentials
+ 	 */
++	char *secrets_file;
+ 	mem_cred_t *creds;
+ 
+ 	/**
+@@ -1297,7 +1298,7 @@ METHOD(stroke_cred_t, reread, void,
+ 	if (msg->reread.flags & REREAD_SECRETS)
+ 	{
+ 		DBG1(DBG_CFG, "rereading secrets");
+-		load_secrets(this, NULL, SECRETS_FILE, 0, prompt);
++		load_secrets(this, NULL, this->secrets_file, 0, prompt);
+ 	}
+ 	if (msg->reread.flags & REREAD_CACERTS)
+ 	{
+@@ -1370,6 +1371,9 @@ stroke_cred_t *stroke_cred_create()
+ 			.cachecrl = _cachecrl,
+ 			.destroy = _destroy,
+ 		},
++		.secrets_file = lib->settings->get_str(lib->settings,
++			"%s.plugins.stroke.secrets_file", SECRETS_FILE,
++			lib->ns),
+ 		.creds = mem_cred_create(),
+ 	);
+ 
+@@ -1380,7 +1384,7 @@ stroke_cred_t *stroke_cred_create()
+ 						FALSE, lib->ns);
+ 
+ 	load_certs(this);
+-	load_secrets(this, NULL, SECRETS_FILE, 0, NULL);
++	load_secrets(this, NULL, this->secrets_file, 0, NULL);
+ 
+ 	return &this->public;
+ }
+diff --git a/src/starter/starter.c b/src/starter/starter.c
+index 71f33ae..5c84593 100644
+--- a/src/starter/starter.c
++++ b/src/starter/starter.c
+@@ -263,8 +263,11 @@ static void generate_selfcert()
+ {
+ 	struct stat stb;
+ 
++	const char *secrets_file = lib->settings->get_str(lib->settings,
++		"charon.plugins.stroke.secrets_file", SECRETS_FILE);
++
+ 	/* if ipsec.secrets file is missing then generate RSA default key pair */
+-	if (stat(SECRETS_FILE, &stb) != 0)
++	if (stat(secrets_file, &stb) != 0)
+ 	{
+ 		mode_t oldmask;
+ 		FILE *f;
+@@ -302,7 +305,7 @@ static void generate_selfcert()
+ 		/* ipsec.secrets is root readable only */
+ 		oldmask = umask(0066);
+ 
+-		f = fopen(SECRETS_FILE, "w");
++		f = fopen(secrets_file, "w");
+ 		if (f)
+ 		{
+ 			fprintf(f, "# /etc/ipsec.secrets - strongSwan IPsec secrets file\n");
+@@ -310,7 +313,7 @@ static void generate_selfcert()
+ 			fprintf(f, ": RSA myKey.der\n");
+ 			fclose(f);
+ 		}
+-		ignore_result(chown(SECRETS_FILE, uid, gid));
++		ignore_result(chown(secrets_file, uid, gid));
+ 		umask(oldmask);
+ 	}
+ }
+
+commit 5f2ca3b99b40c47a9b59c7cc75655e5dd041787e
+Author: Shea Levy <shea@shealevy.com>
+Date:   Tue Sep 30 14:31:50 2014 -0400
+
+    Allow specifying the path to strongswan.conf in the STRONGSWAN_CONF env var
+
+diff -Naur a/src/libstrongswan/library.c b/src/libstrongswan/library.c
+--- a/src/libstrongswan/library.c	2014-06-05 03:50:30.000000000 -0400
++++ b/src/libstrongswan/library.c	2014-09-30 15:25:27.927757711 -0400
+@@ -307,7 +307,7 @@
+ #ifdef STRONGSWAN_CONF
+ 	if (!settings)
+ 	{
+-		settings = STRONGSWAN_CONF;
++		settings = getenv("STRONGSWAN_CONF") ?: STRONGSWAN_CONF;
+ 	}
+ #endif
+ 	this->public.settings = settings_create(settings);
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/traceroute/default.nix b/pkgs/tools/networking/traceroute/default.nix
new file mode 100644
index 0000000000000..3300d12ebfa3c
--- /dev/null
+++ b/pkgs/tools/networking/traceroute/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "traceroute-${version}";
+  version = "2.0.20";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/traceroute/${name}.tar.gz";
+    sha256 = "0wf2xnh5hm81fdn6dbkqqqlwbn6gdvy178zkpzbjhm694navmb1g";
+  };
+
+  makeFlags = "prefix=$(out)";
+
+  preConfigure = ''
+    sed -i 's@LIBS := \(.*\) -lm \(.*\)@LIBS := \1 \2@' Make.rules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://traceroute.sourceforge.net/;
+    description = "Tracks the route taken by packets over an IP network";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.all;
+  };
+}
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 b6b88aef02256..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.3pre24d959b3b37ce285971810245643a7f18cb85fcc";
+  name = "disnix-0.3prea0484a2c19d1947c21f11b4fc7c3f6049bd11efa";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/13612993/download/4/disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc.tar.gz;
-    sha256 = "0ml8g6h7x79mvv84il9vb9b88kqak9m3yzavmar66i3dvyqr1dwb";
+    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 0190a5fd679ce..936a5b03d23d9 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/13617499/download/3/disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d.tar.gz;
-    sha256 = "1kcpzzwy9jc1zz700whnp6sc77yp3wxzr935f07jy55ddkl8mdi5";
+    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 574bf8f9ab395..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.3precf347cbd508f488f115f8961371a3cecf03fd530";
+  name = "dysnomia-0.3preccaebdfad11bc34850b24f1c2cb5ee6c8f0b7fe2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/13281061/download/1/dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530.tar.gz;
-    sha256 = "0xiqpz2c3dh4pbdprvrd7plvq3ipngqbjkwpmbhw1nw90x5rpa2d";
+    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/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 5c20c7eb72aaa..a9f87c8ccf3b2 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.8pre3782_d2d5543";
+  name = "nix-1.8pre3843_3f8576";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/13991590/download/5/${name}.tar.xz";
-    sha256 = "dcef54f49d2ea6fcb7f31ec3fdcb64ac74b2d4ca4224eaf2d00587ae1133a64c";
+    url = "http://hydra.nixos.org/build/15588665/download/4/${name}.tar.xz";
+    sha256 = "23befe1b5ecff38cc1088b98f221893f87d47e3335b381090ce13e9dd6c6eb87";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 0bd10dd66d326..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 = "0rsw0hs5swv6lwkfmj5fw3j22ah8g5gdb0hb5ikk321c6ww5dm5p";
+    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
index 3fabfd3f7212e..1e84a81e52414 100644
--- a/pkgs/tools/package-management/python2nix/default.nix
+++ b/pkgs/tools/package-management/python2nix/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchFromGitHub, pythonPackages }:
 
-
 pythonPackages.buildPythonPackage rec {
-  name = "python2nix-dev";
+  name = "python2nix-20140927";
  
-  # TODO: change to upstream once https://github.com/proger/python2nix/pull/3 is merged
   src = fetchFromGitHub {
-    owner = "iElectric";
+    owner = "proger";
     repo = "python2nix";
-    rev = "734de5f680425c6298eff46481e5e717d6e141a9";
-    sha256 = "09qpzml38rplbr7vhplhzy3iy5n9fd3ba5b9r9cp6d08sk5xidqf";
+    rev = "84e3a5bbe82e5d9d694d6db8dabf73def4ac917b";
+    sha256 = "022gr0gw6azfi3iq4ggb3fhkw2jljs6n5rncn45hb5liwakigj8i";
   };
 
   propagatedBuildInputs = with pythonPackages; [ requests pip setuptools ];
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/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 fe459b2c47629..feb16ce13c5b5 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.11";
+  version = "1.8.12";
   name = "pcsclite-${version}";
 
   src = fetchurl {
     url = "https://alioth.debian.org/frs/download.php/file/3991/pcsc-lite-${version}.tar.bz2";
-    sha256 = "945041c94c53959ae5a767616a4ec5099fe67f549bfd344e8bd0cfe7a3c71ac6";
+    sha256 = "1ihsqyiygkyhid739zcvaizyd7q9qm76lqb7lzjrm5ak9k4l2l4l";
   };
 
   # The OS should care on preparing the drivers into this location
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/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/ansible/default.nix b/pkgs/tools/system/ansible/default.nix
index b3d40712926ca..4491bf7e48414 100644
--- a/pkgs/tools/system/ansible/default.nix
+++ b/pkgs/tools/system/ansible/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pythonPackages, python }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "1.6.10";
+  version = "1.7.1";
   name = "ansible-${version}";
   namePrefix = "";
-  
+
   src = fetchurl {
-    url = "https://github.com/ansible/ansible/archive/v${version}.tar.gz";
-    sha256 = "0j133353skzb6ydrqqgfkzbkkj1zaibl1x8sgl0arnfma8qky1g1";
+    url = "http://releases.ansible.com/ansible/ansible-${version}.tar.gz";
+    sha1 = "4f4be4d45f28f52e4ab0c063efb66c7b9f482a51";
   };
 
   prePatch = ''
@@ -32,6 +32,6 @@ pythonPackages.buildPythonPackage rec {
     description = "A simple automation tool";
     license = licenses.gpl3;
     maintainers = [ maintainers.joamaki ];
-    platforms = platforms.linux; # Only tested on Linux
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index 5108174c88706..9a6e610389bba 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, bison, flex, pam, sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
 stdenv.mkDerivation {
-  name = "at-3.1.15";
+  name = "at-3.1.16";
 
   src = fetchurl {
     # Debian is apparently the last location where it can be found.
-    url = mirror://debian/pool/main/a/at/at_3.1.15.orig.tar.gz;
-    sha256 = "1z7pgglr0zmwapb4sc1bdb3z0hgig1asyzqv4gs5xafmjd94za03";
+    url = mirror://debian/pool/main/a/at/at_3.1.16.orig.tar.gz;
+    sha256 = "1hfmnhgi95vsfaa69qlakpwd22al0m0rhqms6sawxvaldafgb6nb";
   };
 
   patches = [ ./install.patch ];
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index e247c84dcf908..a164a26fbcd67 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, lzip }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.18.1";
+  name = "ddrescue-1.19";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.lz";
-    sha256 = "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq";
+    sha256 = "1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd";
   };
 
   buildInputs = [ lzip ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index 6590b1ad20912..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.7.3";
+  version = "2.9.4";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq";
+    sha256 = "1pmpmpc0wymnw8i2rxnyq3v2y7p8930b2rb8nw5w60x2vf15wlaa";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream
index 18dc096a36b67..9ea779c8cdd28 100644
--- a/pkgs/tools/system/ipmiutil/default.upstream
+++ b/pkgs/tools/system/ipmiutil/default.upstream
@@ -1,4 +1,4 @@
-url http://sourceforge.net/projects/ipmiutil/files/ipmiutil/
+url http://sourceforge.net/projects/ipmiutil/files/
 SF_version_tarball
 SF_redirect
 minimize_overwrite
diff --git a/pkgs/tools/text/dadadodo/default.nix b/pkgs/tools/text/dadadodo/default.nix
index 1485bbcd46745..b2ccc090313f8 100644
--- a/pkgs/tools/text/dadadodo/default.nix
+++ b/pkgs/tools/text/dadadodo/default.nix
@@ -1,32 +1,22 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dadadodo-${version}";
+  version = "1.04";
 
-  version = a.lib.attrByPath ["version"] "1.04" a; 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
   src = fetchurl {
-    url = "http://www.jwz.org/dadadodo/dadadodo-${version}.tar.gz";
+    url = "http://www.jwz.org/dadadodo/${name}.tar.gz";
     sha256 = "1pzwp3mim58afjrc92yx65mmgr1c834s1v6z4f4gyihwjn8bn3if";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doMake" "doDeploy"];
-  installFlags = "PREFIX=$out";
-
-  doDeploy = a.fullDepEntry (''
+  installPhase = ''
     mkdir -p $out/bin
     cp dadadodo $out/bin
-  '') [ "minInit" "doMake" "defEnsureDir"];
-      
-  name = "dadadodo-" + version;
-  meta = {
+  '';
+
+  meta = with stdenv.lib; {
     description = "Markov chain-based text generator";
+    homepage = http://www.jwz.org/dadadodo;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index 6851ca8967832..9e21bd2f8fa7f 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.6";
+  name = "dos2unix-7.0";
   
   src = fetchurl {
-    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.6.tar.gz;
-    sha256 = "0xnj4gmav1ypkgwmqldnq41b6l3cg08dyngkbygn9vrhlvlx9fwa";
+    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.0.tar.gz;
+    sha256 = "0az7nkgddnmimb88sj004klszbvkir02f4zlnij8drc6b80gw6jm";
   };
 
   configurePhase = ''
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/builder.sh b/pkgs/tools/typesetting/pdfjam/builder.sh
index 9fcb80f68668e..720ddeae78d9b 100644
--- a/pkgs/tools/typesetting/pdfjam/builder.sh
+++ b/pkgs/tools/typesetting/pdfjam/builder.sh
@@ -3,7 +3,7 @@ source $stdenv/setup
 tar zxvf $src
 
 mkdir -p $out/bin
-cp pdfjam/scripts/* $out/bin
+cp pdfjam/bin/* $out/bin
 
 mkdir -p $out/man/man1
 cp pdfjam/man1/* $out/man/man1
diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix
index 1b8d7b5e8d8d6..f8eafb221a326 100644
--- a/pkgs/tools/typesetting/pdfjam/default.nix
+++ b/pkgs/tools/typesetting/pdfjam/default.nix
@@ -1,10 +1,17 @@
-{stdenv, fetchurl}: stdenv.mkDerivation {
-  name = "pdfjam-1.20";
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "pdfjam-${version}";
+  version = "2.08";
+  url-version = stdenv.lib.replaceChars ["."] [""] version;
+
   builder = ./builder.sh;
+
   src = fetchurl {
-    url = http://www.warwick.ac.uk/go/pdfjam/pdfjam_1.20.tgz;
-    sha256 = "05g3mx7mb6h15ivbv0f53r369xphy8ad8a2xblpnk9mrnlrkaxy9";
+    url = "http://go.warwick.ac.uk/pdfjam/pdfjam_${url-version}.tgz";
+    sha256 = "1wy0xhcy27d7agby598s20ba48s4yg5qkzr6anc6q1xdryccacf7";
   };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = [ maintainers.mornfall ];
diff --git a/pkgs/tools/typesetting/tex/pgf/3.x.nix b/pkgs/tools/typesetting/tex/pgf/3.x.nix
new file mode 100644
index 0000000000000..9a03500bb9623
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/pgf/3.x.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "pgf-3.00";
+  
+  src = fetchurl {
+    url = http://downloads.sourceforge.net/project/pgf/pgf/version%203.0.0/pgf_3.0.0.tds.zip;
+    sha256 = "0kj769hyp4z2zmdv3f8xv443wcfqn5nkkbzxzqgfxjizlz81aav7";
+  };
+  
+  buildInputs = [ unzip ];
+
+  # Multiple files problem
+  unpackPhase = ''
+    mkdir pgf
+    cd pgf
+    unzip $src
+  '';
+
+  buildPhase = "true";
+  
+  installPhase = "
+    mkdir -p $out/share/texmf-nix
+    cp -prd * $out/share/texmf-nix
+  ";
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3469c43063de1..f9ed31f4ca15f 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;};
@@ -283,6 +283,16 @@ let
     vs = vs90wrapper;
   };
 
+  fetchadc = import ../build-support/fetchadc {
+    inherit curl stdenv;
+    adc_user = if config ? adc_user
+      then config.adc_user
+      else throw "You need an adc_user attribute in your config to download files from Apple Developer Connection";
+    adc_pass = if config ? adc_pass
+      then config.adc_pass
+      else throw "You need an adc_pass attribute in your config to download files from Apple Developer Connection";
+  };
+
   fetchbower = import ../build-support/fetchbower {
     inherit stdenv git;
     inherit (nodePackages) fetch-bower;
@@ -456,6 +466,8 @@ let
 
   aircrackng = callPackage ../tools/networking/aircrack-ng { };
 
+  airfield = callPackage ../tools/networking/airfield { };
+
   analog = callPackage ../tools/admin/analog {};
 
   apktool = callPackage ../development/tools/apktool {
@@ -587,16 +599,32 @@ 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;
 
   bmon = callPackage ../tools/misc/bmon { };
 
-  bochs = callPackage ../applications/virtualization/bochs { wxSupport = false; };
+  bochs = callPackage ../applications/virtualization/bochs { };
 
   boomerang = callPackage ../development/tools/boomerang { };
 
+  boost-build = callPackage ../development/tools/boost-build { };
+
   bootchart = callPackage ../tools/system/bootchart { };
 
   bro = callPackage ../applications/networking/ids/bro { };
@@ -750,7 +778,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;
@@ -880,7 +910,7 @@ let
 
   cutter = callPackage ../tools/networking/cutter { };
 
-  dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { };
+  dadadodo = callPackage ../tools/text/dadadodo { };
 
   daq = callPackage ../applications/networking/ids/daq { };
 
@@ -1207,10 +1237,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; };
@@ -1230,6 +1256,8 @@ let
 
   gource = callPackage ../applications/version-management/gource {};
 
+  gparted = callPackage ../tools/misc/gparted { };
+
   gpodder = callPackage ../applications/audio/gpodder { };
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
@@ -1238,6 +1266,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
@@ -1270,6 +1302,10 @@ let
 
   grub2_zfs = grub2.override { zfsSupport = true; };
 
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
+    inherit (gnome) libglademm;
+  };
+
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome) libsoup;
   };
@@ -1376,6 +1412,11 @@ let
 
   iftop = callPackage ../tools/networking/iftop { };
 
+  ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
+    inherit (pythonPackages) ipython;
+    inherit (haskellPackages) ihaskell ghc;
+  };
+
   imapproxy = callPackage ../tools/networking/imapproxy { };
 
   imapsync = callPackage ../tools/networking/imapsync {
@@ -1390,7 +1431,9 @@ let
 
   iodine = callPackage ../tools/networking/iodine { };
 
-  iperf = callPackage ../tools/networking/iperf { };
+  iperf2 = callPackage ../tools/networking/iperf/2.nix { };
+  iperf3 = callPackage ../tools/networking/iperf/3.nix { };
+  iperf = iperf3;
 
   ipmitool = callPackage ../tools/system/ipmitool {
     static = false;
@@ -1581,7 +1624,12 @@ let
 
   mfcuk = callPackage ../tools/security/mfcuk { };
 
-  minecraft = callPackage ../games/minecraft { };
+  mfoc = callPackage ../tools/security/mfoc { };
+
+  minecraft = callPackage ../games/minecraft {
+    pulseaudioSupport = config.pulseaudio or true;
+    pulseaudio = pulseaudio.override { ossWrapper = true; };
+  };
 
   minecraft-server = callPackage ../games/minecraft-server { };
 
@@ -1610,7 +1658,6 @@ let
   monit = callPackage ../tools/system/monit { };
 
   mosh = callPackage ../tools/networking/mosh {
-    boost = boostHeaders;
     inherit (perlPackages) IOTty;
   };
 
@@ -1737,6 +1784,8 @@ let
 
   notbit = callPackage ../applications/networking/notbit { };
 
+  notify-osd = callPackage ../applications/misc/notify-osd { };
+
   nox = callPackage ../tools/package-management/nox {
     pythonPackages = python3Packages;
     nix = nixUnstable;
@@ -2307,6 +2356,8 @@ 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 { };
@@ -2331,12 +2382,16 @@ let
 
   tpm-tools = callPackage ../tools/security/tpm-tools { };
 
+  traceroute = callPackage ../tools/networking/traceroute { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
   trousers = callPackage ../tools/security/trousers { };
 
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
+  tty-clock = callPackage ../tools/misc/tty-clock { };
+
   ttysnoop = callPackage ../os-specific/linux/ttysnoop {};
 
   twitterBootstrap = callPackage ../development/web/twitter-bootstrap {};
@@ -3060,6 +3115,8 @@ let
   };
   gcc-arm-embedded = gcc-arm-embedded-4_8;
 
+  gforth = callPackage ../development/compilers/gforth {};
+
   # Haskell and GHC
 
   # Import Haskell infrastructure.
@@ -3106,9 +3163,7 @@ 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 {};
 
@@ -3305,22 +3360,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 { };
 
@@ -3364,6 +3436,10 @@ let
 
     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;
     };
@@ -3378,6 +3454,9 @@ let
 
     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;
     };
@@ -3392,6 +3471,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 { };
@@ -3450,22 +3531,32 @@ let
       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;
     };
 
-    pycaml = callPackage ../development/ocaml-modules/pycaml { };
+    pprint = callPackage ../development/ocaml-modules/pprint { };
 
-    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;
+    pycaml = callPackage ../development/ocaml-modules/pycaml { };
 
     sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
 
@@ -3491,17 +3582,26 @@ let
   };
 
   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 {
@@ -3676,6 +3776,8 @@ let
   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 { };
@@ -3686,20 +3788,23 @@ let
   lua5 = lua5_2_compat;
   lua = lua5;
 
-  lua5_1_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {
-    lua5 = lua5_1; # version 2.* only works with 5.1
-  };
+  lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; });
+
+  lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; });
+
+  luaPackages = lua52Packages;
+
+  lua5_1_sockets = lua51Packages.luasocket;
+
   lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {};
-  lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {};
-  lua51_filesystem = lua5_filesystem.override { lua5=lua5_1; };
   lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { };
 
-  luarocks = callPackage ../development/tools/misc/luarocks {
-     lua = lua5;
-  };
-
   luajit = callPackage ../development/interpreters/luajit {};
 
+  luarocks = luaPackages.luarocks;
+
+  ### END OF LUA
+
   lush2 = callPackage ../development/interpreters/lush {};
 
   maude = callPackage ../development/interpreters/maude {
@@ -3714,6 +3819,10 @@ let
     pythonProtobuf = pythonPackages.protobuf;
   };
 
+  nix-exec = callPackage ../development/interpreters/nix-exec {
+    nix = nixUnstable;
+  };
+
   octave = callPackage ../development/interpreters/octave {
     fltk = fltk13;
     qt = null;
@@ -3792,7 +3901,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 = [];
@@ -3949,6 +4058,7 @@ let
   guile-xcb = callPackage ../development/guile-modules/guile-xcb { };
 
   pharo-vm = callPackage_i686 ../development/pharo/vm { };
+  pharo-launcher = callPackage ../development/pharo/launcher { };
 
   srecord = callPackage ../development/tools/misc/srecord { };
 
@@ -4038,6 +4148,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 { };
@@ -4259,10 +4371,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 { };
@@ -4491,6 +4611,8 @@ let
     bdbSupport = true;
   };
 
+  assimp = callPackage ../development/libraries/assimp { };
+
   asio = callPackage ../development/libraries/asio { };
 
   aspell = callPackage ../development/libraries/aspell { };
@@ -4532,10 +4654,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 { };
 
@@ -4639,9 +4760,7 @@ let
 
   cppunit = callPackage ../development/libraries/cppunit { };
 
-  cppnetlib = callPackage ../development/libraries/cppnetlib {
-    boost = boostHeaders;
-  };
+  cppnetlib = callPackage ../development/libraries/cppnetlib { };
 
   cracklib = callPackage ../development/libraries/cracklib { };
 
@@ -4755,6 +4874,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;
@@ -4989,6 +5110,8 @@ let
 
   qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {};
 
+  qt_gstreamer1 = callPackage ../development/libraries/gstreamer/qt-gstreamer {};
+
   gnet = callPackage ../development/libraries/gnet { };
 
   gnu-efi = callPackage ../development/libraries/gnu-efi { };
@@ -5156,6 +5279,8 @@ let
 
   indilib = callPackage ../development/libraries/indilib { };
 
+  indilib_0_9_9 = callPackage ../development/libraries/indilib/0_9_9.nix { };
+
   iniparser = callPackage ../development/libraries/iniparser { };
 
   intltool = callPackage ../development/tools/misc/intltool { };
@@ -5204,6 +5329,8 @@ let
 
   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
 
+  LASzip = callPackage ../development/libraries/LASzip { };
+
   lcms = lcms1;
 
   lcms1 = callPackage ../development/libraries/lcms { };
@@ -5283,7 +5410,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 { };
 
@@ -5356,6 +5483,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 { };
 
@@ -5376,6 +5506,8 @@ let
 
   libgtop = callPackage ../development/libraries/libgtop {};
 
+  libLAS = callPackage ../development/libraries/libLAS { };
+
   liblo = callPackage ../development/libraries/liblo { };
 
   liblrdf = librdf;
@@ -5749,8 +5881,10 @@ let
 
   libupnp = callPackage ../development/libraries/pupnp { };
 
-  giflib = callPackage ../development/libraries/giflib { };
+  giflib = giflib_5_0;
   giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
+  giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { };
+  giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { };
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
 
@@ -5843,7 +5977,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 {};
 
@@ -6690,6 +6823,12 @@ let
     inherit writeScriptBin;
   };
 
+  agdaBase = callPackage ../development/libraries/agda/agda-base {};
+
+  agdaIowaStdlib = callPackage ../development/libraries/agda/agda-iowa-stdlib {};
+
+  agdaPrelude = callPackage ../development/libraries/agda/agda-prelude {};
+
   AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {
     inherit (haskellPackages) ghc filemanip;
   };
@@ -6700,13 +6839,27 @@ let
 
   categories = callPackage ../development/libraries/agda/categories {};
 
+  pretty = callPackage ../development/libraries/agda/pretty {};
+
+  TotalParserCombinators = callPackage ../development/libraries/agda/TotalParserCombinators {};
+
   ### DEVELOPMENT / LIBRARIES / JAVA
 
   atermjava = callPackage ../development/libraries/java/aterm {
     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 { };
 
@@ -6716,12 +6869,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 { };
@@ -6815,7 +6962,6 @@ let
 
   planetary_annihilation = callPackage ../games/planetaryannihilation { };
 
-
   ### DEVELOPMENT / PYTHON MODULES
 
   # python function with default python interpreter
@@ -6966,6 +7112,12 @@ let
     sslSupport = true;
   });
 
+  cassandra = callPackage ../servers/nosql/cassandra { };
+
+  apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix {
+    java = icedtea7_jdk;
+  };
+
   apcupsd = callPackage ../servers/apcupsd { };
 
   sabnzbd = callPackage ../servers/sabnzbd { };
@@ -7139,7 +7291,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 { };
 
@@ -7411,7 +7565,9 @@ let
 
   cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
 
-  darwin = rec {
+  darwin = let
+    cmdline = (callPackage ../os-specific/darwin/command-line-tools {}).pure { inherit xpwn; };
+  in rec {
     cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port {
       cross = assert crossSystem != null; crossSystem;
       inherit maloader;
@@ -7425,6 +7581,14 @@ let
     opencflite = callPackage ../os-specific/darwin/opencflite {};
 
     xcode = callPackage ../os-specific/darwin/xcode {};
+
+    osx_sdk = callPackage ../os-specific/darwin/osx-sdk {};
+    osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; };
+
+    security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; };
+
+    cmdline_sdk   = cmdline.sdk;
+    cmdline_tools = cmdline.tools;
   };
 
   devicemapper = lvm2;
@@ -7649,6 +7813,15 @@ let
       ];
   };
 
+  linux_3_17 = makeOverridable (import ../os-specific/linux/kernel/linux-3.17.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
   linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) {
     inherit fetchurl stdenv perl buildLinux;
     kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
@@ -7758,6 +7931,8 @@ let
 
     psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { };
 
+    seturgent = callPackage ../os-specific/linux/seturgent { };
+
     spl = callPackage ../os-specific/linux/spl { };
     spl_git = callPackage ../os-specific/linux/spl/git.nix { };
 
@@ -7784,8 +7959,8 @@ let
   linuxPackages = linuxPackages_3_12;
 
   # Update this when adding the newest kernel major version!
-  linux_latest = pkgs.linux_3_16;
-  linuxPackages_latest = pkgs.linuxPackages_3_16;
+  linux_latest = pkgs.linux_3_17;
+  linuxPackages_latest = pkgs.linuxPackages_3_17;
 
   # Build the kernel modules for the some of the kernels.
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
@@ -7797,6 +7972,7 @@ let
   linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14);
   linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15);
   linuxPackages_3_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_16 linuxPackages_3_16);
+  linuxPackages_3_17 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_17 linuxPackages_3_17);
   linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing);
 
   # grsecurity flavors
@@ -8406,6 +8582,12 @@ 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 { };
@@ -8481,6 +8663,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) {
@@ -8570,6 +8754,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 {
@@ -8622,6 +8810,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 "";
       };
@@ -8634,6 +8823,10 @@ let
 
   dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
 
+  deadbeef = callPackage ../applications/audio/deadbeef {
+    pulseSupport = config.pulseaudio or true;
+  };
+
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
@@ -8853,6 +9046,8 @@ let
     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);
@@ -8905,6 +9100,8 @@ let
 
   fossil = callPackage ../applications/version-management/fossil { };
 
+  freewheeling = callPackage ../applications/audio/freewheeling { };
+
   fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { };
 
   fvwm = callPackage ../applications/window-managers/fvwm { };
@@ -8959,7 +9156,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 { };
 
@@ -9088,8 +9291,7 @@ 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 { };
 
@@ -9325,6 +9527,7 @@ let
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
+    boost = boost149;
   };
 
   keepnote = callPackage ../applications/office/keepnote {
@@ -9335,6 +9538,10 @@ let
 
   keymon = callPackage ../applications/video/key-mon { };
 
+  kid3 = callPackage ../applications/audio/kid3 {
+    qt = qt4;
+  };
+
   kino = callPackage ../applications/video/kino {
     inherit (gnome) libglade;
   };
@@ -9375,7 +9582,6 @@ let
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
     zip = zip.override { enableNLS = false; };
-    boost = boost155;
     jdk = openjdk;
     fontsConf = makeFontsConf {
       fontDirectories = [
@@ -9510,8 +9716,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;
   };
 
@@ -9578,6 +9784,10 @@ let
 
   mrxvt = callPackage ../applications/misc/mrxvt { };
 
+  mudlet = callPackage ../games/mudlet {
+    inherit (lua51Packages) luafilesystem lrexlib luazip luasqlite3;
+  };
+
   multisync = callPackage ../applications/misc/multisync {
     inherit (gnome) ORBit2 libbonobo libgnomeui GConf;
   };
@@ -9740,6 +9950,10 @@ let
 
   panotools = callPackage ../applications/graphics/panotools { };
 
+  paprefs = callPackage ../applications/audio/paprefs {
+    inherit (gnome) libglademm gconfmm;
+  };
+
   pavucontrol = callPackage ../applications/audio/pavucontrol { };
 
   paraview = callPackage ../applications/graphics/paraview { };
@@ -9830,6 +10044,8 @@ let
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
+  qtox = callPackage ../applications/networking/instant-messengers/qtox { };
+
   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
 
   qtractor = callPackage ../applications/audio/qtractor { };
@@ -9979,10 +10195,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 { };
@@ -10098,6 +10321,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 { };
@@ -10149,6 +10377,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 { };
@@ -10174,7 +10404,7 @@ let
     webkit = webkitgtk2;
   };
 
-  uTox = callPackage ../applications/networking/instant-messengers/utox { };
+  utox = callPackage ../applications/networking/instant-messengers/utox { };
 
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
@@ -10257,7 +10487,9 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc { };
+  vlc = callPackage ../applications/video/vlc {
+    ffmpeg = ffmpeg_2_3;
+  };
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -10319,45 +10551,66 @@ 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;
+  retroArchCores =
+    let
+      cfg = config.retroarch or {};
+      inherit (lib) optional;
+    in with libretro;
       ([ ]
-      ++ lib.optional (cfg.enable4do or false) _4do
-      ++ lib.optional (cfg.enableDesmume or false) desmume
-      ++ lib.optional (cfg.enableFceumm or false) fceumm
-      ++ lib.optional (cfg.enableMupen64Plus or false) mupen64plus
-      ++ lib.optional (cfg.enablePicodrive or false) picodrive
-      ++ lib.optional (cfg.enablePPSSPP or false) ppsspp
-      ++ lib.optional (cfg.enableScummVM or false) scummvm
-      ++ lib.optional (cfg.enableSnes9xNext or false) snes9x-next
-      ++ lib.optional (cfg.enableStella or false) stella
-      ++ lib.optional (cfg.enableVbaNext or false) vba-next
+      ++ optional (cfg.enable4do or false) _4do
+      ++ optional (cfg.enableBsnesMercury or false) bsnes-mercury
+      ++ optional (cfg.enableDesmume or false) desmume
+      ++ optional (cfg.enableFBA or false) fba
+      ++ optional (cfg.enableFceumm or false) fceumm
+      ++ optional (cfg.enableGambatte or false) gambatte
+      ++ optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx
+      ++ optional (cfg.enableMupen64Plus or false) mupen64plus
+      ++ optional (cfg.enablePicodrive or false) picodrive
+      ++ optional (cfg.enablePrboom or false) prboom
+      ++ optional (cfg.enablePPSSPP or false) ppsspp
+      ++ optional (cfg.enableScummVM or false) scummvm
+      ++ optional (cfg.enableSnes9xNext or false) snes9x-next
+      ++ optional (cfg.enableStella or false) stella
+      ++ optional (cfg.enableVbaNext or false) vba-next
+      );
+
+  wrapRetroArch = { retroarch }: import ../misc/emulators/retroarch/wrapper.nix {
+    inherit stdenv lib makeWrapper retroarch;
+    cores = retroArchCores;
+  };
+
+  wrapXBMC = { xbmc }: import ../applications/video/xbmc/wrapper.nix {
+    inherit stdenv lib makeWrapper xbmc;
+    plugins = let inherit (lib) optional; in with xbmcPlugins;
+      ([]
+      ++ optional (config.xbmc.enableAdvancedLauncher or false) advanced-launcher
+      ++ optional (config.xbmc.enableSVTPlay or false) svtplay
       );
   };
 
@@ -10386,10 +10639,23 @@ let
 
   xbindkeys = callPackage ../tools/X11/xbindkeys { };
 
-  xbmc = callPackage ../applications/video/xbmc {
+  xbmcPlain = callPackage ../applications/video/xbmc {
     ffmpeg = ffmpeg_1;
   };
 
+  xbmcPlugins = recurseIntoAttrs (callPackage ../applications/video/xbmc/plugins.nix {
+    xbmc = xbmcPlain;
+  });
+
+  xbmc = wrapXBMC {
+    xbmc = xbmcPlain;
+  };
+
+  xbmc-retroarch-advanced-launchers =
+    callPackage ../misc/emulators/retroarch/xbmc-advanced-launchers.nix {
+      cores = retroArchCores;
+    };
+
   xca = callPackage ../applications/misc/xca { };
 
   xcalib = callPackage ../tools/X11/xcalib { };
@@ -10470,6 +10736,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 { };
@@ -10490,7 +10761,7 @@ let
 
   inherit (gnome3) yelp;
 
-  qgis = callPackage ../applications/misc/qgis {};
+  qgis = callPackage ../applications/gis/qgis {};
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
 
@@ -10651,12 +10922,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 { };
@@ -10740,6 +11005,8 @@ let
 
   rogue = callPackage ../games/rogue { };
 
+  saga = callPackage ../applications/gis/saga { };
+
   samplv1 = callPackage ../applications/audio/samplv1 { };
 
   sauerbraten = callPackage ../games/sauerbraten {};
@@ -10790,7 +11057,7 @@ let
 
   tennix = callPackage ../games/tennix { };
 
-  tibia = callPackage ../games/tibia { };
+  tibia = callPackage_i686 ../games/tibia { };
 
   tintin = callPackage ../games/tintin { };
 
@@ -10830,6 +11097,8 @@ let
 
   urbanterror = callPackage ../games/urbanterror { };
 
+  ue4demos = recurseIntoAttrs (callPackage ../games/ue4demos { });
+
   ut2004demo = callPackage ../games/ut2004demo { };
 
   vdrift = callPackage ../games/vdrift { };
@@ -10945,7 +11214,7 @@ let
 
   kde4 = recurseIntoAttrs pkgs.kde412;
 
-  kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 );
+  kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde414 );
 
   kde412 = kdePackagesFor (pkgs.kde412 // {
       eigen = eigen2;
@@ -10953,6 +11222,11 @@ let
       libcanberra = libcanberra_kde;
     }) ../desktops/kde-4.12;
 
+  kde414 = kdePackagesFor (pkgs.kde414 // {
+      libusb = libusb1;
+      libcanberra = libcanberra_kde;
+    }) ../desktops/kde-4.14;
+
   kdePackagesFor = self: dir:
     let callPackageOrig = callPackage; in
     let
@@ -11242,8 +11516,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 {
@@ -11252,10 +11526,23 @@ 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;
+  };
+
+  mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
+
+    containers = callPackage ../development/coq-modules/containers {};
+
+    mathcomp = callPackage ../development/coq-modules/mathcomp {};
+
+    ssreflect = callPackage ../development/coq-modules/ssreflect {};
+
   };
 
+  coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages);
+
   cvc3 = callPackage ../applications/science/logic/cvc3 {};
 
   ekrhyper = callPackage ../applications/science/logic/ekrhyper {};
@@ -11280,6 +11567,7 @@ let
   isabelle = import ../applications/science/logic/isabelle {
     inherit (pkgs) stdenv fetchurl nettools perl polyml;
     inherit (pkgs.emacs24Packages) proofgeneral;
+    java = if stdenv.isLinux then jre else jdk;
   };
 
   iprover = callPackage ../applications/science/logic/iprover {};
@@ -11294,7 +11582,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 {
@@ -11315,8 +11603,8 @@ let
   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 { };
@@ -11325,10 +11613,6 @@ let
 
   spass = callPackage ../applications/science/logic/spass {};
 
-  ssreflect = callPackage ../applications/science/logic/ssreflect {
-    camlp5 = ocamlPackages.camlp5_transitional;
-  };
-
   tptp = callPackage ../applications/science/logic/tptp {};
 
   twelf = callPackage ../applications/science/logic/twelf {
@@ -11388,6 +11672,8 @@ let
 
   pari = callPackage ../applications/science/math/pari {};
 
+  pcalc = callPackage ../applications/science/math/pcalc { };
+
   pspp = callPackage ../applications/science/math/pssp {
     inherit (gnome) libglade gtksourceview;
   };
@@ -11452,6 +11738,40 @@ let
 
   xplanet = callPackage ../applications/science/astronomy/xplanet { };
 
+  ### SCIENCE / PHYSICS
+
+  geant4 = callPackage ../development/libraries/physics/geant4 {
+    enableMultiThreading = true; 
+    enableG3toG4         = false;
+    enableInventor       = false;
+    enableGDML           = false;
+    enableQT             = false;
+    enableXM             = false;
+    enableOpenGLX11      = true; 
+    enableRaytracerX11   = false;
+
+    # Optional system packages, otherwise internal GEANT4 packages are used. 
+    clhep = null; 
+    expat = expat;
+    zlib  = null; 
+
+    # For enableGDML.
+    xercesc = null; 
+
+    # For enableQT.
+    qt = null; # qt4SDK or qt5SDK
+
+    # For enableXM.
+    motif = null; # motif or lesstif
+
+    # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
+    mesa = mesa;
+    x11  = x11;
+    inherit (xlibs) libXmu;
+  };
+
+  g4py = callPackage ../development/libraries/physics/geant4/g4py { };
+
   ### MISC
 
   atari800 = callPackage ../misc/emulators/atari800 { };
@@ -11545,9 +11865,6 @@ let
 
   martyr = callPackage ../development/libraries/martyr { };
 
-  maven = maven3;
-  maven3 = callPackage ../misc/maven { jdk = openjdk; };
-
   mess = callPackage ../misc/emulators/mess {
     inherit (pkgs.gnome) GConf;
   };
@@ -11621,6 +11938,8 @@ let
 
   pgf2 = callPackage ../tools/typesetting/tex/pgf/2.x.nix { };
 
+  pgf3 = callPackage ../tools/typesetting/tex/pgf/3.x.nix { };
+
   pgfplots = callPackage ../tools/typesetting/tex/pgfplots { };
 
   phabricator = callPackage ../misc/phabricator { };
@@ -11680,6 +11999,8 @@ let
 
   slock = callPackage ../misc/screensavers/slock { };
 
+  soundOfSorting = callPackage ../misc/sound-of-sorting { };
+
   sourceAndTags = import ../misc/source-and-tags {
     inherit pkgs stdenv unzip lib ctags;
     hasktags = haskellPackages.hasktags;
@@ -11872,7 +12193,10 @@ let
 
   snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
 
-  higan = callPackage ../misc/emulators/higan { };
+  higan = callPackage ../misc/emulators/higan {
+    profile = config.higan.profile or "performance";
+    guiToolkit = config.higan.guiToolkit or "gtk";
+  };
 
   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 083d40384b6c2..6e49451e6f693 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -273,6 +273,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bktrees = callPackage ../development/libraries/haskell/bktrees {};
 
+  blankCanvas = callPackage ../development/libraries/haskell/blank-canvas {};
+
   blazeBuilder = callPackage ../development/libraries/haskell/blaze-builder {};
 
   blazeBuilderConduit = callPackage ../development/libraries/haskell/blaze-builder-conduit {};
@@ -293,9 +295,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {};
 
-  bmp = callPackage ../development/libraries/haskell/bmp {
-    binary = self.binary_0_7_2_1;
-  };
+  bmp = callPackage ../development/libraries/haskell/bmp {};
 
   Boolean = callPackage ../development/libraries/haskell/Boolean {};
 
@@ -467,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 {};
@@ -639,6 +641,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix {};
   diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {};
   diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {};
+  diagramsGtk = callPackage ../development/libraries/haskell/diagrams/gtk.nix {};
   diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {};
   diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {};
   diagramsRasterific = callPackage ../development/libraries/haskell/diagrams/rasterific.nix {};
@@ -908,14 +911,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   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_2 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.2.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 {};
 
   ghcPaths = callPackage ../development/libraries/haskell/ghc-paths {};
 
+  ghcParser = callPackage ../development/libraries/haskell/ghc-parser {};
+
   ghcSyb = callPackage ../development/libraries/haskell/ghc-syb {};
 
   ghcSybUtils = callPackage ../development/libraries/haskell/ghc-syb-utils {};
@@ -1022,6 +1025,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {};
 
+  graphmod = callPackage ../development/tools/haskell/graphmod {};
+
   graphviz = callPackage ../development/libraries/haskell/graphviz {};
 
   graphSCC = callPackage ../development/libraries/haskell/graphscc {};
@@ -1107,6 +1112,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   heredoc = callPackage ../development/libraries/haskell/heredoc {};
 
+  here = callPackage ../development/libraries/haskell/here {};
+
   hexpat = callPackage ../development/libraries/haskell/hexpat {};
 
   hex = callPackage ../development/libraries/haskell/hex {};
@@ -1349,6 +1356,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
+  ihaskell = callPackage ../development/tools/haskell/ihaskell {};
+
   imm = callPackage ../development/libraries/haskell/imm {};
 
   implicit = callPackage ../development/libraries/haskell/implicit {
@@ -1428,8 +1437,12 @@ 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 {};
 
+  kansasComet = callPackage ../development/libraries/haskell/kansas-comet {};
+
   kansasLava = callPackage ../development/libraries/haskell/kansas-lava {};
 
   keys = callPackage ../development/libraries/haskell/keys {};
@@ -1446,7 +1459,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 {};
 
@@ -1490,7 +1505,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 {};
 
@@ -1576,6 +1595,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 {};
@@ -2205,8 +2226,6 @@ 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 {};
 
   shellmate = callPackage ../development/libraries/haskell/shellmate {};
@@ -2215,6 +2234,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 {};
@@ -2341,6 +2362,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 {};
@@ -2419,6 +2444,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   symbol = callPackage ../development/libraries/haskell/symbol {};
 
+  systemArgv0 = callPackage ../development/libraries/haskell/system-argv0 {};
+
   systemFilepath = callPackage ../development/libraries/haskell/system-filepath {};
 
   systemFileio = callPackage ../development/libraries/haskell/system-fileio {};
@@ -2457,6 +2484,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 {};
@@ -2711,8 +2740,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_3 = callPackage ../development/libraries/haskell/vty/5.2.3.nix {};
+  vty = self.vty_5_2_3;
 
   vtyUi = callPackage ../development/libraries/haskell/vty-ui {
     vty = self.vty_4_7_5;
@@ -2754,10 +2783,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 {};
 
@@ -3018,15 +3044,14 @@ 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 {
-    optparseApplicative = self.optparseApplicative_0_9_1_1;
-  };
+  sloane = callPackage ../applications/science/math/sloane {};
 
   taffybar = callPackage ../applications/misc/taffybar {};
 
@@ -3038,7 +3063,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 {};
 
@@ -3097,6 +3124,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 {};
@@ -3111,7 +3140,14 @@ 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; }; };
+    dbus = if pkgs.stdenv.isLinux then self.dbus else null;
+    fdoNotify = if pkgs.stdenv.isLinux then self.fdoNotify else null;
+    hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
+  };
 
   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..8a44a997c0715
--- /dev/null
+++ b/pkgs/top-level/lua-packages.nix
@@ -0,0 +1,145 @@
+/* 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, unzip, zziplib,
+pcre, oniguruma, gnulib, tre, glibc,
+sqlite }:
+
+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;
+
+  luarocks = callPackage ../development/tools/misc/luarocks {
+    inherit lua;
+  };
+
+  luafilesystem = 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 ];
+    };
+  };
+
+  luasocket = buildLuaPackage rec {
+    name = "socket-${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 ];
+    };
+  };
+
+  luazip = buildLuaPackage rec {
+    name = "zip-${version}";
+    version = "1.2.3";
+    src = fetchurl {
+      url = "https://github.com/luaforge/luazip/archive/0b8f5c958e170b1b49f05bc267bc0351ad4dfc44.zip";
+      sha256 = "beb9260d606fdd5304aa958d95f0d3c20be7ca0a2cff44e7b75281c138a76a50";
+    };
+    buildInputs = [ unzip zziplib ];
+    patches = [ ../development/lua-modules/zip.patch ];
+    # does not currently work under lua 5.2
+    disabled = isLua52;
+    meta = {
+      homepage = "https://github.com/luaforge/luazip";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luastdlib = buildLuaPackage {
+    name = "stdlib";
+    src = fetchurl {
+      url = "https://github.com/lua-stdlib/lua-stdlib/archive/release.zip";
+      sha256 = "1v3158g5050sdqfrqi6d2bjh0lmi1v01a6m2nwqpr527a2dqcf0c";
+    };
+    buildInputs = [ unzip ];
+    meta = {
+      homepage = "https://github.com/lua-stdlib/lua-stdlib/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  lrexlib = buildLuaPackage rec {
+    name = "lrexlib-${version}";
+    version = "2.7.2";
+    src = fetchurl {
+      url = "https://github.com/rrthomas/lrexlib/archive/150c251be57c4e569da0f48bf6b01fbca97179fe.zip";
+      sha256 = "0i5brqbykc2nalp8snlq1r0wmf8y2wqp6drzr2xmq5phvj8913xh";
+    };
+    buildInputs = [ unzip luastdlib pcre luarocks oniguruma gnulib tre glibc ];
+
+    buildPhase = let
+      luaVariable = "LUA_PATH=${luastdlib}/share/lua/${lua.luaversion}/?.lua";
+
+      pcreVariable = "PCRE_DIR=${pcre}";
+      onigVariable = "ONIG_DIR=${oniguruma}";
+      gnuVariable = "GNU_INCDIR=${gnulib}/lib";
+      treVariable = "TRE_DIR=${tre}";
+      posixVariable = "POSIX_DIR=${glibc}";
+    in ''
+      sed -e 's@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i;@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i ${pcreVariable} ${onigVariable} ${gnuVariable} ${treVariable} ${posixVariable};@' \
+          -i Makefile
+      ${luaVariable} make
+    '';
+
+    installPhase = ''
+      mkdir -pv $out;
+      cp -r luarocks/lib $out;
+    '';
+
+    meta = {
+      homepage = "https://github.com/lua-stdlib/lua-stdlib/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luasqlite3 = buildLuaPackage rec {
+    name = "sqlite3-${version}";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://github.com/LuaDist/luasql-sqlite3/archive/2acdb6cb256e63e5b5a0ddd72c4639d8c0feb52d.zip";
+      sha256 = "1yy1n1l1801j48rlf3bhxpxqfgx46ixrs8jxhhbf7x1hn1j4axlv";
+    };
+
+    buildInputs = [ unzip sqlite ];
+
+    patches = [ ../development/lua-modules/luasql.patch ];
+
+    meta = {
+      homepage = "https://github.com/LuaDist/luasql-sqlite3";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+}; in self
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index c1b0eafcb7d1e..a709eb65419a4 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -37,7 +37,7 @@
       (self.nativeDeps."JSONStream" or []);
     deps = {
       "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
-      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
     };
     peerDependencies = [
     ];
@@ -59,7 +59,7 @@
       (self.nativeDeps."JSONStream" or []);
     deps = {
       "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
-      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
     };
     peerDependencies = [
     ];
@@ -109,6 +109,8 @@
   };
   by-spec."abbrev"."1.0.x" =
     self.by-version."abbrev"."1.0.5";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.5";
   by-spec."abbrev"."~1.0.5" =
     self.by-version."abbrev"."1.0.5";
   by-spec."accepts"."1.0.0" =
@@ -156,22 +158,22 @@
     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";
+    self.by-version."accepts"."1.1.1";
+  by-version."accepts"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "accepts-1.1.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz";
-        name = "accepts-1.1.0.tgz";
-        sha1 = "43ba6d946374c80f91823eaec6bb43dc4955500b";
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.1.tgz";
+        name = "accepts-1.1.1.tgz";
+        sha1 = "3b40bf6abc3fe3bc004534f4672ae1efd0063a96";
       })
     ];
     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";
+      "mime-types-2.0.2" = self.by-version."mime-types"."2.0.2";
+      "negotiator-0.4.8" = self.by-version."negotiator"."0.4.8";
     };
     peerDependencies = [
     ];
@@ -218,27 +220,7 @@
     ];
     passthru.names = [ "addressparser" ];
   };
-  by-spec."adm-zip"."0.2.1" =
-    self.by-version."adm-zip"."0.2.1";
-  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "adm-zip-0.2.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
-        name = "adm-zip-0.2.1.tgz";
-        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."adm-zip" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "adm-zip" ];
-  };
-  by-spec."adm-zip"."~0.4.3" =
+  by-spec."adm-zip"."0.4.4" =
     self.by-version."adm-zip"."0.4.4";
   by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.4.4";
@@ -258,6 +240,8 @@
     ];
     passthru.names = [ "adm-zip" ];
   };
+  by-spec."adm-zip"."~0.4.3" =
+    self.by-version."adm-zip"."0.4.4";
   by-spec."almond"."*" =
     self.by-version."almond"."0.3.0";
   by-version."almond"."0.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -322,6 +306,26 @@
     ];
     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 = "ansi-regex-0.1.0";
+    bin = false;
+    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 {
@@ -486,8 +490,8 @@
       "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";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
+      "tar-stream-0.4.7" = self.by-version."tar-stream"."0.4.7";
       "zip-stream-0.4.1" = self.by-version."zip-stream"."0.4.1";
     };
     peerDependencies = [
@@ -514,6 +518,8 @@
     ];
     passthru.names = [ "archy" ];
   };
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
   by-spec."archy"."^0.0.2" =
     self.by-version."archy"."0.0.2";
   by-spec."argparse"."0.1.15" =
@@ -540,6 +546,66 @@
   };
   by-spec."argparse"."~ 0.1.11" =
     self.by-version."argparse"."0.1.15";
+  by-spec."array-filter"."~0.0.0" =
+    self.by-version."array-filter"."0.0.1";
+  by-version."array-filter"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "array-filter-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+        name = "array-filter-0.0.1.tgz";
+        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-filter" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-filter" ];
+  };
+  by-spec."array-map"."~0.0.0" =
+    self.by-version."array-map"."0.0.0";
+  by-version."array-map"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "array-map-0.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+        name = "array-map-0.0.0.tgz";
+        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-map" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-map" ];
+  };
+  by-spec."array-reduce"."~0.0.0" =
+    self.by-version."array-reduce"."0.0.0";
+  by-version."array-reduce"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "array-reduce-0.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+        name = "array-reduce-0.0.0.tgz";
+        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."array-reduce" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "array-reduce" ];
+  };
   by-spec."asap"."^1.0.0" =
     self.by-version."asap"."1.0.0";
   by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -792,6 +858,8 @@
     self.by-version."async"."0.9.0";
   by-spec."async"."^0.2.10" =
     self.by-version."async"."0.2.10";
+  by-spec."async"."^0.9.0" =
+    self.by-version."async"."0.9.0";
   by-spec."async"."~0.1.22" =
     self.by-version."async"."0.1.22";
   by-spec."async"."~0.2.0" =
@@ -800,6 +868,8 @@
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.7" =
     self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.9" =
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.7.0" =
@@ -859,28 +929,28 @@
     buildInputs =
       (self.nativeDeps."async-some" or []);
     deps = {
-      "dezalgo-1.0.0" = self.by-version."dezalgo"."1.0.0";
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "async-some" ];
   };
   by-spec."aws-sdk"."*" =
-    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";
+    self.by-version."aws-sdk"."2.0.18";
+  by-version."aws-sdk"."2.0.18" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.18";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.15.tgz";
-        name = "aws-sdk-2.0.15.tgz";
-        sha1 = "2448f90ed553ab9eba130e4e256b6797386293b2";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.18.tgz";
+        name = "aws-sdk-2.0.18.tgz";
+        sha1 = "aea83ffff08de9dd167f785d04b463025078c790";
       })
     ];
     buildInputs =
       (self.nativeDeps."aws-sdk" or []);
     deps = {
-      "aws-sdk-apis-3.1.7" = self.by-version."aws-sdk-apis"."3.1.7";
+      "aws-sdk-apis-3.1.9" = self.by-version."aws-sdk-apis"."3.1.9";
       "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
       "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
     };
@@ -888,7 +958,7 @@
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.by-version."aws-sdk"."2.0.15";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.18";
   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 {
@@ -912,15 +982,15 @@
     passthru.names = [ "aws-sdk" ];
   };
   by-spec."aws-sdk-apis".">=3.1.0 <4.0.0" =
-    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";
+    self.by-version."aws-sdk-apis"."3.1.9";
+  by-version."aws-sdk-apis"."3.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-apis-3.1.9";
     bin = false;
     src = [
       (fetchurl {
-        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";
+        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.9.tgz";
+        name = "aws-sdk-apis-3.1.9.tgz";
+        sha1 = "abd017548bb9eab0472d3c729d512aba3fc16a67";
       })
     ];
     buildInputs =
@@ -1053,7 +1123,7 @@
     ];
     passthru.names = [ "base62" ];
   };
-  by-spec."base64-js"."~0.0.4" =
+  by-spec."base64-js"."0.0.7" =
     self.by-version."base64-js"."0.0.7";
   by-version."base64-js"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "base64-js-0.0.7";
@@ -1218,6 +1288,28 @@
     passthru.names = [ "bcrypt" ];
   };
   "bcrypt" = self.by-version."bcrypt"."0.8.0";
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "binary-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/binary/-/binary-0.3.0.tgz";
+        name = "binary-0.3.0.tgz";
+        sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."binary" or []);
+    deps = {
+      "chainsaw-0.1.0" = self.by-version."chainsaw"."0.1.0";
+      "buffers-0.1.1" = self.by-version."buffers"."0.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "binary" ];
+  };
   by-spec."bindings"."*" =
     self.by-version."bindings"."1.2.1";
   by-version."bindings"."1.2.1" = lib.makeOverridable self.buildNodePackage {
@@ -1297,7 +1389,7 @@
     buildInputs =
       (self.nativeDeps."bl" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
     };
     peerDependencies = [
     ];
@@ -1329,15 +1421,15 @@
   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.2";
-  by-version."bluebird"."2.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "bluebird-2.3.2";
+    self.by-version."bluebird"."2.3.5";
+  by-version."bluebird"."2.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "bluebird-2.3.5";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.2.tgz";
-        name = "bluebird-2.3.2.tgz";
-        sha1 = "7475ac7ca0c1674077ac3dd4092ddb80233cf26b";
+        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.5.tgz";
+        name = "bluebird-2.3.5.tgz";
+        sha1 = "551366d041fdd09030109c2cab990ec444bf78b6";
       })
     ];
     buildInputs =
@@ -1396,29 +1488,29 @@
     ];
     passthru.names = [ "body-parser" ];
   };
-  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";
+  by-spec."body-parser"."~1.8.4" =
+    self.by-version."body-parser"."1.8.4";
+  by-version."body-parser"."1.8.4" = lib.makeOverridable self.buildNodePackage {
+    name = "body-parser-1.8.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.1.tgz";
-        name = "body-parser-1.8.1.tgz";
-        sha1 = "f9f96d221c435c95d18aeaad2bcdea1371902aad";
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.4.tgz";
+        name = "body-parser-1.8.4.tgz";
+        sha1 = "d497e04bc13b3f9a8bd8c70bb0cdc16f2e028898";
       })
     ];
     buildInputs =
       (self.nativeDeps."body-parser" or []);
     deps = {
       "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "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";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
       "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";
+      "type-is-1.5.2" = self.by-version."type-is"."1.5.2";
     };
     peerDependencies = [
     ];
@@ -1466,6 +1558,260 @@
     ];
     passthru.names = [ "boom" ];
   };
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.3.12";
+  by-version."bower"."1.3.12" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.3.12";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower/-/bower-1.3.12.tgz";
+        name = "bower-1.3.12.tgz";
+        sha1 = "37de0edb3904baf90aee13384a1a379a05ee214c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower" or []);
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "bower-config-0.5.2" = self.by-version."bower-config"."0.5.2";
+      "bower-endpoint-parser-0.2.2" = self.by-version."bower-endpoint-parser"."0.2.2";
+      "bower-json-0.4.0" = self.by-version."bower-json"."0.4.0";
+      "bower-logger-0.2.2" = self.by-version."bower-logger"."0.2.2";
+      "bower-registry-client-0.2.1" = self.by-version."bower-registry-client"."0.2.1";
+      "cardinal-0.4.0" = self.by-version."cardinal"."0.4.0";
+      "chalk-0.5.0" = self.by-version."chalk"."0.5.0";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "decompress-zip-0.0.8" = self.by-version."decompress-zip"."0.0.8";
+      "fstream-1.0.2" = self.by-version."fstream"."1.0.2";
+      "fstream-ignore-1.0.1" = self.by-version."fstream-ignore"."1.0.1";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+      "handlebars-2.0.0" = self.by-version."handlebars"."2.0.0";
+      "inquirer-0.7.1" = self.by-version."inquirer"."0.7.1";
+      "insight-0.4.3" = self.by-version."insight"."0.4.3";
+      "is-root-1.0.0" = self.by-version."is-root"."1.0.0";
+      "junk-1.0.0" = self.by-version."junk"."1.0.0";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "mout-0.9.1" = self.by-version."mout"."0.9.1";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "opn-1.0.0" = self.by-version."opn"."1.0.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "p-throttler-0.1.0" = self.by-version."p-throttler"."0.1.0";
+      "promptly-0.2.0" = self.by-version."promptly"."0.2.0";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "request-progress-0.3.0" = self.by-version."request-progress"."0.3.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "shell-quote-1.4.2" = self.by-version."shell-quote"."1.4.2";
+      "stringify-object-1.0.0" = self.by-version."stringify-object"."1.0.0";
+      "tar-fs-0.5.2" = self.by-version."tar-fs"."0.5.2";
+      "tmp-0.0.23" = self.by-version."tmp"."0.0.23";
+      "update-notifier-0.2.0" = self.by-version."update-notifier"."0.2.0";
+      "which-1.0.5" = self.by-version."which"."1.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower" ];
+  };
+  "bower" = self.by-version."bower"."1.3.12";
+  by-spec."bower".">=1.2.8 <2" =
+    self.by-version."bower"."1.3.12";
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.2";
+  by-version."bower-config"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-config-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-config/-/bower-config-0.5.2.tgz";
+        name = "bower-config-0.5.2.tgz";
+        sha1 = "1f7d2e899e99b70c29a613e70d4c64590414b22e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-config" or []);
+    deps = {
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "mout-0.9.1" = self.by-version."mout"."0.9.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-config" ];
+  };
+  by-spec."bower-config"."~0.5.2" =
+    self.by-version."bower-config"."0.5.2";
+  by-spec."bower-endpoint-parser"."0.2.1" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-endpoint-parser-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz";
+        name = "bower-endpoint-parser-0.2.1.tgz";
+        sha1 = "8c4010a2900cdab07ea5d38f0bd03e9bbccef90f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-endpoint-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-endpoint-parser" ];
+  };
+  by-spec."bower-endpoint-parser"."~0.2.2" =
+    self.by-version."bower-endpoint-parser"."0.2.2";
+  by-version."bower-endpoint-parser"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-endpoint-parser-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz";
+        name = "bower-endpoint-parser-0.2.2.tgz";
+        sha1 = "00b565adbfab6f2d35addde977e97962acbcb3f6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-endpoint-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-endpoint-parser" ];
+  };
+  by-spec."bower-json"."0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-json-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz";
+        name = "bower-json-0.4.0.tgz";
+        sha1 = "a99c3ccf416ef0590ed0ded252c760f1c6d93766";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-json" or []);
+    deps = {
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "intersect-0.0.3" = self.by-version."intersect"."0.0.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-json" ];
+  };
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-spec."bower-logger"."0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-logger-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.1.tgz";
+        name = "bower-logger-0.2.1.tgz";
+        sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-logger" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-logger" ];
+  };
+  by-spec."bower-logger"."~0.2.2" =
+    self.by-version."bower-logger"."0.2.2";
+  by-version."bower-logger"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-logger-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz";
+        name = "bower-logger-0.2.2.tgz";
+        sha1 = "39be07e979b2fc8e03a94634205ed9422373d381";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-logger" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-logger" ];
+  };
+  by-spec."bower-registry-client"."~0.2.0" =
+    self.by-version."bower-registry-client"."0.2.1";
+  by-version."bower-registry-client"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-registry-client-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.1.tgz";
+        name = "bower-registry-client-0.2.1.tgz";
+        sha1 = "06fbff982f82a4a4045dc53ac9dcb1c43d9cd591";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-registry-client" or []);
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "bower-config-0.5.2" = self.by-version."bower-config"."0.5.2";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "lru-cache-2.3.1" = self.by-version."lru-cache"."2.3.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "request-replay-0.2.0" = self.by-version."request-replay"."0.2.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-registry-client" ];
+  };
+  by-spec."bower2nix"."*" =
+    self.by-version."bower2nix"."2.1.0";
+  by-version."bower2nix"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower2nix-2.1.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.1.0.tgz";
+        name = "bower2nix-2.1.0.tgz";
+        sha1 = "213f507a729b20a1c3cb48f995a034f9c05f53e6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower2nix" or []);
+    deps = {
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "fs.extra-1.2.1" = self.by-version."fs.extra"."1.2.1";
+      "bower-json-0.4.0" = self.by-version."bower-json"."0.4.0";
+      "bower-endpoint-parser-0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1";
+      "bower-logger-0.2.1" = self.by-version."bower-logger"."0.2.1";
+      "bower-1.3.12" = self.by-version."bower"."1.3.12";
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "clone-0.1.11" = self.by-version."clone"."0.1.11";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "fetch-bower-2.0.0" = self.by-version."fetch-bower"."2.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower2nix" ];
+  };
+  "bower2nix" = self.by-version."bower2nix"."2.1.0";
   by-spec."broadway"."0.2.9" =
     self.by-version."broadway"."0.2.9";
   by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
@@ -1516,16 +1862,41 @@
     ];
     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";
+  by-spec."broadway"."~0.3.2" =
+    self.by-version."broadway"."0.3.6";
+  by-version."broadway"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "broadway-0.3.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz";
+        name = "broadway-0.3.6.tgz";
+        sha1 = "7dbef068b954b7907925fd544963b578a902ba7a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."broadway" or []);
+    deps = {
+      "cliff-0.1.9" = self.by-version."cliff"."0.1.9";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.8.0" = self.by-version."winston"."0.8.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "broadway" ];
+  };
+  by-spec."browser-pack"."^3.2.0" =
+    self.by-version."browser-pack"."3.2.0";
+  by-version."browser-pack"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "browser-pack-3.2.0";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.1.1.tgz";
-        name = "browser-pack-3.1.1.tgz";
-        sha1 = "b7600f080d2a7ef1a276ef4c0485a358ba9d1215";
+        url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.2.0.tgz";
+        name = "browser-pack-3.2.0.tgz";
+        sha1 = "faa1cbc41487b1acc4747e373e1148adffd0e2d9";
       })
     ];
     buildInputs =
@@ -1534,6 +1905,7 @@
       "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";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
       "through2-0.5.1" = self.by-version."through2"."0.5.1";
       "umd-2.1.0" = self.by-version."umd"."2.1.0";
     };
@@ -1580,8 +1952,8 @@
       (self.nativeDeps."browserchannel" or []);
     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";
+      "connect-2.26.4" = self.by-version."connect"."2.26.4";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
       "ascii-json-0.2.0" = self.by-version."ascii-json"."0.2.0";
     };
     peerDependencies = [
@@ -1590,15 +1962,15 @@
   };
   "browserchannel" = self.by-version."browserchannel"."2.0.0";
   by-spec."browserify"."*" =
-    self.by-version."browserify"."5.11.1";
-  by-version."browserify"."5.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "browserify-5.11.1";
+    self.by-version."browserify"."6.0.2";
+  by-version."browserify"."6.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "browserify-6.0.2";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browserify/-/browserify-5.11.1.tgz";
-        name = "browserify-5.11.1.tgz";
-        sha1 = "138119e82ae8fe7e6d9d518ee1720971b5926fcc";
+        url = "http://registry.npmjs.org/browserify/-/browserify-6.0.2.tgz";
+        name = "browserify-6.0.2.tgz";
+        sha1 = "d6dd7a9f9e909f2e84163e544a9d1f358ddd9d58";
       })
     ];
     buildInputs =
@@ -1606,34 +1978,34 @@
     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-pack-3.2.0" = self.by-version."browser-pack"."3.2.0";
       "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";
+      "buffer-2.7.0" = self.by-version."buffer"."2.7.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";
+      "crypto-browserify-3.2.6" = self.by-version."crypto-browserify"."3.2.6";
       "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";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.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";
+      "module-deps-3.5.6" = self.by-version."module-deps"."3.5.6";
       "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";
+      "process-0.8.0" = self.by-version."process"."0.8.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";
@@ -1642,9 +2014,8 @@
       "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";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
       "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";
@@ -1659,7 +2030,7 @@
     ];
     passthru.names = [ "browserify" ];
   };
-  "browserify" = self.by-version."browserify"."5.11.1";
+  "browserify" = self.by-version."browserify"."6.0.2";
   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 {
@@ -1786,37 +2157,15 @@
     passthru.names = [ "bson" ];
   };
   by-spec."buffer"."^2.3.0" =
-    self.by-version."buffer"."2.5.0";
-  by-version."buffer"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-2.5.0";
+    self.by-version."buffer"."2.7.0";
+  by-version."buffer"."2.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "buffer-2.7.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffer/-/buffer-2.5.0.tgz";
-        name = "buffer-2.5.0.tgz";
-        sha1 = "ee451ce8cd122dc922027674338dcef9e0eadd9a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer" or []);
-    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" ];
-  };
-  by-spec."buffer"."~2.3.2" =
-    self.by-version."buffer"."2.3.4";
-  by-version."buffer"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-2.3.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer/-/buffer-2.3.4.tgz";
-        name = "buffer-2.3.4.tgz";
-        sha1 = "7e4af5a23c15e13fcbfd5c5a1ec974cb61668a4c";
+        url = "http://registry.npmjs.org/buffer/-/buffer-2.7.0.tgz";
+        name = "buffer-2.7.0.tgz";
+        sha1 = "02dfe9655c097f63e03c1b1714ca6e3d83d87bb2";
       })
     ];
     buildInputs =
@@ -1824,6 +2173,7 @@
     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";
+      "is-array-1.0.1" = self.by-version."is-array"."1.0.1";
     };
     peerDependencies = [
     ];
@@ -1891,6 +2241,26 @@
   };
   by-spec."buffer-crc32"."~0.2.1" =
     self.by-version."buffer-crc32"."0.2.3";
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "buffers-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz";
+        name = "buffers-0.1.1.tgz";
+        sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffers" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffers" ];
+  };
   by-spec."buffertools"."*" =
     self.by-version."buffertools"."2.1.2";
   by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage {
@@ -2078,6 +2448,27 @@
     ];
     passthru.names = [ "callsite" ];
   };
+  by-spec."cardinal"."0.4.0" =
+    self.by-version."cardinal"."0.4.0";
+  by-version."cardinal"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "cardinal-0.4.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz";
+        name = "cardinal-0.4.0.tgz";
+        sha1 = "7d10aafb20837bde043c45e43a0c8c28cdaae45e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cardinal" or []);
+    deps = {
+      "redeyed-0.4.4" = self.by-version."redeyed"."0.4.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cardinal" ];
+  };
   by-spec."caseless"."~0.6.0" =
     self.by-version."caseless"."0.6.0";
   by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
@@ -2099,15 +2490,15 @@
     passthru.names = [ "caseless" ];
   };
   by-spec."chai"."*" =
-    self.by-version."chai"."1.9.1";
-  by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "chai-1.9.1";
+    self.by-version."chai"."1.9.2";
+  by-version."chai"."1.9.2" = lib.makeOverridable self.buildNodePackage {
+    name = "chai-1.9.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz";
-        name = "chai-1.9.1.tgz";
-        sha1 = "3711bb6706e1568f34c0b36098bf8f19455c81ae";
+        url = "http://registry.npmjs.org/chai/-/chai-1.9.2.tgz";
+        name = "chai-1.9.2.tgz";
+        sha1 = "3f1a20f82b0b9d7437577d24d6f12b1a69d3b590";
       })
     ];
     buildInputs =
@@ -2120,7 +2511,53 @@
     ];
     passthru.names = [ "chai" ];
   };
-  "chai" = self.by-version."chai"."1.9.1";
+  "chai" = self.by-version."chai"."1.9.2";
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "chainsaw-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz";
+        name = "chainsaw-0.1.0.tgz";
+        sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."chainsaw" or []);
+    deps = {
+      "traverse-0.3.9" = self.by-version."traverse"."0.3.9";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "chainsaw" ];
+  };
+  by-spec."chalk"."0.5.0" =
+    self.by-version."chalk"."0.5.0";
+  by-version."chalk"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "chalk-0.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz";
+        name = "chalk-0.5.0.tgz";
+        sha1 = "375dfccbc21c0a60a8b61bc5b78f3dc2a55c212f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."chalk" or []);
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
+      "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" ];
+  };
   by-spec."chalk"."^0.4.0" =
     self.by-version."chalk"."0.4.0";
   by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage {
@@ -2160,7 +2597,7 @@
       (self.nativeDeps."chalk" or []);
     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";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
       "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";
@@ -2233,7 +2670,7 @@
     ];
     passthru.names = [ "child-process-close" ];
   };
-  by-spec."chmodr"."~0.1.0" =
+  by-spec."chmodr"."0.1.0" =
     self.by-version."chmodr"."0.1.0";
   by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chmodr-0.1.0";
@@ -2253,22 +2690,24 @@
     ];
     passthru.names = [ "chmodr" ];
   };
+  by-spec."chmodr"."~0.1.0" =
+    self.by-version."chmodr"."0.1.0";
   by-spec."chokidar".">=0.8.2" =
-    self.by-version."chokidar"."0.8.4";
-  by-version."chokidar"."0.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "chokidar-0.8.4";
+    self.by-version."chokidar"."0.9.0";
+  by-version."chokidar"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "chokidar-0.9.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz";
-        name = "chokidar-0.8.4.tgz";
-        sha1 = "3b2b5066817086534ba81a092bdcf4be25b8bee0";
+        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.9.0.tgz";
+        name = "chokidar-0.9.0.tgz";
+        sha1 = "c1ae41561dbdb89dd5fac615453d20b48a946c2f";
       })
     ];
     buildInputs =
       (self.nativeDeps."chokidar" or []);
     deps = {
-      "fsevents-0.2.1" = self.by-version."fsevents"."0.2.1";
+      "fsevents-0.3.0" = self.by-version."fsevents"."0.3.0";
       "recursive-readdir-0.0.2" = self.by-version."recursive-readdir"."0.0.2";
     };
     peerDependencies = [
@@ -2296,15 +2735,15 @@
     passthru.names = [ "chownr" ];
   };
   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";
+    self.by-version."clean-css"."2.2.16";
+  by-version."clean-css"."2.2.16" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.2.16";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.15.tgz";
-        name = "clean-css-2.2.15.tgz";
-        sha1 = "0de5c85219cce60f5cc9e11b3c8ae621a25ff613";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.16.tgz";
+        name = "clean-css-2.2.16.tgz";
+        sha1 = "a79f4fbd6bb8652c4d1668b44406172f180d0283";
       })
     ];
     buildInputs =
@@ -2317,7 +2756,7 @@
     passthru.names = [ "clean-css" ];
   };
   by-spec."clean-css"."~2.2.0" =
-    self.by-version."clean-css"."2.2.15";
+    self.by-version."clean-css"."2.2.16";
   by-spec."cli"."0.6.x" =
     self.by-version."cli"."0.6.4";
   by-version."cli"."0.6.4" = lib.makeOverridable self.buildNodePackage {
@@ -2340,6 +2779,30 @@
     ];
     passthru.names = [ "cli" ];
   };
+  by-spec."cli-color"."~0.3.2" =
+    self.by-version."cli-color"."0.3.2";
+  by-version."cli-color"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cli-color-0.3.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz";
+        name = "cli-color-0.3.2.tgz";
+        sha1 = "75fa5f728c308cc4ac594b05e06cc5d80daccd86";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cli-color" or []);
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+      "memoizee-0.3.7" = self.by-version."memoizee"."0.3.7";
+      "timers-ext-0.1.0" = self.by-version."timers-ext"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cli-color" ];
+  };
   by-spec."cliff"."0.1.8" =
     self.by-version."cliff"."0.1.8";
   by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
@@ -2363,6 +2826,49 @@
     ];
     passthru.names = [ "cliff" ];
   };
+  by-spec."cliff"."0.1.9" =
+    self.by-version."cliff"."0.1.9";
+  by-version."cliff"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+    name = "cliff-0.1.9";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz";
+        name = "cliff-0.1.9.tgz";
+        sha1 = "a211e09c6a3de3ba1af27d049d301250d18812bc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cliff" or []);
+    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.8.0" = self.by-version."winston"."0.8.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cliff" ];
+  };
+  by-spec."clone"."0.1.11" =
+    self.by-version."clone"."0.1.11";
+  by-version."clone"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "clone-0.1.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clone/-/clone-0.1.11.tgz";
+        name = "clone-0.1.11.tgz";
+        sha1 = "408b7d1773eb0dfbf2ddb156c1c47170c17e3a96";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clone" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "clone" ];
+  };
   by-spec."clone"."0.1.5" =
     self.by-version."clone"."0.1.5";
   by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
@@ -2445,7 +2951,7 @@
   };
   by-spec."clone-stats"."~0.0.1" =
     self.by-version."clone-stats"."0.0.1";
-  by-spec."cmd-shim"."~2.0.0" =
+  by-spec."cmd-shim"."~2.0.1" =
     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";
@@ -2460,7 +2966,7 @@
     buildInputs =
       (self.nativeDeps."cmd-shim" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
     };
     peerDependencies = [
@@ -2750,7 +3256,7 @@
     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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
@@ -2980,28 +3486,28 @@
     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";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
     };
     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";
+    self.by-version."compressible"."2.0.1";
+  by-version."compressible"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "compressible-2.0.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/compressible/-/compressible-2.0.0.tgz";
-        name = "compressible-2.0.0.tgz";
-        sha1 = "90086ce57102e9e2427ee945a5fb2a98dd51dfb4";
+        url = "http://registry.npmjs.org/compressible/-/compressible-2.0.1.tgz";
+        name = "compressible-2.0.1.tgz";
+        sha1 = "3550115793eb3435f7eb16775afe05df1a333ebc";
       })
     ];
     buildInputs =
       (self.nativeDeps."compressible" or []);
     deps = {
-      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+      "mime-db-1.1.0" = self.by-version."mime-db"."1.1.0";
     };
     peerDependencies = [
     ];
@@ -3022,9 +3528,9 @@
     buildInputs =
       (self.nativeDeps."compression" or []);
     deps = {
-      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "accepts-1.1.1" = self.by-version."accepts"."1.1.1";
       "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "compressible-2.0.0" = self.by-version."compressible"."2.0.0";
+      "compressible-2.0.1" = self.by-version."compressible"."2.0.1";
       "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";
@@ -3099,7 +3605,7 @@
       (self.nativeDeps."config-chain" or []);
     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";
+      "ini-1.3.0" = self.by-version."ini"."1.3.0";
     };
     peerDependencies = [
     ];
@@ -3122,17 +3628,19 @@
     buildInputs =
       (self.nativeDeps."configstore" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "uuid-1.4.2" = self.by-version."uuid"."1.4.2";
     };
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
+  by-spec."configstore"."^0.3.1" =
+    self.by-version."configstore"."0.3.1";
   by-spec."connect"."1.x" =
     self.by-version."connect"."1.9.2";
   by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
@@ -3148,7 +3656,7 @@
     buildInputs =
       (self.nativeDeps."connect" or []);
     deps = {
-      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
       "mime-1.2.11" = self.by-version."mime"."1.2.11";
       "formidable-1.0.15" = self.by-version."formidable"."1.0.15";
     };
@@ -3190,23 +3698,23 @@
     ];
     passthru.names = [ "connect" ];
   };
-  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";
+  by-spec."connect"."2.26.4" =
+    self.by-version."connect"."2.26.4";
+  by-version."connect"."2.26.4" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.26.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.26.0.tgz";
-        name = "connect-2.26.0.tgz";
-        sha1 = "998bebbf54d81225f7794d2fabd076d0f9f0e712";
+        url = "http://registry.npmjs.org/connect/-/connect-2.26.4.tgz";
+        name = "connect-2.26.4.tgz";
+        sha1 = "1ad3477cb90e590f1778ac17b51475af376bece0";
       })
     ];
     buildInputs =
       (self.nativeDeps."connect" or []);
     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";
+      "body-parser-1.8.4" = self.by-version."body-parser"."1.8.4";
       "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";
@@ -3215,23 +3723,23 @@
       "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";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "errorhandler-1.2.0" = self.by-version."errorhandler"."1.2.0";
-      "express-session-1.8.1" = self.by-version."express-session"."1.8.1";
+      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
       "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";
+      "morgan-1.3.2" = self.by-version."morgan"."1.3.2";
       "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";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
       "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-favicon-2.1.5" = self.by-version."serve-favicon"."2.1.5";
       "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";
+      "serve-static-1.6.3" = self.by-version."serve-static"."1.6.3";
+      "type-is-1.5.2" = self.by-version."type-is"."1.5.2";
       "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
       "pause-0.0.1" = self.by-version."pause"."0.0.1";
     };
@@ -3328,7 +3836,7 @@
     passthru.names = [ "connect" ];
   };
   by-spec."connect"."~2" =
-    self.by-version."connect"."2.26.0";
+    self.by-version."connect"."2.26.4";
   by-spec."connect"."~2.12.0" =
     self.by-version."connect"."2.12.0";
   by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
@@ -3420,7 +3928,7 @@
     buildInputs =
       (self.nativeDeps."connect-jade-static" or []);
     deps = {
-      "jade-1.6.0" = self.by-version."jade"."1.6.0";
+      "jade-1.7.0" = self.by-version."jade"."1.7.0";
     };
     peerDependencies = [
     ];
@@ -3863,26 +4371,6 @@
     ];
     passthru.names = [ "cookiejar" ];
   };
-  by-spec."cookiejar"."1.3.2" =
-    self.by-version."cookiejar"."1.3.2";
-  by-version."cookiejar"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookiejar-1.3.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz";
-        name = "cookiejar-1.3.2.tgz";
-        sha1 = "61d3229e2da20c859032233502958a9b7df58249";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookiejar" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookiejar" ];
-  };
   by-spec."cookiejar"."2.0.1" =
     self.by-version."cookiejar"."2.0.1";
   by-version."cookiejar"."2.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -3959,22 +4447,22 @@
     buildInputs =
       (self.nativeDeps."couch-login" or []);
     deps = {
-      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
   };
   by-spec."coveralls"."*" =
-    self.by-version."coveralls"."2.11.1";
-  by-version."coveralls"."2.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coveralls-2.11.1";
+    self.by-version."coveralls"."2.11.2";
+  by-version."coveralls"."2.11.2" = lib.makeOverridable self.buildNodePackage {
+    name = "coveralls-2.11.2";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.1.tgz";
-        name = "coveralls-2.11.1.tgz";
-        sha1 = "fedc951296207cc5eb545476923e64f20cf7854d";
+        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.2.tgz";
+        name = "coveralls-2.11.2.tgz";
+        sha1 = "d4d982016cb2f9da89d77ab204d86a8537e6a12d";
       })
     ];
     buildInputs =
@@ -3983,13 +4471,13 @@
       "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";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
   };
-  "coveralls" = self.by-version."coveralls"."2.11.1";
+  "coveralls" = self.by-version."coveralls"."2.11.2";
   by-spec."crc"."0.2.0" =
     self.by-version."crc"."0.2.0";
   by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -4010,6 +4498,26 @@
     ];
     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."crc32-stream"."~0.3.1" =
     self.by-version."crc32-stream"."0.3.1";
   by-version."crc32-stream"."0.3.1" = lib.makeOverridable self.buildNodePackage {
@@ -4025,7 +4533,7 @@
     buildInputs =
       (self.nativeDeps."crc32-stream" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
       "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
     };
     peerDependencies = [
@@ -4116,22 +4624,23 @@
     passthru.names = [ "crypto" ];
   };
   by-spec."crypto-browserify"."^3.0.0" =
-    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";
+    self.by-version."crypto-browserify"."3.2.6";
+  by-version."crypto-browserify"."3.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "crypto-browserify-3.2.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.2.tgz";
-        name = "crypto-browserify-3.0.2.tgz";
-        sha1 = "43218365d9d086e8c1b88f968fb7134f13505c84";
+        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.2.6.tgz";
+        name = "crypto-browserify-3.2.6.tgz";
+        sha1 = "e65a44893ad85138dbf0eaf515675adfd917cdb4";
       })
     ];
     buildInputs =
       (self.nativeDeps."crypto-browserify" or []);
     deps = {
+      "pbkdf2-compat-2.0.1" = self.by-version."pbkdf2-compat"."2.0.1";
       "ripemd160-0.2.0" = self.by-version."ripemd160"."0.2.0";
-      "sha.js-2.1.8" = self.by-version."sha.js"."2.1.8";
+      "sha.js-2.2.6" = self.by-version."sha.js"."2.2.6";
     };
     peerDependencies = [
     ];
@@ -4346,6 +4855,27 @@
     ];
     passthru.names = [ "cycle" ];
   };
+  by-spec."d"."~0.1.1" =
+    self.by-version."d"."0.1.1";
+  by-version."d"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "d-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/d/-/d-0.1.1.tgz";
+        name = "d-0.1.1.tgz";
+        sha1 = "da184c535d18d8ee7ba2aa229b914009fae11309";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."d" or []);
+    deps = {
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "d" ];
+  };
   by-spec."dashdash"."1.3.2" =
     self.by-version."dashdash"."1.3.2";
   by-version."dashdash"."1.3.2" = lib.makeOverridable self.buildNodePackage {
@@ -4429,15 +4959,15 @@
     passthru.names = [ "dateformat" ];
   };
   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 = "dateformat-1.0.8-1.2.3";
+    self.by-version."dateformat"."1.0.8";
+  by-version."dateformat"."1.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "dateformat-1.0.8";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.8-1.2.3.tgz";
-        name = "dateformat-1.0.8-1.2.3.tgz";
-        sha1 = "5d60c5d574dc778a7f98139156c6cfc9d851d1e7";
+        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.8.tgz";
+        name = "dateformat-1.0.8.tgz";
+        sha1 = "87799a3de21bffbf028bdd7ad044981327ac0a26";
       })
     ];
     buildInputs =
@@ -4449,7 +4979,7 @@
     passthru.names = [ "dateformat" ];
   };
   by-spec."dateformat"."~1.0.6" =
-    self.by-version."dateformat"."1.0.8-1.2.3";
+    self.by-version."dateformat"."1.0.8";
   by-spec."debug"."*" =
     self.by-version."debug"."2.0.0";
   by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -4554,8 +5084,6 @@
   };
   by-spec."debug"."^1.0.2" =
     self.by-version."debug"."1.0.4";
-  by-spec."debug"."~0.7.2" =
-    self.by-version."debug"."0.7.4";
   by-spec."debug"."~0.8" =
     self.by-version."debug"."0.8.1";
   by-spec."debug"."~1.0.1" =
@@ -4582,6 +5110,33 @@
     ];
     passthru.names = [ "debuglog" ];
   };
+  by-spec."decompress-zip"."0.0.8" =
+    self.by-version."decompress-zip"."0.0.8";
+  by-version."decompress-zip"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "decompress-zip-0.0.8";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz";
+        name = "decompress-zip-0.0.8.tgz";
+        sha1 = "4a265b22c7b209d7b24fa66f2b2dfbced59044f3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."decompress-zip" or []);
+    deps = {
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "mkpath-0.1.0" = self.by-version."mkpath"."0.1.0";
+      "binary-0.3.0" = self.by-version."binary"."0.3.0";
+      "touch-0.0.2" = self.by-version."touch"."0.0.2";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "decompress-zip" ];
+  };
   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 {
@@ -4771,6 +5326,26 @@
     ];
     passthru.names = [ "depd" ];
   };
+  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."deprecated"."^0.0.1" =
     self.by-version."deprecated"."0.0.1";
   by-version."deprecated"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -4859,26 +5434,31 @@
     passthru.names = [ "detective" ];
   };
   by-spec."dezalgo"."^1.0.0" =
-    self.by-version."dezalgo"."1.0.0";
-  by-version."dezalgo"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "dezalgo-1.0.0";
+    self.by-version."dezalgo"."1.0.1";
+  by-version."dezalgo"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "dezalgo-1.0.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.0.tgz";
-        name = "dezalgo-1.0.0.tgz";
-        sha1 = "050bb723f18b5617b309f26c2dc8fe6f2573b6fc";
+        url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz";
+        name = "dezalgo-1.0.1.tgz";
+        sha1 = "12bde135060807900d5a7aebb607c2abb7c76937";
       })
     ];
     buildInputs =
       (self.nativeDeps."dezalgo" or []);
     deps = {
       "asap-1.0.0" = self.by-version."asap"."1.0.0";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "dezalgo" ];
   };
+  by-spec."dezalgo"."^1.0.1" =
+    self.by-version."dezalgo"."1.0.1";
+  by-spec."dezalgo"."~1.0.1" =
+    self.by-version."dezalgo"."1.0.1";
   by-spec."di"."~0.0.1" =
     self.by-version."di"."0.0.1";
   by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -4961,6 +5541,26 @@
     ];
     passthru.names = [ "director" ];
   };
+  by-spec."director"."1.2.3" =
+    self.by-version."director"."1.2.3";
+  by-version."director"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "director-1.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/director/-/director-1.2.3.tgz";
+        name = "director-1.2.3.tgz";
+        sha1 = "ba68a09312751bb77c52acc75e1f9fd9d3cb15bf";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."director" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "director" ];
+  };
   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 {
@@ -5107,26 +5707,6 @@
     ];
     passthru.names = [ "dtrace-provider" ];
   };
-  by-spec."duplexer"."~0.1.1" =
-    self.by-version."duplexer"."0.1.1";
-  by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "duplexer-0.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
-        name = "duplexer-0.1.1.tgz";
-        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."duplexer" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "duplexer" ];
-  };
   by-spec."duplexer2"."0.0.2" =
     self.by-version."duplexer2"."0.0.2";
   by-version."duplexer2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
@@ -5266,7 +5846,7 @@
     buildInputs =
       (self.nativeDeps."end-of-stream" or []);
     deps = {
-      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -5287,7 +5867,28 @@
     buildInputs =
       (self.nativeDeps."end-of-stream" or []);
     deps = {
-      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "end-of-stream" ];
+  };
+  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 = "end-of-stream-1.0.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";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."end-of-stream" or []);
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -5329,7 +5930,7 @@
       (self.nativeDeps."envify" or []);
     deps = {
       "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
-      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
       "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";
     };
@@ -5352,13 +5953,82 @@
     buildInputs =
       (self.nativeDeps."errorhandler" or []);
     deps = {
-      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "accepts-1.1.1" = self.by-version."accepts"."1.1.1";
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "errorhandler" ];
   };
+  by-spec."es5-ext"."~0.10.2" =
+    self.by-version."es5-ext"."0.10.4";
+  by-version."es5-ext"."0.10.4" = lib.makeOverridable self.buildNodePackage {
+    name = "es5-ext-0.10.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.10.4.tgz";
+        name = "es5-ext-0.10.4.tgz";
+        sha1 = "f4d7d85d45acfbe93379d4c0948fbae6466ec876";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."es5-ext" or []);
+    deps = {
+      "es6-iterator-0.1.1" = self.by-version."es6-iterator"."0.1.1";
+      "es6-symbol-0.1.0" = self.by-version."es6-symbol"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "es5-ext" ];
+  };
+  by-spec."es5-ext"."~0.10.4" =
+    self.by-version."es5-ext"."0.10.4";
+  by-spec."es6-iterator"."~0.1.1" =
+    self.by-version."es6-iterator"."0.1.1";
+  by-version."es6-iterator"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "es6-iterator-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.1.tgz";
+        name = "es6-iterator-0.1.1.tgz";
+        sha1 = "5e136c899aa1c26296414f90859b73934812d275";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."es6-iterator" or []);
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+      "es6-symbol-0.1.0" = self.by-version."es6-symbol"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "es6-iterator" ];
+  };
+  by-spec."es6-symbol"."0.1.x" =
+    self.by-version."es6-symbol"."0.1.0";
+  by-version."es6-symbol"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "es6-symbol-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/es6-symbol/-/es6-symbol-0.1.0.tgz";
+        name = "es6-symbol-0.1.0.tgz";
+        sha1 = "ba5878f37a652f6c713244716fc7b24d61d2dc39";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."es6-symbol" or []);
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "es6-symbol" ];
+  };
   by-spec."escape-html"."*" =
     self.by-version."escape-html"."1.0.1";
   by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -5383,15 +6053,15 @@
   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 = "escape-string-regexp-1.0.1";
+    self.by-version."escape-string-regexp"."1.0.2";
+  by-version."escape-string-regexp"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "escape-string-regexp-1.0.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.1.tgz";
-        name = "escape-string-regexp-1.0.1.tgz";
-        sha1 = "78c76393afb84f102230d949a6125c7f3cf65904";
+        url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+        name = "escape-string-regexp-1.0.2.tgz";
+        sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
       })
     ];
     buildInputs =
@@ -5420,7 +6090,7 @@
       "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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
@@ -5443,7 +6113,7 @@
     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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
@@ -5469,7 +6139,7 @@
       "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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
@@ -5515,7 +6185,7 @@
       "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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
       "esshorten-0.0.2" = self.by-version."esshorten"."0.0.2";
       "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
     };
@@ -5715,27 +6385,49 @@
     ];
     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";
+  by-spec."etag"."~1.4.0" =
+    self.by-version."etag"."1.4.0";
+  by-version."etag"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "etag-1.4.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/etag/-/etag-1.3.0.tgz";
-        name = "etag-1.3.0.tgz";
-        sha1 = "c837debfbfe0baf7eb8e2f0bbb3d1d9cc3229697";
+        url = "http://registry.npmjs.org/etag/-/etag-1.4.0.tgz";
+        name = "etag-1.4.0.tgz";
+        sha1 = "3050991615857707c04119d075ba2088e0701225";
       })
     ];
     buildInputs =
       (self.nativeDeps."etag" or []);
     deps = {
-      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "etag" ];
   };
+  by-spec."event-emitter"."~0.3.1" =
+    self.by-version."event-emitter"."0.3.1";
+  by-version."event-emitter"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "event-emitter-0.3.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.1.tgz";
+        name = "event-emitter-0.3.1.tgz";
+        sha1 = "1425ca9c5649a1a31ba835bd9dba6bfad3880238";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."event-emitter" or []);
+    deps = {
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "event-emitter" ];
+  };
   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 {
@@ -5884,7 +6576,7 @@
       "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";
+      "express-3.17.6" = self.by-version."express"."3.17.6";
     };
     peerDependencies = [
     ];
@@ -5915,27 +6607,26 @@
   by-spec."exit"."~0.1.1" =
     self.by-version."exit"."0.1.2";
   by-spec."express"."*" =
-    self.by-version."express"."4.9.0";
-  by-version."express"."4.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "express-4.9.0";
+    self.by-version."express"."4.9.5";
+  by-version."express"."4.9.5" = lib.makeOverridable self.buildNodePackage {
+    name = "express-4.9.5";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.9.0.tgz";
-        name = "express-4.9.0.tgz";
-        sha1 = "9b2ea4ebce57c7ac710604c74f6c303ab344a7f3";
+        url = "http://registry.npmjs.org/express/-/express-4.9.5.tgz";
+        name = "express-4.9.5.tgz";
+        sha1 = "7f62aa84ac8f5e96acfb98e2944dde0bf1cf8688";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
     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";
+      "accepts-1.1.1" = self.by-version."accepts"."1.1.1";
       "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";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "etag-1.4.0" = self.by-version."etag"."1.4.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";
@@ -5943,12 +6634,12 @@
       "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";
+      "proxy-addr-1.0.3" = self.by-version."proxy-addr"."1.0.3";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
       "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";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
+      "serve-static-1.6.3" = self.by-version."serve-static"."1.6.3";
+      "type-is-1.5.2" = self.by-version."type-is"."1.5.2";
       "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";
@@ -5958,7 +6649,7 @@
     ];
     passthru.names = [ "express" ];
   };
-  "express" = self.by-version."express"."4.9.0";
+  "express" = self.by-version."express"."4.9.5";
   by-spec."express"."2.5.11" =
     self.by-version."express"."2.5.11";
   by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
@@ -6046,36 +6737,36 @@
     passthru.names = [ "express" ];
   };
   by-spec."express"."3.x" =
-    self.by-version."express"."3.17.1";
-  by-version."express"."3.17.1" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.17.1";
+    self.by-version."express"."3.17.6";
+  by-version."express"."3.17.6" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.17.6";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.17.1.tgz";
-        name = "express-3.17.1.tgz";
-        sha1 = "82b357f0bc78733b1ac1070224f89a37dea76a74";
+        url = "http://registry.npmjs.org/express/-/express-3.17.6.tgz";
+        name = "express-3.17.6.tgz";
+        sha1 = "e2f9a6a48b85233afc4f7b6c5cd6799c53f5f46f";
       })
     ];
     buildInputs =
       (self.nativeDeps."express" or []);
     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";
+      "connect-2.26.4" = self.by-version."connect"."2.26.4";
       "commander-1.3.2" = self.by-version."commander"."1.3.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.4" = self.by-version."depd"."0.4.4";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "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";
+      "proxy-addr-1.0.3" = self.by-version."proxy-addr"."1.0.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";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
       "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";
@@ -6085,7 +6776,7 @@
     passthru.names = [ "express" ];
   };
   by-spec."express".">=3.0.0" =
-    self.by-version."express"."4.9.0";
+    self.by-version."express"."4.9.5";
   by-spec."express"."~3.1.1" =
     self.by-version."express"."3.1.2";
   by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
@@ -6216,7 +6907,7 @@
       "async-0.7.0" = self.by-version."async"."0.7.0";
     };
     peerDependencies = [
-      self.by-version."express"."4.9.0"
+      self.by-version."express"."4.9.5"
     ];
     passthru.names = [ "express-form" ];
   };
@@ -6270,26 +6961,26 @@
     ];
     passthru.names = [ "express-session" ];
   };
-  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";
+  by-spec."express-session"."~1.8.2" =
+    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.1.tgz";
-        name = "express-session-1.8.1.tgz";
-        sha1 = "04c1fa87c5e369ed737be6ae834a3b1773c5f01b";
+        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 = {
-      "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";
+      "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.4" = self.by-version."depd"."0.4.4";
+      "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";
@@ -6300,15 +6991,15 @@
     passthru.names = [ "express-session" ];
   };
   by-spec."extend"."*" =
-    self.by-version."extend"."1.3.0";
-  by-version."extend"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "extend-1.3.0";
+    self.by-version."extend"."2.0.0";
+  by-version."extend"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "extend-2.0.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
-        name = "extend-1.3.0.tgz";
-        sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
+        url = "http://registry.npmjs.org/extend/-/extend-2.0.0.tgz";
+        name = "extend-2.0.0.tgz";
+        sha1 = "cc3c1e238521df4c28e3f30868b7324bb5898a5c";
       })
     ];
     buildInputs =
@@ -6319,7 +7010,7 @@
     ];
     passthru.names = [ "extend" ];
   };
-  "extend" = self.by-version."extend"."1.3.0";
+  "extend" = self.by-version."extend"."2.0.0";
   by-spec."extend"."~1.2.1" =
     self.by-version."extend"."1.2.1";
   by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
@@ -6342,6 +7033,24 @@
   };
   by-spec."extend"."~1.3.0" =
     self.by-version."extend"."1.3.0";
+  by-version."extend"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "extend-1.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
+        name = "extend-1.3.0.tgz";
+        sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."extend" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "extend" ];
+  };
   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 {
@@ -6426,6 +7135,28 @@
   by-spec."eyes".">=0.1.6" =
     self.by-version."eyes"."0.1.8";
   by-spec."faye-websocket"."*" =
+    self.by-version."faye-websocket"."0.7.3";
+  by-version."faye-websocket"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "faye-websocket-0.7.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.3.tgz";
+        name = "faye-websocket-0.7.3.tgz";
+        sha1 = "cc4074c7f4a4dfd03af54dd65c354b135132ce11";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."faye-websocket" or []);
+    deps = {
+      "websocket-driver-0.3.6" = self.by-version."websocket-driver"."0.3.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "faye-websocket" ];
+  };
+  "faye-websocket" = self.by-version."faye-websocket"."0.7.3";
+  by-spec."faye-websocket"."0.7.2" =
     self.by-version."faye-websocket"."0.7.2";
   by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "faye-websocket-0.7.2";
@@ -6440,32 +7171,53 @@
     buildInputs =
       (self.nativeDeps."faye-websocket" or []);
     deps = {
-      "websocket-driver-0.3.5" = self.by-version."websocket-driver"."0.3.5";
+      "websocket-driver-0.3.6" = self.by-version."websocket-driver"."0.3.6";
     };
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
   };
-  "faye-websocket" = self.by-version."faye-websocket"."0.7.2";
-  by-spec."faye-websocket"."0.7.2" =
-    self.by-version."faye-websocket"."0.7.2";
+  by-spec."fetch-bower".">=2 <3" =
+    self.by-version."fetch-bower"."2.0.0";
+  by-version."fetch-bower"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fetch-bower-2.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fetch-bower/-/fetch-bower-2.0.0.tgz";
+        name = "fetch-bower-2.0.0.tgz";
+        sha1 = "c027feb75a512001d1287bbfb3ffaafba67eb92f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fetch-bower" or []);
+    deps = {
+      "bower-endpoint-parser-0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1";
+      "bower-logger-0.2.1" = self.by-version."bower-logger"."0.2.1";
+      "bower-1.3.12" = self.by-version."bower"."1.3.12";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fetch-bower" ];
+  };
   by-spec."fields"."~0.1.11" =
-    self.by-version."fields"."0.1.13";
-  by-version."fields"."0.1.13" = lib.makeOverridable self.buildNodePackage {
-    name = "fields-0.1.13";
+    self.by-version."fields"."0.1.16";
+  by-version."fields"."0.1.16" = lib.makeOverridable self.buildNodePackage {
+    name = "fields-0.1.16";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fields/-/fields-0.1.13.tgz";
-        name = "fields-0.1.13.tgz";
-        sha1 = "59feff36b6b737c67a9ecc4de1b16d24ed4465a5";
+        url = "http://registry.npmjs.org/fields/-/fields-0.1.16.tgz";
+        name = "fields-0.1.16.tgz";
+        sha1 = "a6d127f93636050c7407bd7a5e26265f82f58c22";
       })
     ];
     buildInputs =
       (self.nativeDeps."fields" or []);
     deps = {
       "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
       "sprintf-0.1.4" = self.by-version."sprintf"."0.1.4";
     };
     peerDependencies = [
@@ -6473,15 +7225,15 @@
     passthru.names = [ "fields" ];
   };
   by-spec."figures"."^1.0.1" =
-    self.by-version."figures"."1.3.2";
-  by-version."figures"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "figures-1.3.2";
+    self.by-version."figures"."1.3.3";
+  by-version."figures"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "figures-1.3.3";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/figures/-/figures-1.3.2.tgz";
-        name = "figures-1.3.2.tgz";
-        sha1 = "3ea3915639485d960acff99810086c161db82051";
+        url = "http://registry.npmjs.org/figures/-/figures-1.3.3.tgz";
+        name = "figures-1.3.3.tgz";
+        sha1 = "a0952f9ba076e6be3dd5e2bad8e6a013c00d3d36";
       })
     ];
     buildInputs =
@@ -6492,6 +7244,8 @@
     ];
     passthru.names = [ "figures" ];
   };
+  by-spec."figures"."^1.3.2" =
+    self.by-version."figures"."1.3.3";
   by-spec."fileset"."0.1.x" =
     self.by-version."fileset"."0.1.5";
   by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
@@ -6623,6 +7377,31 @@
     passthru.names = [ "first-chunk-stream" ];
   };
   by-spec."flatiron"."*" =
+    self.by-version."flatiron"."0.4.2";
+  by-version."flatiron"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "flatiron-0.4.2";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.4.2.tgz";
+        name = "flatiron-0.4.2.tgz";
+        sha1 = "cffae218dae8229d6668c34453eefd9a44c0e418";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."flatiron" or []);
+    deps = {
+      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+      "prompt-0.2.14" = self.by-version."prompt"."0.2.14";
+      "director-1.2.3" = self.by-version."director"."1.2.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "flatiron" ];
+  };
+  "flatiron" = self.by-version."flatiron"."0.4.2";
+  by-spec."flatiron"."~0.3.11" =
     self.by-version."flatiron"."0.3.11";
   by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.11";
@@ -6646,9 +7425,6 @@
     ];
     passthru.names = [ "flatiron" ];
   };
-  "flatiron" = self.by-version."flatiron"."0.3.11";
-  by-spec."flatiron"."~0.3.11" =
-    self.by-version."flatiron"."0.3.11";
   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 {
@@ -6863,29 +7639,6 @@
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  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 = "form-data-0.1.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
-        name = "form-data-0.1.2.tgz";
-        sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
-      })
-    ];
-    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.2.10" = self.by-version."async"."0.2.10";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
   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 {
@@ -7076,6 +7829,26 @@
     ];
     passthru.names = [ "formidable" ];
   };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "forwarded-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+        name = "forwarded-0.1.0.tgz";
+        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forwarded" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "forwarded" ];
+  };
   by-spec."fresh"."0.1.0" =
     self.by-version."fresh"."0.1.0";
   by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -7197,7 +7970,7 @@
     buildInputs =
       (self.nativeDeps."fs-vacuum" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
     };
     peerDependencies = [
@@ -7226,6 +7999,27 @@
     passthru.names = [ "fs-walk" ];
   };
   "fs-walk" = self.by-version."fs-walk"."0.0.1";
+  by-spec."fs-write-stream-atomic"."~1.0.2" =
+    self.by-version."fs-write-stream-atomic"."1.0.2";
+  by-version."fs-write-stream-atomic"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "fs-write-stream-atomic-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz";
+        name = "fs-write-stream-atomic-1.0.2.tgz";
+        sha1 = "fe0c6cec75256072b2fef8180d97e309fe3f5efb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fs-write-stream-atomic" or []);
+    deps = {
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fs-write-stream-atomic" ];
+  };
   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 {
@@ -7249,22 +8043,24 @@
     ];
     passthru.names = [ "fs.extra" ];
   };
-  by-spec."fsevents"."pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138" =
-    self.by-version."fsevents"."0.2.1";
-  by-version."fsevents"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "fsevents-0.2.1";
+  by-spec."fs.extra".">=1.2.1 <2" =
+    self.by-version."fs.extra"."1.2.1";
+  by-spec."fsevents"."0.3.0" =
+    self.by-version."fsevents"."0.3.0";
+  by-version."fsevents"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fsevents-0.3.0";
     bin = false;
     src = [
-      (fetchgit {
-        url = "git://github.com/pipobscure/fsevents.git";
-        rev = "7dcdf9fa3f8956610fd6f69f72c67bace2de7138";
-        sha256 = "cc89ed7e31ee7e387326c4f9a3668306bdb98ff9cbaff9d7f29e258e56584bfb";
+      (fetchurl {
+        url = "http://registry.npmjs.org/fsevents/-/fsevents-0.3.0.tgz";
+        name = "fsevents-0.3.0.tgz";
+        sha1 = "90723a3d0bbab877b62d0a78db633ef2688d8a81";
       })
     ];
     buildInputs =
       (self.nativeDeps."fsevents" or []);
     deps = {
-      "nan-0.8.0" = self.by-version."nan"."0.8.0";
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
     };
     peerDependencies = [
     ];
@@ -7285,7 +8081,7 @@
     buildInputs =
       (self.nativeDeps."fstream" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
@@ -7311,7 +8107,7 @@
     buildInputs =
       (self.nativeDeps."fstream" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
@@ -7345,6 +8141,8 @@
     ];
     passthru.names = [ "fstream-ignore" ];
   };
+  by-spec."fstream-ignore"."~1.0.1" =
+    self.by-version."fstream-ignore"."1.0.1";
   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 {
@@ -7388,6 +8186,26 @@
     ];
     passthru.names = [ "gaze" ];
   };
+  by-spec."get-stdin"."^1.0.0" =
+    self.by-version."get-stdin"."1.0.0";
+  by-version."get-stdin"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "get-stdin-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/get-stdin/-/get-stdin-1.0.0.tgz";
+        name = "get-stdin-1.0.0.tgz";
+        sha1 = "00bd5a494c81c372f5629bea103bbffe7a1da3ce";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."get-stdin" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "get-stdin" ];
+  };
   by-spec."getmac"."~1.0.6" =
     self.by-version."getmac"."1.0.6";
   by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
@@ -7499,24 +8317,24 @@
   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 = "glob-4.0.5";
+    self.by-version."glob"."4.0.6";
+  by-version."glob"."4.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-4.0.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-4.0.5.tgz";
-        name = "glob-4.0.5.tgz";
-        sha1 = "95e42c9efdb3ab1f4788fd7793dfded4a3378063";
+        url = "http://registry.npmjs.org/glob/-/glob-4.0.6.tgz";
+        name = "glob-4.0.6.tgz";
+        sha1 = "695c50bdd4e2fb5c5d370b091f388d3707e291a7";
       })
     ];
     buildInputs =
       (self.nativeDeps."glob" or []);
     deps = {
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -7570,13 +8388,15 @@
   by-spec."glob"."3.x" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."4.x" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.0.6";
+  by-spec."glob".">=3.2.7 <4" =
+    self.by-version."glob"."3.2.11";
   by-spec."glob"."^4.0.0" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.0.6";
   by-spec."glob"."^4.0.2" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.0.6";
   by-spec."glob"."^4.0.5" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.0.6";
   by-spec."glob"."~ 3.2.1" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.1.21" =
@@ -7610,8 +8430,10 @@
     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.2" =
+    self.by-version."glob"."4.0.6";
   by-spec."glob"."~4.0.5" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.0.6";
   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 {
@@ -7627,12 +8449,12 @@
     buildInputs =
       (self.nativeDeps."glob-stream" or []);
     deps = {
-      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
       "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";
+      "through2-0.6.2" = self.by-version."through2"."0.6.2";
     };
     peerDependencies = [
     ];
@@ -7703,16 +8525,37 @@
     ];
     passthru.names = [ "globule" ];
   };
+  by-spec."got"."^0.3.0" =
+    self.by-version."got"."0.3.0";
+  by-version."got"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "got-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/got/-/got-0.3.0.tgz";
+        name = "got-0.3.0.tgz";
+        sha1 = "888ec66ca4bc735ab089dbe959496d0f79485493";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."got" or []);
+    deps = {
+      "object-assign-0.3.1" = self.by-version."object-assign"."0.3.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "got" ];
+  };
   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 = "graceful-fs-3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
+  by-version."graceful-fs"."3.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-3.0.3";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
-        name = "graceful-fs-3.0.2.tgz";
-        sha1 = "2cb5bf7f742bea8ad47c754caeee032b7e71a577";
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.3.tgz";
+        name = "graceful-fs-3.0.3.tgz";
+        sha1 = "277141085e739ae7d54361119a62797b08a1d8c0";
       })
     ];
     buildInputs =
@@ -7724,13 +8567,13 @@
     passthru.names = [ "graceful-fs" ];
   };
   by-spec."graceful-fs"."3" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs".">3.0.1 <4.0.0-0" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs"."^3.0.0" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs"."^3.0.2" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs"."~1" =
     self.by-version."graceful-fs"."1.2.3";
   by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
@@ -7776,11 +8619,11 @@
   by-spec."graceful-fs"."~2.0.1" =
     self.by-version."graceful-fs"."2.0.3";
   by-spec."graceful-fs"."~3.0.0" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs"."~3.0.1" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.3";
   by-spec."gridfs-stream"."*" =
     self.by-version."gridfs-stream"."0.5.1";
   by-version."gridfs-stream"."0.5.1" = lib.makeOverridable self.buildNodePackage {
@@ -7928,7 +8771,7 @@
       (self.nativeDeps."grunt-contrib-cssmin" or []);
     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";
+      "clean-css-2.2.16" = self.by-version."clean-css"."2.2.16";
       "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
     };
     peerDependencies = [
@@ -7952,7 +8795,7 @@
     buildInputs =
       (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = {
-      "jshint-2.5.5" = self.by-version."jshint"."2.5.5";
+      "jshint-2.5.6" = self.by-version."jshint"."2.5.6";
       "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
     };
     peerDependencies = [
@@ -8012,15 +8855,15 @@
   };
   "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.4";
   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 = "grunt-contrib-uglify-0.5.1";
+    self.by-version."grunt-contrib-uglify"."0.6.0";
+  by-version."grunt-contrib-uglify"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.6.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
-        name = "grunt-contrib-uglify-0.5.1.tgz";
-        sha1 = "15f0aa5e8e8ba421aea980879ee505bc712b6cde";
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.6.0.tgz";
+        name = "grunt-contrib-uglify-0.6.0.tgz";
+        sha1 = "3a271d4dc4daba64691d0d0d08550ec54a7ec0ab";
       })
     ];
     buildInputs =
@@ -8028,15 +8871,16 @@
     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";
+      "maxmin-1.0.0" = self.by-version."maxmin"."1.0.0";
       "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
+      "uri-path-0.0.2" = self.by-version."uri-path"."0.0.2";
     };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
-  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.6.0";
   by-spec."grunt-karma"."*" =
     self.by-version."grunt-karma"."0.9.0";
   by-version."grunt-karma"."0.9.0" = lib.makeOverridable self.buildNodePackage {
@@ -8056,7 +8900,7 @@
     };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
     ];
     passthru.names = [ "grunt-karma" ];
   };
@@ -8151,7 +8995,7 @@
       (self.nativeDeps."guifi-earth" or []);
     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";
+      "jade-1.7.0" = self.by-version."jade"."1.7.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";
@@ -8180,14 +9024,14 @@
       "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";
+      "interpret-0.3.7" = self.by-version."interpret"."0.3.7";
       "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";
+      "pretty-hrtime-0.2.2" = self.by-version."pretty-hrtime"."0.2.2";
       "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";
+      "vinyl-fs-0.3.8" = self.by-version."vinyl-fs"."0.3.8";
     };
     peerDependencies = [
     ];
@@ -8210,13 +9054,13 @@
       (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";
+      "dateformat-1.0.8" = self.by-version."dateformat"."1.0.8";
       "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";
+      "through2-0.6.2" = self.by-version."through2"."0.6.2";
       "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
     };
     peerDependencies = [
@@ -8267,6 +9111,28 @@
     ];
     passthru.names = [ "gzip-size" ];
   };
+  by-spec."gzip-size"."^1.0.0" =
+    self.by-version."gzip-size"."1.0.0";
+  by-version."gzip-size"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "gzip-size-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz";
+        name = "gzip-size-1.0.0.tgz";
+        sha1 = "66cf8b101047227b95bace6ea1da0c177ed5c22f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."gzip-size" or []);
+    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" ];
+  };
   by-spec."gzippo"."*" =
     self.by-version."gzippo"."0.2.0";
   by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -8282,7 +9148,7 @@
     buildInputs =
       (self.nativeDeps."gzippo" or []);
     deps = {
-      "send-0.9.1" = self.by-version."send"."0.9.1";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
     };
     peerDependencies = [
     ];
@@ -8311,6 +9177,28 @@
     ];
     passthru.names = [ "handlebars" ];
   };
+  by-spec."handlebars"."~2.0.0" =
+    self.by-version."handlebars"."2.0.0";
+  by-version."handlebars"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "handlebars-2.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz";
+        name = "handlebars-2.0.0.tgz";
+        sha1 = "6e9d7f8514a3467fa5e9f82cc158ecfc1d5ac76f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."handlebars" or []);
+    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" ];
+  };
   by-spec."has-ansi"."^0.1.0" =
     self.by-version."has-ansi"."0.1.0";
   by-version."has-ansi"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -8682,15 +9570,15 @@
     passthru.names = [ "http-auth" ];
   };
   by-spec."http-browserify"."^1.4.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";
+    self.by-version."http-browserify"."1.7.0";
+  by-version."http-browserify"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-browserify-1.7.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.6.0.tgz";
-        name = "http-browserify-1.6.0.tgz";
-        sha1 = "0525508f61e351ca7fad6a8a53c8bf104be0a847";
+        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz";
+        name = "http-browserify-1.7.0.tgz";
+        sha1 = "33795ade72df88acfbfd36773cefeda764735b20";
       })
     ];
     buildInputs =
@@ -8946,7 +9834,7 @@
   };
   by-spec."iconv-lite"."~0.4.3" =
     self.by-version."iconv-lite"."0.4.4";
-  by-spec."ieee754"."~1.1.1" =
+  by-spec."ieee754"."^1.1.4" =
     self.by-version."ieee754"."1.1.4";
   by-version."ieee754"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "ieee754-1.1.4";
@@ -8986,22 +9874,23 @@
     ];
     passthru.names = [ "indexof" ];
   };
-  by-spec."inflight"."~1.0.1" =
-    self.by-version."inflight"."1.0.1";
-  by-version."inflight"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inflight-1.0.1";
+  by-spec."inflight"."~1.0.3" =
+    self.by-version."inflight"."1.0.4";
+  by-version."inflight"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "inflight-1.0.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.1.tgz";
-        name = "inflight-1.0.1.tgz";
-        sha1 = "01f6911821535243c790ac0f998f54e9023ffb6f";
+        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
+        name = "inflight-1.0.4.tgz";
+        sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
       })
     ];
     buildInputs =
       (self.nativeDeps."inflight" or []);
     deps = {
-      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
     };
     peerDependencies = [
     ];
@@ -9060,15 +9949,15 @@
   by-spec."inherits"."~2.0.1" =
     self.by-version."inherits"."2.0.1";
   by-spec."ini"."1" =
-    self.by-version."ini"."1.2.1";
-  by-version."ini"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.2.1";
+    self.by-version."ini"."1.3.0";
+  by-version."ini"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ini-1.3.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
-        name = "ini-1.2.1.tgz";
-        sha1 = "7f774e2f22752cd1dacbf9c63323df2a164ebca3";
+        url = "http://registry.npmjs.org/ini/-/ini-1.3.0.tgz";
+        name = "ini-1.3.0.tgz";
+        sha1 = "625483e56c643a7721014c76604d3353f44bd429";
       })
     ];
     buildInputs =
@@ -9080,9 +9969,9 @@
     passthru.names = [ "ini" ];
   };
   by-spec."ini"."1.x.x" =
-    self.by-version."ini"."1.2.1";
+    self.by-version."ini"."1.3.0";
   by-spec."ini"."^1.2.0" =
-    self.by-version."ini"."1.2.1";
+    self.by-version."ini"."1.3.0";
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
   by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -9105,26 +9994,44 @@
   };
   by-spec."ini"."~1.2.0" =
     self.by-version."ini"."1.2.1";
-  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";
+  by-version."ini"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ini-1.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
+        name = "ini-1.2.1.tgz";
+        sha1 = "7f774e2f22752cd1dacbf9c63323df2a164ebca3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ini" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ini" ];
+  };
+  by-spec."init-package-json"."~1.1.0" =
+    self.by-version."init-package-json"."1.1.0";
+  by-version."init-package-json"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "init-package-json-1.1.0";
     bin = false;
     src = [
       (fetchurl {
-        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";
+        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-1.1.0.tgz";
+        name = "init-package-json-1.1.0.tgz";
+        sha1 = "fea80c641974421ddd4c6169c3a911118b116d5c";
       })
     ];
     buildInputs =
       (self.nativeDeps."init-package-json" or []);
     deps = {
-      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
       "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";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
     };
     peerDependencies = [
     ];
@@ -9145,12 +10052,67 @@
     buildInputs =
       (self.nativeDeps."inline-source-map" or []);
     deps = {
-      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
     passthru.names = [ "inline-source-map" ];
   };
+  by-spec."inquirer"."0.7.1" =
+    self.by-version."inquirer"."0.7.1";
+  by-version."inquirer"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.7.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz";
+        name = "inquirer-0.7.1.tgz";
+        sha1 = "b8acf140165bd581862ed1198fb6d26430091fac";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inquirer" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "cli-color-0.3.2" = self.by-version."cli-color"."0.3.2";
+      "figures-1.3.3" = self.by-version."figures"."1.3.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "readline2-0.1.0" = self.by-version."readline2"."0.1.0";
+      "rx-2.3.12" = self.by-version."rx"."2.3.12";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inquirer" ];
+  };
+  by-spec."inquirer"."^0.6.0" =
+    self.by-version."inquirer"."0.6.0";
+  by-version."inquirer"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.6.0.tgz";
+        name = "inquirer-0.6.0.tgz";
+        sha1 = "614d7bb3e48f9e6a8028e94a0c38f23ef29823d3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inquirer" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "cli-color-0.3.2" = self.by-version."cli-color"."0.3.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "readline2-0.1.0" = self.by-version."readline2"."0.1.0";
+      "rx-2.3.12" = self.by-version."rx"."2.3.12";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inquirer" ];
+  };
   by-spec."insert-module-globals"."^6.1.0" =
     self.by-version."insert-module-globals"."6.1.0";
   by-version."insert-module-globals"."6.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -9170,23 +10132,52 @@
       "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";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
       "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "insert-module-globals" ];
   };
+  by-spec."insight"."0.4.3" =
+    self.by-version."insight"."0.4.3";
+  by-version."insight"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "insight-0.4.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/insight/-/insight-0.4.3.tgz";
+        name = "insight-0.4.3.tgz";
+        sha1 = "76d653c5c0d8048b03cdba6385a6948f74614af0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."insight" or []);
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "configstore-0.3.1" = self.by-version."configstore"."0.3.1";
+      "inquirer-0.6.0" = self.by-version."inquirer"."0.6.0";
+      "lodash.debounce-2.4.1" = self.by-version."lodash.debounce"."2.4.1";
+      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
+      "os-name-1.0.1" = self.by-version."os-name"."1.0.1";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "insight" ];
+  };
   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";
+    self.by-version."interpret"."0.3.7";
+  by-version."interpret"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "interpret-0.3.7";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/interpret/-/interpret-0.3.6.tgz";
-        name = "interpret-0.3.6.tgz";
-        sha1 = "51b6927f372a92f1e4a2a5af0d14699de9618799";
+        url = "http://registry.npmjs.org/interpret/-/interpret-0.3.7.tgz";
+        name = "interpret-0.3.7.tgz";
+        sha1 = "18727eda04d50632ffa4b5eafb342b7ff398b36e";
       })
     ];
     buildInputs =
@@ -9197,6 +10188,26 @@
     ];
     passthru.names = [ "interpret" ];
   };
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "intersect-0.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz";
+        name = "intersect-0.0.3.tgz";
+        sha1 = "c1a4a5e5eac6ede4af7504cc07e0ada7bc9f4920";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."intersect" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "intersect" ];
+  };
   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 {
@@ -9217,6 +10228,26 @@
     ];
     passthru.names = [ "ipaddr.js" ];
   };
+  by-spec."ipaddr.js"."0.1.3" =
+    self.by-version."ipaddr.js"."0.1.3";
+  by-version."ipaddr.js"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "ipaddr.js-0.1.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.3.tgz";
+        name = "ipaddr.js-0.1.3.tgz";
+        sha1 = "27a9ca37f148d2102b0ef191ccbf2c51a8f025c6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ipaddr.js" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ipaddr.js" ];
+  };
   by-spec."ironhorse"."*" =
     self.by-version."ironhorse"."0.0.10";
   by-version."ironhorse"."0.0.10" = lib.makeOverridable self.buildNodePackage {
@@ -9233,19 +10264,19 @@
       (self.nativeDeps."ironhorse" or []);
     deps = {
       "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
-      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "winston-0.8.0" = self.by-version."winston"."0.8.0";
       "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";
+      "express-4.9.5" = self.by-version."express"."4.9.5";
+      "jade-1.7.0" = self.by-version."jade"."1.7.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";
+      "mongoose-3.8.17" = self.by-version."mongoose"."3.8.17";
       "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";
+      "kue-0.8.9" = self.by-version."kue"."0.8.9";
       "redis-0.12.1" = self.by-version."redis"."0.12.1";
       "hiredis-0.1.17" = self.by-version."hiredis"."0.1.17";
     };
@@ -9254,6 +10285,26 @@
     passthru.names = [ "ironhorse" ];
   };
   "ironhorse" = self.by-version."ironhorse"."0.0.10";
+  by-spec."is-array"."^1.0.1" =
+    self.by-version."is-array"."1.0.1";
+  by-version."is-array"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "is-array-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz";
+        name = "is-array-1.0.1.tgz";
+        sha1 = "e9850cc2cc860c3bc0977e84ccf0dd464584279a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."is-array" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "is-array" ];
+  };
   by-spec."is-promise"."~1" =
     self.by-version."is-promise"."1.0.1";
   by-version."is-promise"."1.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -9274,6 +10325,26 @@
     ];
     passthru.names = [ "is-promise" ];
   };
+  by-spec."is-root"."~1.0.0" =
+    self.by-version."is-root"."1.0.0";
+  by-version."is-root"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "is-root-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz";
+        name = "is-root-1.0.0.tgz";
+        sha1 = "07b6c233bc394cd9d02ba15c966bd6660d6342d5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."is-root" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "is-root" ];
+  };
   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 {
@@ -9343,7 +10414,7 @@
       "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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -9385,15 +10456,15 @@
   by-spec."istanbul"."~0.3.0" =
     self.by-version."istanbul"."0.3.2";
   by-spec."jade"."*" =
-    self.by-version."jade"."1.6.0";
-  by-version."jade"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-1.6.0";
+    self.by-version."jade"."1.7.0";
+  by-version."jade"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-1.7.0";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-1.6.0.tgz";
-        name = "jade-1.6.0.tgz";
-        sha1 = "c02540cd97b1014db3c15743746bc3dcd54170f9";
+        url = "http://registry.npmjs.org/jade/-/jade-1.7.0.tgz";
+        name = "jade-1.7.0.tgz";
+        sha1 = "fa0251e9536cd363034ea88f61e99c7e98991524";
       })
     ];
     buildInputs =
@@ -9412,7 +10483,7 @@
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.by-version."jade"."1.6.0";
+  "jade" = self.by-version."jade"."1.7.0";
   by-spec."jade"."0.26.3" =
     self.by-version."jade"."0.26.3";
   by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
@@ -9485,7 +10556,7 @@
     passthru.names = [ "jade" ];
   };
   by-spec."jade".">= 0.0.1" =
-    self.by-version."jade"."1.6.0";
+    self.by-version."jade"."1.7.0";
   by-spec."jade"."~0.35.0" =
     self.by-version."jade"."0.35.0";
   by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
@@ -9514,27 +10585,27 @@
     passthru.names = [ "jade" ];
   };
   by-spec."jayschema"."*" =
-    self.by-version."jayschema"."0.3.0";
-  by-version."jayschema"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jayschema-0.3.0";
+    self.by-version."jayschema"."0.3.1";
+  by-version."jayschema"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jayschema-0.3.1";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.0.tgz";
-        name = "jayschema-0.3.0.tgz";
-        sha1 = "21089cbc978630932014f4508d7f709467d3d300";
+        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.1.tgz";
+        name = "jayschema-0.3.1.tgz";
+        sha1 = "76f4769f9b172ef7d5dcde4875b49cb736179b58";
       })
     ];
     buildInputs =
       (self.nativeDeps."jayschema" or []);
     deps = {
-      "when-3.4.5" = self.by-version."when"."3.4.5";
+      "when-3.4.6" = self.by-version."when"."3.4.6";
     };
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.by-version."jayschema"."0.3.0";
+  "jayschema" = self.by-version."jayschema"."0.3.1";
   by-spec."js-yaml"."*" =
     self.by-version."js-yaml"."3.2.2";
   by-version."js-yaml"."3.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -9691,15 +10762,15 @@
   by-spec."jsesc"."~0.4.3" =
     self.by-version."jsesc"."0.4.3";
   by-spec."jshint"."*" =
-    self.by-version."jshint"."2.5.5";
-  by-version."jshint"."2.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.5.5";
+    self.by-version."jshint"."2.5.6";
+  by-version."jshint"."2.5.6" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.5.6";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.5.tgz";
-        name = "jshint-2.5.5.tgz";
-        sha1 = "9f24958dcd11c5e2ceba96ec92225873b02f4775";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.6.tgz";
+        name = "jshint-2.5.6.tgz";
+        sha1 = "1685ce1f9e1c74832375d83fe89728589bd9d8c7";
       })
     ];
     buildInputs =
@@ -9708,19 +10779,19 @@
       "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";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.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";
+      "strip-json-comments-1.0.1" = self.by-version."strip-json-comments"."1.0.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  "jshint" = self.by-version."jshint"."2.5.5";
+  "jshint" = self.by-version."jshint"."2.5.6";
   by-spec."jshint"."~2.5.0" =
-    self.by-version."jshint"."2.5.5";
+    self.by-version."jshint"."2.5.6";
   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 {
@@ -9929,16 +11000,36 @@
     ];
     passthru.names = [ "jstransform" ];
   };
+  by-spec."junk"."~1.0.0" =
+    self.by-version."junk"."1.0.0";
+  by-version."junk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "junk-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/junk/-/junk-1.0.0.tgz";
+        name = "junk-1.0.0.tgz";
+        sha1 = "22b05ee710f40c44f82fb260602ffecd489223b8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."junk" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "junk" ];
+  };
   by-spec."karma"."*" =
-    self.by-version."karma"."0.12.23";
-  by-version."karma"."0.12.23" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.12.23";
+    self.by-version."karma"."0.12.24";
+  by-version."karma"."0.12.24" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.12.24";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.12.23.tgz";
-        name = "karma-0.12.23.tgz";
-        sha1 = "2a01041019234f76f59b8c7c2128f06c839fe8c3";
+        url = "http://registry.npmjs.org/karma/-/karma-0.12.24.tgz";
+        name = "karma-0.12.24.tgz";
+        sha1 = "edd66dd4698acb2227b2b3797467a477d951379d";
       })
     ];
     buildInputs =
@@ -9946,7 +11037,7 @@
     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";
+      "chokidar-0.9.0" = self.by-version."chokidar"."0.9.0";
       "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";
@@ -9957,36 +11048,36 @@
       "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";
+      "useragent-2.0.10" = self.by-version."useragent"."2.0.10";
       "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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
     passthru.names = [ "karma" ];
   };
-  "karma" = self.by-version."karma"."0.12.23";
+  "karma" = self.by-version."karma"."0.12.24";
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.12.23";
+    self.by-version."karma"."0.12.24";
   by-spec."karma".">=0.12.8" =
-    self.by-version."karma"."0.12.23";
+    self.by-version."karma"."0.12.24";
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.12.23";
+    self.by-version."karma"."0.12.24";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.12.23";
+    self.by-version."karma"."0.12.24";
   by-spec."karma"."~0.12.0" =
-    self.by-version."karma"."0.12.23";
+    self.by-version."karma"."0.12.24";
   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 = "karma-chrome-launcher-0.1.4";
+    self.by-version."karma-chrome-launcher"."0.1.5";
+  by-version."karma-chrome-launcher"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-chrome-launcher-0.1.5";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.4.tgz";
-        name = "karma-chrome-launcher-0.1.4.tgz";
-        sha1 = "492f6b8ceed3dacb829b147514c9106660f1b185";
+        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.5.tgz";
+        name = "karma-chrome-launcher-0.1.5.tgz";
+        sha1 = "70e95dca5c4d7a15884850daa3ab60d648dbfe8b";
       })
     ];
     buildInputs =
@@ -9994,11 +11085,11 @@
     deps = {
     };
     peerDependencies = [
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
     ];
     passthru.names = [ "karma-chrome-launcher" ];
   };
-  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.4";
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.5";
   by-spec."karma-coverage"."*" =
     self.by-version."karma-coverage"."0.2.6";
   by-version."karma-coverage"."0.2.6" = lib.makeOverridable self.buildNodePackage {
@@ -10016,11 +11107,11 @@
     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";
+      "dateformat-1.0.8" = self.by-version."dateformat"."1.0.8";
       "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
     };
     peerDependencies = [
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
     ];
     passthru.names = [ "karma-coverage" ];
   };
@@ -10043,7 +11134,7 @@
       "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
     };
     peerDependencies = [
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
@@ -10065,7 +11156,7 @@
     deps = {
     };
     peerDependencies = [
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
       self.by-version."mocha"."1.21.4"
     ];
     passthru.names = [ "karma-mocha" ];
@@ -10088,7 +11179,7 @@
     deps = {
     };
     peerDependencies = [
-      self.by-version."karma"."0.12.23"
+      self.by-version."karma"."0.12.24"
       self.by-version."requirejs"."2.1.15"
     ];
     passthru.names = [ "karma-requirejs" ];
@@ -10109,13 +11200,13 @@
     buildInputs =
       (self.nativeDeps."karma-sauce-launcher" or []);
     deps = {
-      "wd-0.3.7" = self.by-version."wd"."0.3.7";
+      "wd-0.3.8" = self.by-version."wd"."0.3.8";
       "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.23"
+      self.by-version."karma"."0.12.24"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
@@ -10182,26 +11273,47 @@
     ];
     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";
+  by-spec."kerberos"."0.0.5" =
+    self.by-version."kerberos"."0.0.5";
+  by-version."kerberos"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "kerberos-0.0.5";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.4.tgz";
-        name = "kerberos-0.0.4.tgz";
-        sha1 = "11836638f729a2f6c5bae056a7d7a15898c9ba7c";
+        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.5.tgz";
+        name = "kerberos-0.0.5.tgz";
+        sha1 = "48170d7f75bc1570044aa46c501af1c87b1e7cf0";
       })
     ];
     buildInputs =
       (self.nativeDeps."kerberos" or []);
     deps = {
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
   };
+  by-spec."kew"."0.4.0" =
+    self.by-version."kew"."0.4.0";
+  by-version."kew"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "kew-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/kew/-/kew-0.4.0.tgz";
+        name = "kew-0.4.0.tgz";
+        sha1 = "da97484f1b06502146f3c60cec05ac6012cd993f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."kew" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "kew" ];
+  };
   by-spec."kew"."~0.1.7" =
     self.by-version."kew"."0.1.7";
   by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
@@ -10262,8 +11374,26 @@
     ];
     passthru.names = [ "keypress" ];
   };
-  by-spec."keypress"."~0.1.0" =
-    self.by-version."keypress"."0.1.0";
+  by-spec."keypress"."~0.2.1" =
+    self.by-version."keypress"."0.2.1";
+  by-version."keypress"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "keypress-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz";
+        name = "keypress-0.2.1.tgz";
+        sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."keypress" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "keypress" ];
+  };
   by-spec."knockout"."~3.2.0" =
     self.by-version."knockout"."3.2.0";
   by-version."knockout"."3.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -10303,7 +11433,7 @@
       "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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -10311,15 +11441,15 @@
   };
   "knox" = self.by-version."knox"."0.9.1";
   by-spec."kue"."*" =
-    self.by-version."kue"."0.8.6";
-  by-version."kue"."0.8.6" = lib.makeOverridable self.buildNodePackage {
-    name = "kue-0.8.6";
+    self.by-version."kue"."0.8.9";
+  by-version."kue"."0.8.9" = lib.makeOverridable self.buildNodePackage {
+    name = "kue-0.8.9";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/kue/-/kue-0.8.6.tgz";
-        name = "kue-0.8.6.tgz";
-        sha1 = "62e707137d2e90f98fb2dda7f5b8543dbc9de11e";
+        url = "http://registry.npmjs.org/kue/-/kue-0.8.9.tgz";
+        name = "kue-0.8.9.tgz";
+        sha1 = "6fb2c7d4014f26a64ebf76c092085fe9db16fdcb";
       })
     ];
     buildInputs =
@@ -10330,7 +11460,7 @@
       "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";
+      "lodash-deep-1.4.2" = self.by-version."lodash-deep"."1.4.2";
       "nib-0.5.0" = self.by-version."nib"."0.5.0";
       "reds-0.2.4" = self.by-version."reds"."0.2.4";
     };
@@ -10338,7 +11468,7 @@
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.by-version."kue"."0.8.6";
+  "kue" = self.by-version."kue"."0.8.9";
   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 {
@@ -10356,12 +11486,33 @@
     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";
+      "stream-splicer-1.3.1" = self.by-version."stream-splicer"."1.3.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "labeled-stream-splicer" ];
   };
+  by-spec."latest-version"."^0.2.0" =
+    self.by-version."latest-version"."0.2.0";
+  by-version."latest-version"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "latest-version-0.2.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/latest-version/-/latest-version-0.2.0.tgz";
+        name = "latest-version-0.2.0.tgz";
+        sha1 = "adaf898d5f22380d3f9c45386efdff0a1b5b7501";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."latest-version" or []);
+    deps = {
+      "package-json-0.2.0" = self.by-version."package-json"."0.2.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "latest-version" ];
+  };
   by-spec."lazy"."~1.0.11" =
     self.by-version."lazy"."1.0.11";
   by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
@@ -10397,7 +11548,7 @@
     buildInputs =
       (self.nativeDeps."lazystream" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
     };
     peerDependencies = [
     ];
@@ -10440,7 +11591,7 @@
     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";
+      "vinyl-fs-0.3.8" = self.by-version."vinyl-fs"."0.3.8";
     };
     peerDependencies = [
     ];
@@ -10462,12 +11613,12 @@
     buildInputs =
       (self.nativeDeps."less" or []);
     deps = {
-      "graceful-fs-3.0.2" = self.by-version."graceful-fs"."3.0.2";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "clean-css-2.2.16" = self.by-version."clean-css"."2.2.16";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
@@ -10651,15 +11802,15 @@
   by-spec."lodash"."~2.4.1" =
     self.by-version."lodash"."2.4.1";
   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 = "lodash-deep-1.2.1";
+    self.by-version."lodash-deep"."1.4.2";
+  by-version."lodash-deep"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-deep-1.4.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.2.1.tgz";
-        name = "lodash-deep-1.2.1.tgz";
-        sha1 = "04ea62f43112151388de983f7e07c3e6ded07225";
+        url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.4.2.tgz";
+        name = "lodash-deep-1.4.2.tgz";
+        sha1 = "451704eb282c2ad3d6602e9602b7cd25db52e37d";
       })
     ];
     buildInputs =
@@ -10857,6 +12008,29 @@
     ];
     passthru.names = [ "lodash._shimkeys" ];
   };
+  by-spec."lodash.debounce"."^2.4.1" =
+    self.by-version."lodash.debounce"."2.4.1";
+  by-version."lodash.debounce"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.debounce-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
+        name = "lodash.debounce-2.4.1.tgz";
+        sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.debounce" or []);
+    deps = {
+      "lodash.isfunction-2.4.1" = self.by-version."lodash.isfunction"."2.4.1";
+      "lodash.isobject-2.4.1" = self.by-version."lodash.isobject"."2.4.1";
+      "lodash.now-2.4.1" = self.by-version."lodash.now"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.debounce" ];
+  };
   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 {
@@ -10902,6 +12076,26 @@
     ];
     passthru.names = [ "lodash.escape" ];
   };
+  by-spec."lodash.isfunction"."~2.4.1" =
+    self.by-version."lodash.isfunction"."2.4.1";
+  by-version."lodash.isfunction"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.isfunction-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz";
+        name = "lodash.isfunction-2.4.1.tgz";
+        sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.isfunction" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.isfunction" ];
+  };
   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 {
@@ -10946,6 +12140,27 @@
     ];
     passthru.names = [ "lodash.keys" ];
   };
+  by-spec."lodash.now"."~2.4.1" =
+    self.by-version."lodash.now"."2.4.1";
+  by-version."lodash.now"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash.now-2.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz";
+        name = "lodash.now-2.4.1.tgz";
+        sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash.now" or []);
+    deps = {
+      "lodash._isnative-2.4.1" = self.by-version."lodash._isnative"."2.4.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash.now" ];
+  };
   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 {
@@ -11052,7 +12267,7 @@
       (self.nativeDeps."log4js" or []);
     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";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
       "semver-1.1.4" = self.by-version."semver"."1.1.4";
     };
     peerDependencies = [
@@ -11181,8 +12396,49 @@
     ];
     passthru.names = [ "lru-cache" ];
   };
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lru-cache-2.3.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
+        name = "lru-cache-2.3.1.tgz";
+        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lru-cache" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lru-cache" ];
+  };
   by-spec."lru-cache"."~2.5.0" =
     self.by-version."lru-cache"."2.5.0";
+  by-spec."lru-queue"."0.1.x" =
+    self.by-version."lru-queue"."0.1.0";
+  by-version."lru-queue"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lru-queue-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz";
+        name = "lru-queue-0.1.0.tgz";
+        sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lru-queue" or []);
+    deps = {
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lru-queue" ];
+  };
   by-spec."lsmod"."~0.0.3" =
     self.by-version."lsmod"."0.0.3";
   by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage {
@@ -11274,7 +12530,31 @@
     ];
     passthru.names = [ "maxmin" ];
   };
-  by-spec."maxmin"."^0.2.0" =
+  by-spec."maxmin"."^1.0.0" =
+    self.by-version."maxmin"."1.0.0";
+  by-version."maxmin"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "maxmin-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/maxmin/-/maxmin-1.0.0.tgz";
+        name = "maxmin-1.0.0.tgz";
+        sha1 = "040b7a15ba5c6f3b08581cbf201df0bdd64e19f0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."maxmin" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "figures-1.3.3" = self.by-version."figures"."1.3.3";
+      "gzip-size-1.0.0" = self.by-version."gzip-size"."1.0.0";
+      "pretty-bytes-1.0.1" = self.by-version."pretty-bytes"."1.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "maxmin" ];
+  };
+  by-spec."maxmin"."~0.2.0" =
     self.by-version."maxmin"."0.2.2";
   by-version."maxmin"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "maxmin-0.2.2";
@@ -11290,7 +12570,7 @@
       (self.nativeDeps."maxmin" or []);
     deps = {
       "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
-      "figures-1.3.2" = self.by-version."figures"."1.3.2";
+      "figures-1.3.3" = self.by-version."figures"."1.3.3";
       "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";
     };
@@ -11298,18 +12578,16 @@
     ];
     passthru.names = [ "maxmin" ];
   };
-  by-spec."maxmin"."~0.2.0" =
-    self.by-version."maxmin"."0.2.2";
   by-spec."meat"."*" =
-    self.by-version."meat"."0.2.5";
-  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "meat-0.2.5";
+    self.by-version."meat"."0.3.2";
+  by-version."meat"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "meat-0.3.2";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
-        name = "meat-0.2.5.tgz";
-        sha1 = "8f277ec68f51794365e271166c7b7bba8d046869";
+        url = "http://registry.npmjs.org/meat/-/meat-0.3.2.tgz";
+        name = "meat-0.3.2.tgz";
+        sha1 = "f385317a6273c6d92d00b40de91e99554cc6f194";
       })
     ];
     buildInputs =
@@ -11326,7 +12604,7 @@
     ];
     passthru.names = [ "meat" ];
   };
-  "meat" = self.by-version."meat"."0.2.5";
+  "meat" = self.by-version."meat"."0.3.2";
   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 {
@@ -11367,6 +12645,32 @@
     ];
     passthru.names = [ "media-typer" ];
   };
+  by-spec."memoizee"."0.3.x" =
+    self.by-version."memoizee"."0.3.7";
+  by-version."memoizee"."0.3.7" = lib.makeOverridable self.buildNodePackage {
+    name = "memoizee-0.3.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/memoizee/-/memoizee-0.3.7.tgz";
+        name = "memoizee-0.3.7.tgz";
+        sha1 = "13ccfdd580e56cf7c10f4b6342a6800ef87e975b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."memoizee" or []);
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+      "event-emitter-0.3.1" = self.by-version."event-emitter"."0.3.1";
+      "lru-queue-0.1.0" = self.by-version."lru-queue"."0.1.0";
+      "next-tick-0.2.2" = self.by-version."next-tick"."0.2.2";
+      "timers-ext-0.1.0" = self.by-version."timers-ext"."0.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "memoizee" ];
+  };
   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 {
@@ -11451,26 +12755,6 @@
     ];
     passthru.names = [ "methods" ];
   };
-  by-spec."methods"."1.0.0" =
-    self.by-version."methods"."1.0.0";
-  by-version."methods"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
-        name = "methods-1.0.0.tgz";
-        sha1 = "9a73d86375dfcef26ef61ca3e4b8a2e2538a80e3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
-  };
   by-spec."methods"."1.0.1" =
     self.by-version."methods"."1.0.1";
   by-version."methods"."1.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -11643,16 +12927,16 @@
     self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  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";
+  by-spec."mime-db"."1.x" =
+    self.by-version."mime-db"."1.1.0";
+  by-version."mime-db"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-db-1.1.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz";
-        name = "mime-db-1.0.1.tgz";
-        sha1 = "35d99b0965967253bb30633a7d07a8de9975a952";
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.1.0.tgz";
+        name = "mime-db-1.1.0.tgz";
+        sha1 = "4613f418ab995450bf4bda240cd0ab38016a07a9";
       })
     ];
     buildInputs =
@@ -11663,6 +12947,8 @@
     ];
     passthru.names = [ "mime-db" ];
   };
+  by-spec."mime-db"."~1.1.0" =
+    self.by-version."mime-db"."1.1.0";
   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 {
@@ -11685,29 +12971,27 @@
   };
   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";
+  by-spec."mime-types"."~2.0.2" =
+    self.by-version."mime-types"."2.0.2";
+  by-version."mime-types"."2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-types-2.0.2";
     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";
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.2.tgz";
+        name = "mime-types-2.0.2.tgz";
+        sha1 = "c74b779f2896c367888622bd537aaaad4c0a2c08";
       })
     ];
     buildInputs =
       (self.nativeDeps."mime-types" or []);
     deps = {
-      "mime-db-1.0.1" = self.by-version."mime-db"."1.0.1";
+      "mime-db-1.1.0" = self.by-version."mime-db"."1.1.0";
     };
     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 {
@@ -11838,8 +13122,6 @@
     ];
     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 {
@@ -11862,6 +13144,8 @@
     ];
     passthru.names = [ "minimatch" ];
   };
+  by-spec."minimatch"."1.0.x" =
+    self.by-version."minimatch"."1.0.0";
   by-spec."minimatch".">=0.2.4" =
     self.by-version."minimatch"."1.0.0";
   by-spec."minimatch"."^1.0.0" =
@@ -12105,6 +13389,26 @@
     self.by-version."mkdirp"."0.3.5";
   by-spec."mkdirp"."~0.5.0" =
     self.by-version."mkdirp"."0.5.0";
+  by-spec."mkpath"."~0.1.0" =
+    self.by-version."mkpath"."0.1.0";
+  by-version."mkpath"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkpath-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz";
+        name = "mkpath-0.1.0.tgz";
+        sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkpath" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkpath" ];
+  };
   by-spec."mocha"."*" =
     self.by-version."mocha"."1.21.4";
   by-version."mocha"."1.21.4" = lib.makeOverridable self.buildNodePackage {
@@ -12179,7 +13483,7 @@
       "commander-2.0.0" = self.by-version."commander"."2.0.0";
     };
     peerDependencies = [
-      self.by-version."phantomjs"."1.9.7-15"
+      self.by-version."phantomjs"."1.9.10"
     ];
     passthru.names = [ "mocha-phantomjs" ];
   };
@@ -12210,15 +13514,15 @@
   };
   "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0";
   by-spec."module-deps"."^3.5.0" =
-    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";
+    self.by-version."module-deps"."3.5.6";
+  by-version."module-deps"."3.5.6" = lib.makeOverridable self.buildNodePackage {
+    name = "module-deps-3.5.6";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/module-deps/-/module-deps-3.5.5.tgz";
-        name = "module-deps-3.5.5.tgz";
-        sha1 = "08e52113552fe72a6f912b1bbe58e9e84ff1ac4a";
+        url = "http://registry.npmjs.org/module-deps/-/module-deps-3.5.6.tgz";
+        name = "module-deps-3.5.6.tgz";
+        sha1 = "3853bb0be43b0d6632d25d96e4099abdfdf989d9";
       })
     ];
     buildInputs =
@@ -12235,7 +13539,7 @@
       "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";
+      "stream-combiner2-1.0.2" = self.by-version."stream-combiner2"."1.0.2";
       "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
       "through2-0.4.2" = self.by-version."through2"."0.4.2";
     };
@@ -12304,28 +13608,28 @@
     passthru.names = [ "moment" ];
   };
   by-spec."mongodb"."*" =
-    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";
+    self.by-version."mongodb"."2.0.0-alpha2";
+  by-version."mongodb"."2.0.0-alpha2" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-2.0.0-alpha2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-2.0.0-alpha1.tgz";
-        name = "mongodb-2.0.0-alpha1.tgz";
-        sha1 = "6d46f08fc00d5189715b66f715dd9a74b4c67123";
+        url = "http://registry.npmjs.org/mongodb/-/mongodb-2.0.0-alpha2.tgz";
+        name = "mongodb-2.0.0-alpha2.tgz";
+        sha1 = "04541787b29a7db6a03ca4e44e593dd726d03d91";
       })
     ];
     buildInputs =
       (self.nativeDeps."mongodb" or []);
     deps = {
-      "mongodb-core-1.0.0-alpha7" = self.by-version."mongodb-core"."1.0.0-alpha7";
+      "mongodb-core-1.0.0-alpha9" = self.by-version."mongodb-core"."1.0.0-alpha9";
       "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
     };
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.by-version."mongodb"."2.0.0-alpha1";
+  "mongodb" = self.by-version."mongodb"."2.0.0-alpha2";
   by-spec."mongodb"."1.2.14" =
     self.by-version."mongodb"."1.2.14";
   by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
@@ -12415,15 +13719,15 @@
     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";
+    self.by-version."mongodb-core"."1.0.0-alpha9";
+  by-version."mongodb-core"."1.0.0-alpha9" = lib.makeOverridable self.buildNodePackage {
+    name = "mongodb-core-1.0.0-alpha9";
     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";
+        url = "http://registry.npmjs.org/mongodb-core/-/mongodb-core-1.0.0-alpha9.tgz";
+        name = "mongodb-core-1.0.0-alpha9.tgz";
+        sha1 = "895cf88ad00d20462c417cc2f59d261ec15f0c23";
       })
     ];
     buildInputs =
@@ -12432,7 +13736,7 @@
       "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";
+      "kerberos-0.0.5" = self.by-version."kerberos"."0.0.5";
     };
     peerDependencies = [
     ];
@@ -12495,15 +13799,15 @@
   };
   "mongoose" = self.by-version."mongoose"."3.6.20";
   by-spec."mongoose"."3.8.x" =
-    self.by-version."mongoose"."3.8.16";
-  by-version."mongoose"."3.8.16" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.8.16";
+    self.by-version."mongoose"."3.8.17";
+  by-version."mongoose"."3.8.17" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.17";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.16.tgz";
-        name = "mongoose-3.8.16.tgz";
-        sha1 = "485df4669b5a66b642a29af76605f11664c023ae";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.17.tgz";
+        name = "mongoose-3.8.17.tgz";
+        sha1 = "23426b3aea84255623dca28823de64a8fcd53da8";
       })
     ];
     buildInputs =
@@ -12607,30 +13911,49 @@
     ];
     passthru.names = [ "monocle" ];
   };
-  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";
+  by-spec."morgan"."~1.3.2" =
+    self.by-version."morgan"."1.3.2";
+  by-version."morgan"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "morgan-1.3.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/morgan/-/morgan-1.3.0.tgz";
-        name = "morgan-1.3.0.tgz";
-        sha1 = "ae8e835e365b306a10803a90ddfe27b4a33594f9";
+        url = "http://registry.npmjs.org/morgan/-/morgan-1.3.2.tgz";
+        name = "morgan-1.3.2.tgz";
+        sha1 = "ac41aa15221ee4e5f2ac843896b6918139a18efd";
       })
     ];
     buildInputs =
       (self.nativeDeps."morgan" or []);
     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";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "morgan" ];
   };
+  by-spec."mout"."~0.9.0" =
+    self.by-version."mout"."0.9.1";
+  by-version."mout"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mout-0.9.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mout/-/mout-0.9.1.tgz";
+        name = "mout-0.9.1.tgz";
+        sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mout" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mout" ];
+  };
   by-spec."mpath"."0.1.1" =
     self.by-version."mpath"."0.1.1";
   by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
@@ -12861,7 +14184,7 @@
     ];
     passthru.names = [ "muri" ];
   };
-  by-spec."mute-stream"."~0.0.4" =
+  by-spec."mute-stream"."0.0.4" =
     self.by-version."mute-stream"."0.0.4";
   by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "mute-stream-0.0.4";
@@ -12881,6 +14204,8 @@
     ];
     passthru.names = [ "mute-stream" ];
   };
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
   by-spec."mv"."0.0.5" =
     self.by-version."mv"."0.0.5";
   by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -12984,26 +14309,8 @@
   };
   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 = "nan-0.8.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz";
-        name = "nan-0.8.0.tgz";
-        sha1 = "022a8fa5e9fe8420964ac1fb3dc94e17f449f5fd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
+  by-spec."nan"."^1.3.0" =
+    self.by-version."nan"."1.3.0";
   by-spec."nan"."~1.0.0" =
     self.by-version."nan"."1.0.0";
   by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -13087,7 +14394,7 @@
       (self.nativeDeps."nconf" or []);
     deps = {
       "async-0.2.9" = self.by-version."async"."0.2.9";
-      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "ini-1.3.0" = self.by-version."ini"."1.3.0";
       "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
     };
     peerDependencies = [
@@ -13119,7 +14426,7 @@
     ];
     passthru.names = [ "ncp" ];
   };
-  by-spec."ncp"."0.4.2" =
+  by-spec."ncp"."0.4.x" =
     self.by-version."ncp"."0.4.2";
   by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
@@ -13139,8 +14446,26 @@
     ];
     passthru.names = [ "ncp" ];
   };
-  by-spec."ncp"."0.4.x" =
-    self.by-version."ncp"."0.4.2";
+  by-spec."ncp"."0.6.0" =
+    self.by-version."ncp"."0.6.0";
+  by-version."ncp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ncp-0.6.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz";
+        name = "ncp-0.6.0.tgz";
+        sha1 = "df8ce021e262be21b52feb3d3e5cfaab12491f0d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ncp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ncp" ];
+  };
   by-spec."ncp"."~0.4.2" =
     self.by-version."ncp"."0.4.2";
   by-spec."negotiator"."0.2.5" =
@@ -13203,6 +14528,26 @@
     ];
     passthru.names = [ "negotiator" ];
   };
+  by-spec."negotiator"."0.4.8" =
+    self.by-version."negotiator"."0.4.8";
+  by-version."negotiator"."0.4.8" = lib.makeOverridable self.buildNodePackage {
+    name = "negotiator-0.4.8";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.8.tgz";
+        name = "negotiator-0.4.8.tgz";
+        sha1 = "96010b23b63c387f47a4bed96762a831cda39eab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
   by-spec."negotiator"."~0.3.0" =
     self.by-version."negotiator"."0.3.0";
   by-spec."net-ping"."1.1.7" =
@@ -13226,6 +14571,26 @@
     ];
     passthru.names = [ "net-ping" ];
   };
+  by-spec."next-tick"."~0.2.2" =
+    self.by-version."next-tick"."0.2.2";
+  by-version."next-tick"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "next-tick-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz";
+        name = "next-tick-0.2.2.tgz";
+        sha1 = "75da4a927ee5887e39065880065b7336413b310d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."next-tick" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "next-tick" ];
+  };
   by-spec."nib"."0.5.0" =
     self.by-version."nib"."0.5.0";
   by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
@@ -13247,15 +14612,15 @@
     passthru.names = [ "nib" ];
   };
   by-spec."nijs"."*" =
-    self.by-version."nijs"."0.0.15";
-  by-version."nijs"."0.0.15" = lib.makeOverridable self.buildNodePackage {
-    name = "nijs-0.0.15";
+    self.by-version."nijs"."0.0.18";
+  by-version."nijs"."0.0.18" = lib.makeOverridable self.buildNodePackage {
+    name = "nijs-0.0.18";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.15.tgz";
-        name = "nijs-0.0.15.tgz";
-        sha1 = "71c3963969f5b1b6a4bb99d3cd574e87aac14592";
+        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.18.tgz";
+        name = "nijs-0.0.18.tgz";
+        sha1 = "bfdf140350d2bb3edae6b094dbc31035d6c7bec8";
       })
     ];
     buildInputs =
@@ -13268,17 +14633,17 @@
     ];
     passthru.names = [ "nijs" ];
   };
-  "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-appc-0.2.0";
+  "nijs" = self.by-version."nijs"."0.0.18";
+  by-spec."node-appc"."0.2.14" =
+    self.by-version."node-appc"."0.2.14";
+  by-version."node-appc"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "node-appc-0.2.14";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz";
-        name = "node-appc-0.2.0.tgz";
-        sha1 = "7bc7ec2a9c65e2e0b55a42669fae383329d51609";
+        url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.14.tgz";
+        name = "node-appc-0.2.14.tgz";
+        sha1 = "74f20eca49ebf940799fac44bcb224321582cf98";
       })
     ];
     buildInputs =
@@ -13343,16 +14708,16 @@
       (self.nativeDeps."node-gyp" or []);
     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";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
       "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
       "tar-1.0.1" = self.by-version."tar"."1.0.1";
       "which-1.0.5" = self.by-version."which"."1.0.5";
     };
@@ -13776,18 +15141,22 @@
     ];
     passthru.names = [ "nopt" ];
   };
+  by-spec."nopt"."~2.2.0" =
+    self.by-version."nopt"."2.2.1";
+  by-spec."nopt"."~3.0.0" =
+    self.by-version."nopt"."3.0.1";
   by-spec."nopt"."~3.0.1" =
     self.by-version."nopt"."3.0.1";
   by-spec."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";
+    self.by-version."normalize-package-data"."1.0.3";
+  by-version."normalize-package-data"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-1.0.3";
     bin = false;
     src = [
       (fetchurl {
-        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";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.3.tgz";
+        name = "normalize-package-data-1.0.3.tgz";
+        sha1 = "8be955b8907af975f1a4584ea8bb9b41492312f5";
       })
     ];
     buildInputs =
@@ -13795,24 +15164,26 @@
     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";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
     };
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
   by-spec."normalize-package-data"."~1.0.1" =
-    self.by-version."normalize-package-data"."1.0.2";
+    self.by-version."normalize-package-data"."1.0.3";
+  by-spec."normalize-package-data"."~1.0.3" =
+    self.by-version."normalize-package-data"."1.0.3";
   by-spec."npm"."*" =
-    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";
+    self.by-version."npm"."2.1.3";
+  by-version."npm"."2.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-2.1.3";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-beta.3.tgz";
-        name = "npm-2.0.0-beta.3.tgz";
-        sha1 = "73857425b2b22a01949653d3fbe6ed917e6f850d";
+        url = "http://registry.npmjs.org/npm/-/npm-2.1.3.tgz";
+        name = "npm-2.1.3.tgz";
+        sha1 = "f6dfc9d4bdaefe712a50bb75ae5c8bbdf2cd3a3b";
       })
     ];
     buildInputs =
@@ -13831,55 +15202,62 @@
       "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";
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.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";
+      "fs-write-stream-atomic-1.0.2" = self.by-version."fs-write-stream-atomic"."1.0.2";
       "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";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.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";
+      "init-package-json-1.1.0" = self.by-version."init-package-json"."1.1.0";
       "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";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
       "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-package-arg-2.1.3" = self.by-version."npm-package-arg"."2.1.3";
+      "npm-registry-client-3.2.2" = self.by-version."npm-registry-client"."3.2.2";
       "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";
+      "npmconf-2.1.0" = self.by-version."npmconf"."2.1.0";
       "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
-      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
       "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";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
+      "realize-package-specifier-1.1.0" = self.by-version."realize-package-specifier"."1.1.0";
+      "request-2.44.0" = self.by-version."request"."2.44.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";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
       "sha-1.2.4" = self.by-version."sha"."1.2.4";
-      "slide-1.1.5" = self.by-version."slide"."1.1.5";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
       "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";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+      "write-file-atomic-1.1.0" = self.by-version."write-file-atomic"."1.1.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  "npm" = self.by-version."npm"."2.0.0-beta.3";
+  "npm" = self.by-version."npm"."2.1.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 {
@@ -13918,33 +15296,35 @@
       (self.nativeDeps."npm-install-checks" or []);
     deps = {
       "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
-      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npm-install-checks" ];
   };
-  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";
+  by-spec."npm-package-arg"."^2.1.3" =
+    self.by-version."npm-package-arg"."2.1.3";
+  by-version."npm-package-arg"."2.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-package-arg-2.1.3";
     bin = false;
     src = [
       (fetchurl {
-        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";
+        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.1.3.tgz";
+        name = "npm-package-arg-2.1.3.tgz";
+        sha1 = "dfba34bd82dd327c10cb43a65c8db6ef0b812bf7";
       })
     ];
     buildInputs =
       (self.nativeDeps."npm-package-arg" or []);
     deps = {
-      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npm-package-arg" ];
   };
+  by-spec."npm-package-arg"."~2.1.3" =
+    self.by-version."npm-package-arg"."2.1.3";
   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 {
@@ -13960,10 +15340,10 @@
     buildInputs =
       (self.nativeDeps."npm-registry-client" or []);
     deps = {
-      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "request-2.45.0" = self.by-version."request"."2.45.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";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
       "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";
@@ -13991,24 +15371,55 @@
       (self.nativeDeps."npm-registry-client" or []);
     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";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
       "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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "request-2.45.0" = self.by-version."request"."2.45.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";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
       "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  by-spec."npm-registry-client"."~3.1.7" =
-    self.by-version."npm-registry-client"."3.1.8";
+  by-spec."npm-registry-client"."~3.2.2" =
+    self.by-version."npm-registry-client"."3.2.2";
+  by-version."npm-registry-client"."3.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-3.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.2.2.tgz";
+        name = "npm-registry-client-3.2.2.tgz";
+        sha1 = "7c4ef979cf61b411d15421a24ac2b3b846f8bd53";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."npm-registry-client" or []);
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+    };
+    peerDependencies = [
+      self.by-version."npmconf"."2.1.0"
+    ];
+    passthru.names = [ "npm-registry-client" ];
+  };
   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 {
@@ -14058,16 +15469,16 @@
     passthru.names = [ "npm2nix" ];
   };
   "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 = "npmconf-0.0.24";
+  by-spec."npmconf"."0.1.1" =
+    self.by-version."npmconf"."0.1.1";
+  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-0.1.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
-        name = "npmconf-0.0.24.tgz";
-        sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
+        name = "npmconf-0.1.1.tgz";
+        sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
       })
     ];
     buildInputs =
@@ -14079,51 +15490,52 @@
       "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";
+      "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"."0.1.1" =
-    self.by-version."npmconf"."0.1.1";
-  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.1";
+  by-spec."npmconf"."2.0.9" =
+    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-0.1.1.tgz";
-        name = "npmconf-0.1.1.tgz";
-        sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
+        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 = {
       "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";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.3.0" = self.by-version."ini"."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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  by-spec."npmconf"."~0.1.2" =
-    self.by-version."npmconf"."0.1.16";
-  by-version."npmconf"."0.1.16" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.16";
+  by-spec."npmconf".">=2.1.0-0 >=2.1.0-0 <2.2.0-0" =
+    self.by-version."npmconf"."2.1.0";
+  by-version."npmconf"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-2.1.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
-        name = "npmconf-0.1.16.tgz";
-        sha1 = "0bdca78b8551419686b3a98004f06f0819edcd2a";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.1.0.tgz";
+        name = "npmconf-2.1.0.tgz";
+        sha1 = "6dcdbd1fe3d7373b78ec74ab69e919d4954f76b0";
       })
     ];
     buildInputs =
@@ -14131,27 +15543,32 @@
     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";
+      "ini-1.3.0" = self.by-version."ini"."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";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
     };
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  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";
+  by-spec."npmconf"."^2.0.1" =
+    self.by-version."npmconf"."2.1.0";
+  by-spec."npmconf"."^2.1.0" =
+    self.by-version."npmconf"."2.1.0";
+  by-spec."npmconf"."~0.1.2" =
+    self.by-version."npmconf"."0.1.16";
+  by-version."npmconf"."0.1.16" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-0.1.16";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.9.tgz";
-        name = "npmconf-2.0.9.tgz";
-        sha1 = "5c87e5fb308104eceeca781e3d9115d216351ef2";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
+        name = "npmconf-0.1.16.tgz";
+        sha1 = "0bdca78b8551419686b3a98004f06f0819edcd2a";
       })
     ];
     buildInputs =
@@ -14159,20 +15576,21 @@
     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";
+      "once-1.3.1" = self.by-version."once"."1.3.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" ];
   };
-  by-spec."npmconf"."~2.0.8" =
+  by-spec."npmconf"."~2.0.5" =
     self.by-version."npmconf"."2.0.9";
+  by-spec."npmconf"."~2.1.0" =
+    self.by-version."npmconf"."2.1.0";
   by-spec."npmlog"."*" =
     self.by-version."npmlog"."0.1.1";
   by-version."npmlog"."0.1.1" = lib.makeOverridable self.buildNodePackage {
@@ -14322,7 +15740,7 @@
     ];
     passthru.names = [ "object-additions" ];
   };
-  by-spec."object-assign"."~0.3.1" =
+  by-spec."object-assign"."^0.3.0" =
     self.by-version."object-assign"."0.3.1";
   by-version."object-assign"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "object-assign-0.3.1";
@@ -14342,6 +15760,28 @@
     ];
     passthru.names = [ "object-assign" ];
   };
+  by-spec."object-assign"."^1.0.0" =
+    self.by-version."object-assign"."1.0.0";
+  by-version."object-assign"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "object-assign-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz";
+        name = "object-assign-1.0.0.tgz";
+        sha1 = "e65dc8766d3b47b4b8307465c8311da030b070a6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."object-assign" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "object-assign" ];
+  };
+  by-spec."object-assign"."~0.3.1" =
+    self.by-version."object-assign"."0.3.1";
   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 {
@@ -14426,31 +15866,52 @@
     passthru.names = [ "once" ];
   };
   by-spec."once"."1.x" =
-    self.by-version."once"."1.3.0";
-  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.3.0";
+    self.by-version."once"."1.3.1";
+  by-version."once"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "once-1.3.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
-        name = "once-1.3.0.tgz";
-        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
+        url = "http://registry.npmjs.org/once/-/once-1.3.1.tgz";
+        name = "once-1.3.1.tgz";
+        sha1 = "f3f3e4da5b7d27b5c732969ee3e67e729457b31f";
       })
     ];
     buildInputs =
       (self.nativeDeps."once" or []);
     deps = {
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
     };
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
   by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.0";
+    self.by-version."once"."1.3.1";
   by-spec."once"."~1.1.1" =
     self.by-version."once"."1.1.1";
+  by-spec."once"."~1.2.0" =
+    self.by-version."once"."1.2.0";
+  by-version."once"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "once-1.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/once/-/once-1.2.0.tgz";
+        name = "once-1.2.0.tgz";
+        sha1 = "de1905c636af874a8fba862d9aabddd1f920461c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."once" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "once" ];
+  };
   by-spec."once"."~1.3.0" =
-    self.by-version."once"."1.3.0";
+    self.by-version."once"."1.3.1";
   by-spec."open"."0.0.2" =
     self.by-version."open"."0.0.2";
   by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
@@ -14531,6 +15992,26 @@
     ];
     passthru.names = [ "openid" ];
   };
+  by-spec."opn"."~1.0.0" =
+    self.by-version."opn"."1.0.0";
+  by-version."opn"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "opn-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/opn/-/opn-1.0.0.tgz";
+        name = "opn-1.0.0.tgz";
+        sha1 = "1baa822af649a45fca744179a29a8b4c19346574";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."opn" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "opn" ];
+  };
   by-spec."optimist"."*" =
     self.by-version."optimist"."0.6.1";
   by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
@@ -14627,15 +16108,15 @@
   by-spec."optimist"."~0.6.1" =
     self.by-version."optimist"."0.6.1";
   by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.5";
-  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "options-0.0.5";
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "options-0.0.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
-        name = "options-0.0.5.tgz";
-        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+        url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        name = "options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
       })
     ];
     buildInputs =
@@ -14732,6 +16213,28 @@
     ];
     passthru.names = [ "os-browserify" ];
   };
+  by-spec."os-name"."^1.0.0" =
+    self.by-version."os-name"."1.0.1";
+  by-version."os-name"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "os-name-1.0.1";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/os-name/-/os-name-1.0.1.tgz";
+        name = "os-name-1.0.1.tgz";
+        sha1 = "5d78a4a0d6bc96f7fce8e060fef19525422dcc8f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."os-name" or []);
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "osx-release-1.0.0" = self.by-version."osx-release"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "os-name" ];
+  };
   by-spec."osenv"."0" =
     self.by-version."osenv"."0.1.0";
   by-version."osenv"."0.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -14772,10 +16275,33 @@
     ];
     passthru.names = [ "osenv" ];
   };
+  by-spec."osenv"."0.1.0" =
+    self.by-version."osenv"."0.1.0";
   by-spec."osenv"."^0.1.0" =
     self.by-version."osenv"."0.1.0";
   by-spec."osenv"."~0.1.0" =
     self.by-version."osenv"."0.1.0";
+  by-spec."osx-release"."^1.0.0" =
+    self.by-version."osx-release"."1.0.0";
+  by-version."osx-release"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "osx-release-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/osx-release/-/osx-release-1.0.0.tgz";
+        name = "osx-release-1.0.0.tgz";
+        sha1 = "02bee80f3b898aaa88922d2f86e178605974beac";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."osx-release" or []);
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "osx-release" ];
+  };
   by-spec."owl-deepcopy"."*" =
     self.by-version."owl-deepcopy"."0.0.4";
   by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage {
@@ -14799,6 +16325,49 @@
   "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.4";
   by-spec."owl-deepcopy"."~0.0.1" =
     self.by-version."owl-deepcopy"."0.0.4";
+  by-spec."p-throttler"."0.1.0" =
+    self.by-version."p-throttler"."0.1.0";
+  by-version."p-throttler"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "p-throttler-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz";
+        name = "p-throttler-0.1.0.tgz";
+        sha1 = "1b16907942c333e6f1ddeabcb3479204b8c417c4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."p-throttler" or []);
+    deps = {
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "p-throttler" ];
+  };
+  by-spec."package-json"."^0.2.0" =
+    self.by-version."package-json"."0.2.0";
+  by-version."package-json"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "package-json-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/package-json/-/package-json-0.2.0.tgz";
+        name = "package-json-0.2.0.tgz";
+        sha1 = "0316e177b8eb149985d34f706b4a5543b274bec5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."package-json" or []);
+    deps = {
+      "got-0.3.0" = self.by-version."got"."0.3.0";
+      "registry-url-0.1.1" = self.by-version."registry-url"."0.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "package-json" ];
+  };
   by-spec."pako"."~0.2.0" =
     self.by-version."pako"."0.2.5";
   by-version."pako"."0.2.5" = lib.makeOverridable self.buildNodePackage {
@@ -15135,28 +16704,48 @@
     ];
     passthru.names = [ "pause" ];
   };
+  by-spec."pbkdf2-compat"."2.0.1" =
+    self.by-version."pbkdf2-compat"."2.0.1";
+  by-version."pbkdf2-compat"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "pbkdf2-compat-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz";
+        name = "pbkdf2-compat-2.0.1.tgz";
+        sha1 = "b6e0c8fa99494d94e0511575802a59a5c142f288";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pbkdf2-compat" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pbkdf2-compat" ];
+  };
   by-spec."phantomjs"."*" =
-    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";
+    self.by-version."phantomjs"."1.9.10";
+  by-version."phantomjs"."1.9.10" = lib.makeOverridable self.buildNodePackage {
+    name = "phantomjs-1.9.10";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
-        name = "phantomjs-1.9.7-15.tgz";
-        sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.10.tgz";
+        name = "phantomjs-1.9.10.tgz";
+        sha1 = "be174e20b03f42c39beaaf84cc153fb65b225a4a";
       })
     ];
     buildInputs =
       (self.nativeDeps."phantomjs" or []);
     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";
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "kew-0.4.0" = self.by-version."kew"."0.4.0";
+      "ncp-0.6.0" = self.by-version."ncp"."0.6.0";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
       "progress-1.1.8" = self.by-version."progress"."1.1.8";
-      "request-2.36.0" = self.by-version."request"."2.36.0";
+      "request-2.42.0" = self.by-version."request"."2.42.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";
@@ -15165,11 +16754,11 @@
     ];
     passthru.names = [ "phantomjs" ];
   };
-  "phantomjs" = self.by-version."phantomjs"."1.9.7-15";
+  "phantomjs" = self.by-version."phantomjs"."1.9.10";
   by-spec."phantomjs"."~1.9.1" =
-    self.by-version."phantomjs"."1.9.7-15";
-  by-spec."phantomjs"."~1.9.7" =
-    self.by-version."phantomjs"."1.9.7-15";
+    self.by-version."phantomjs"."1.9.10";
+  by-spec."phantomjs"."~1.9.10" =
+    self.by-version."phantomjs"."1.9.10";
   by-spec."pkginfo"."0.2.x" =
     self.by-version."pkginfo"."0.2.3";
   by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
@@ -15317,16 +16906,37 @@
     ];
     passthru.names = [ "pretty-bytes" ];
   };
+  by-spec."pretty-bytes"."^1.0.0" =
+    self.by-version."pretty-bytes"."1.0.1";
+  by-version."pretty-bytes"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "pretty-bytes-1.0.1";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.1.tgz";
+        name = "pretty-bytes-1.0.1.tgz";
+        sha1 = "afd0b459da61834ac36617b05f9daa0beb043e3e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pretty-bytes" or []);
+    deps = {
+      "get-stdin-1.0.0" = self.by-version."get-stdin"."1.0.0";
+    };
+    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";
+    self.by-version."pretty-hrtime"."0.2.2";
+  by-version."pretty-hrtime"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "pretty-hrtime-0.2.2";
     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";
+        url = "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.2.tgz";
+        name = "pretty-hrtime-0.2.2.tgz";
+        sha1 = "d4fd88351e3a4741f8173af7d6a4b846f9895c00";
       })
     ];
     buildInputs =
@@ -15337,16 +16947,16 @@
     ];
     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 = "process-0.7.0";
+  by-spec."process"."^0.8.0" =
+    self.by-version."process"."0.8.0";
+  by-version."process"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "process-0.8.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/process/-/process-0.7.0.tgz";
-        name = "process-0.7.0.tgz";
-        sha1 = "c52208161a34adf3812344ae85d3e6150469389d";
+        url = "http://registry.npmjs.org/process/-/process-0.8.0.tgz";
+        name = "process-0.8.0.tgz";
+        sha1 = "7bbaf7187fe6ded3fd5be0cb6103fba9cacb9798";
       })
     ];
     buildInputs =
@@ -15397,7 +17007,7 @@
     ];
     passthru.names = [ "process" ];
   };
-  by-spec."progress"."^1.1.5" =
+  by-spec."progress"."1.1.8" =
     self.by-version."progress"."1.1.8";
   by-version."progress"."1.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "progress-1.1.8";
@@ -15463,6 +17073,52 @@
     ];
     passthru.names = [ "prompt" ];
   };
+  by-spec."prompt"."0.2.14" =
+    self.by-version."prompt"."0.2.14";
+  by-version."prompt"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "prompt-0.2.14";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz";
+        name = "prompt-0.2.14.tgz";
+        sha1 = "57754f64f543fd7b0845707c818ece618f05ffdc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."prompt" or []);
+    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.8.0" = self.by-version."winston"."0.8.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "prompt" ];
+  };
+  by-spec."promptly"."0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "promptly-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz";
+        name = "promptly-0.2.0.tgz";
+        sha1 = "73ef200fa8329d5d3a8df41798950b8646ca46d9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."promptly" or []);
+    deps = {
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "promptly" ];
+  };
   by-spec."promzard"."~0.2.0" =
     self.by-version."promzard"."0.2.2";
   by-version."promzard"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -15525,6 +17181,28 @@
     ];
     passthru.names = [ "proxy-addr" ];
   };
+  by-spec."proxy-addr"."~1.0.3" =
+    self.by-version."proxy-addr"."1.0.3";
+  by-version."proxy-addr"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "proxy-addr-1.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.3.tgz";
+        name = "proxy-addr-1.0.3.tgz";
+        sha1 = "17d824aac844707441249da6d1ea5e889007cdd6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."proxy-addr" or []);
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-0.1.3" = self.by-version."ipaddr.js"."0.1.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "proxy-addr" ];
+  };
   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 {
@@ -15548,6 +17226,28 @@
   };
   by-spec."ps-tree"."~0.0.3" =
     self.by-version."ps-tree"."0.0.3";
+  by-spec."pump"."^0.3.5" =
+    self.by-version."pump"."0.3.5";
+  by-version."pump"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "pump-0.3.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pump/-/pump-0.3.5.tgz";
+        name = "pump-0.3.5.tgz";
+        sha1 = "ae5ff8c1f93ed87adc6530a97565b126f585454b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pump" or []);
+    deps = {
+      "once-1.2.0" = self.by-version."once"."1.2.0";
+      "end-of-stream-1.0.0" = self.by-version."end-of-stream"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pump" ];
+  };
   by-spec."punycode"."1.2.4" =
     self.by-version."punycode"."1.2.4";
   by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage {
@@ -15635,7 +17335,7 @@
     ];
     passthru.names = [ "q" ];
   };
-  by-spec."q"."~0.9.6" =
+  by-spec."q"."~0.9.2" =
     self.by-version."q"."0.9.7";
   by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.7";
@@ -15655,9 +17355,11 @@
     ];
     passthru.names = [ "q" ];
   };
+  by-spec."q"."~0.9.6" =
+    self.by-version."q"."0.9.7";
   by-spec."q"."~0.9.7" =
     self.by-version."q"."0.9.7";
-  by-spec."q"."~1.0.1" =
+  by-spec."q"."~1.0.0" =
     self.by-version."q"."1.0.1";
   by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "q-1.0.1";
@@ -15677,6 +17379,8 @@
     ];
     passthru.names = [ "q" ];
   };
+  by-spec."q"."~1.0.1" =
+    self.by-version."q"."1.0.1";
   by-spec."qs"."0.4.2" =
     self.by-version."qs"."0.4.2";
   by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
@@ -15799,6 +17503,26 @@
     ];
     passthru.names = [ "qs" ];
   };
+  by-spec."qs"."1.2.0" =
+    self.by-version."qs"."1.2.0";
+  by-version."qs"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-1.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
+        name = "qs-1.2.0.tgz";
+        sha1 = "ed079be28682147e6fd9a34cc2b0c1e0ec6453ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
   by-spec."qs"."2.2.2" =
     self.by-version."qs"."2.2.2";
   by-version."qs"."2.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -15819,16 +17543,16 @@
     ];
     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";
+  by-spec."qs"."2.2.4" =
+    self.by-version."qs"."2.2.4";
+  by-version."qs"."2.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-2.2.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
-        name = "qs-2.2.3.tgz";
-        sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.4.tgz";
+        name = "qs-2.2.4.tgz";
+        sha1 = "2e9fbcd34b540e3421c924ecd01e90aa975319c8";
       })
     ];
     buildInputs =
@@ -15840,7 +17564,7 @@
     passthru.names = [ "qs" ];
   };
   by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."2.2.3";
+    self.by-version."qs"."2.2.4";
   by-spec."qs"."~0.5.4" =
     self.by-version."qs"."0.5.6";
   by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
@@ -16181,15 +17905,15 @@
     passthru.names = [ "rc" ];
   };
   by-spec."react"."*" =
-    self.by-version."react"."0.11.1";
-  by-version."react"."0.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "react-0.11.1";
+    self.by-version."react"."0.11.2";
+  by-version."react"."0.11.2" = lib.makeOverridable self.buildNodePackage {
+    name = "react-0.11.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/react/-/react-0.11.1.tgz";
-        name = "react-0.11.1.tgz";
-        sha1 = "201190712f69bc451e2c83946653384d7448aaff";
+        url = "http://registry.npmjs.org/react/-/react-0.11.2.tgz";
+        name = "react-0.11.2.tgz";
+        sha1 = "eaeb787e9b1e266a3540c07c06f4ea80fe1e3766";
       })
     ];
     buildInputs =
@@ -16201,7 +17925,7 @@
     ];
     passthru.names = [ "react" ];
   };
-  "react" = self.by-version."react"."0.11.1";
+  "react" = self.by-version."react"."0.11.2";
   by-spec."read"."1" =
     self.by-version."read"."1.0.5";
   by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -16229,7 +17953,7 @@
     self.by-version."read"."1.0.5";
   by-spec."read"."~1.0.4" =
     self.by-version."read"."1.0.5";
-  by-spec."read-installed"."~3.1.1" =
+  by-spec."read-installed"."~3.1.2" =
     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";
@@ -16247,10 +17971,10 @@
       "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";
+      "semver-4.0.3" = self.by-version."semver"."4.0.3";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
       "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";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
     };
     peerDependencies = [
     ];
@@ -16273,10 +17997,10 @@
     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";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
       "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";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
     };
     peerDependencies = [
     ];
@@ -16309,15 +18033,15 @@
     passthru.names = [ "readable-stream" ];
   };
   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 = "readable-stream-1.0.31";
+    self.by-version."readable-stream"."1.0.32";
+  by-version."readable-stream"."1.0.32" = lib.makeOverridable self.buildNodePackage {
+    name = "readable-stream-1.0.32";
     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";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.32.tgz";
+        name = "readable-stream-1.0.32.tgz";
+        sha1 = "6b44a88ba984cd0ec0834ae7d59a47c39aef48ec";
       })
     ];
     buildInputs =
@@ -16358,10 +18082,32 @@
   };
   by-spec."readable-stream"."1.0.31" =
     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."readable-stream"."1.1" =
     self.by-version."readable-stream"."1.1.13";
-  by-spec."readable-stream".">=1.0.27-1 <1.1.0-0" =
-    self.by-version."readable-stream"."1.0.31";
+  by-spec."readable-stream".">=1.0.28 <1.1.0-0" =
+    self.by-version."readable-stream"."1.0.32";
   by-spec."readable-stream".">=1.1.13-1 <1.2.0-0" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."^1.0.27-1" =
@@ -16369,13 +18115,15 @@
   by-spec."readable-stream"."^1.1.13-1" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."~1.0.17" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.32";
   by-spec."readable-stream"."~1.0.2" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.32";
   by-spec."readable-stream"."~1.0.24" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.32";
   by-spec."readable-stream"."~1.0.26" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.32";
+  by-spec."readable-stream"."~1.0.32" =
+    self.by-version."readable-stream"."1.0.32";
   by-spec."readable-stream"."~1.1.8" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."~1.1.9" =
@@ -16417,8 +18165,8 @@
       (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";
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
     };
     peerDependencies = [
     ];
@@ -16445,6 +18193,51 @@
     ];
     passthru.names = [ "readdirp" ];
   };
+  by-spec."readline2"."~0.1.0" =
+    self.by-version."readline2"."0.1.0";
+  by-version."readline2"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "readline2-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz";
+        name = "readline2-0.1.0.tgz";
+        sha1 = "6a272ef89731225b448e4c6799b6e50d5be12b98";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readline2" or []);
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "chalk-0.4.0" = self.by-version."chalk"."0.4.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "readline2" ];
+  };
+  by-spec."realize-package-specifier"."~1.1.0" =
+    self.by-version."realize-package-specifier"."1.1.0";
+  by-version."realize-package-specifier"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "realize-package-specifier-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-1.1.0.tgz";
+        name = "realize-package-specifier-1.1.0.tgz";
+        sha1 = "b6922638b7224186ae9278bdebbb63cba23a0160";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."realize-package-specifier" or []);
+    deps = {
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+      "npm-package-arg-2.1.3" = self.by-version."npm-package-arg"."2.1.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "realize-package-specifier" ];
+  };
   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 {
@@ -16465,6 +18258,27 @@
     ];
     passthru.names = [ "recursive-readdir" ];
   };
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.4";
+  by-version."redeyed"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "redeyed-0.4.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz";
+        name = "redeyed-0.4.4.tgz";
+        sha1 = "37e990a6f2b21b2a11c2e6a48fd4135698cba97f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."redeyed" or []);
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "redeyed" ];
+  };
   by-spec."redis"."*" =
     self.by-version."redis"."0.12.1";
   by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
@@ -16611,6 +18425,27 @@
     ];
     passthru.names = [ "regexp-clone" ];
   };
+  by-spec."registry-url"."^0.1.0" =
+    self.by-version."registry-url"."0.1.1";
+  by-version."registry-url"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "registry-url-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/registry-url/-/registry-url-0.1.1.tgz";
+        name = "registry-url-0.1.1.tgz";
+        sha1 = "1739427b81b110b302482a1c7cd727ffcc82d5be";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."registry-url" or []);
+    deps = {
+      "npmconf-2.1.0" = self.by-version."npmconf"."2.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "registry-url" ];
+  };
   by-spec."replace"."~0.2.4" =
     self.by-version."replace"."0.2.10";
   by-version."replace"."0.2.10" = lib.makeOverridable self.buildNodePackage {
@@ -16635,15 +18470,15 @@
     passthru.names = [ "replace" ];
   };
   by-spec."request"."2" =
-    self.by-version."request"."2.42.0";
-  by-version."request"."2.42.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.42.0";
+    self.by-version."request"."2.45.0";
+  by-version."request"."2.45.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.45.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
-        name = "request-2.42.0.tgz";
-        sha1 = "572bd0148938564040ac7ab148b96423a063304a";
+        url = "http://registry.npmjs.org/request/-/request-2.45.0.tgz";
+        name = "request-2.45.0.tgz";
+        sha1 = "29d713a0a07f17fb2e7b61815d2010681718e93c";
       })
     ];
     buildInputs =
@@ -16657,8 +18492,8 @@
       "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";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
       "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";
@@ -16670,9 +18505,9 @@
     passthru.names = [ "request" ];
   };
   by-spec."request"."2 >=2.20.0" =
-    self.by-version."request"."2.42.0";
+    self.by-version."request"."2.45.0";
   by-spec."request"."2 >=2.25.0" =
-    self.by-version."request"."2.42.0";
+    self.by-version."request"."2.45.0";
   by-spec."request"."2.16.x" =
     self.by-version."request"."2.16.6";
   by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
@@ -16704,24 +18539,24 @@
     ];
     passthru.names = [ "request" ];
   };
-  by-spec."request"."2.36.0" =
-    self.by-version."request"."2.36.0";
-  by-version."request"."2.36.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.36.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.36.0.tgz";
-        name = "request-2.36.0.tgz";
-        sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
+        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 = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "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-1.2.11" = self.by-version."mime"."1.2.11";
+      "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";
@@ -16729,8 +18564,44 @@
       "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";
+      "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-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.42.0.tgz";
+        name = "request-2.42.0.tgz";
+        sha1 = "572bd0148938564040ac7ab148b96423a063304a";
+      })
+    ];
+    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 = [
     ];
@@ -16757,9 +18628,11 @@
     passthru.names = [ "request" ];
   };
   by-spec."request"."^2.36.0" =
-    self.by-version."request"."2.42.0";
+    self.by-version."request"."2.45.0";
+  by-spec."request"."^2.40.0" =
+    self.by-version."request"."2.45.0";
   by-spec."request"."~2" =
-    self.by-version."request"."2.42.0";
+    self.by-version."request"."2.45.0";
   by-spec."request"."~2.27.0" =
     self.by-version."request"."2.27.0";
   by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
@@ -16794,29 +18667,35 @@
   };
   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";
+  by-spec."request"."~2.42.0" =
+    self.by-version."request"."2.42.0";
+  by-spec."request"."~2.44.0" =
+    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.40.0.tgz";
-        name = "request-2.40.0.tgz";
-        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
+        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 = {
-      "qs-1.0.2" = self.by-version."qs"."1.0.2";
+      "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";
-      "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";
+      "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";
-      "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";
+      "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";
@@ -16825,9 +18704,28 @@
     ];
     passthru.names = [ "request" ];
   };
-  by-spec."request"."~2.42.0" =
-    self.by-version."request"."2.42.0";
-  by-spec."request-progress"."^0.3.1" =
+  by-spec."request-progress"."0.3.0" =
+    self.by-version."request-progress"."0.3.0";
+  by-version."request-progress"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-progress-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz";
+        name = "request-progress-0.3.0.tgz";
+        sha1 = "bdf2062bfc197c5d492500d44cb3aff7865b492e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request-progress" or []);
+    deps = {
+      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "request-progress" ];
+  };
+  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 = "request-progress-0.3.1";
@@ -16848,6 +18746,27 @@
     ];
     passthru.names = [ "request-progress" ];
   };
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-replay-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz";
+        name = "request-replay-0.2.0.tgz";
+        sha1 = "9b693a5d118b39f5c596ead5ed91a26444057f60";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request-replay" or []);
+    deps = {
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "request-replay" ];
+  };
   by-spec."requirejs"."~2.1" =
     self.by-version."requirejs"."2.1.15";
   by-version."requirejs"."2.1.15" = lib.makeOverridable self.buildNodePackage {
@@ -16979,27 +18898,27 @@
     passthru.names = [ "restify" ];
   };
   by-spec."rethinkdb"."*" =
-    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";
+    self.by-version."rethinkdb"."1.15.0-0";
+  by-version."rethinkdb"."1.15.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "rethinkdb-1.15.0-0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.14.0-0.tgz";
-        name = "rethinkdb-1.14.0-0.tgz";
-        sha1 = "d198a5bf9caffdaa38670ebd40afc4621b09b0f5";
+        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.15.0-0.tgz";
+        name = "rethinkdb-1.15.0-0.tgz";
+        sha1 = "7b2efb0d3f51a66ab661dfdf43905de77dfb5a94";
       })
     ];
     buildInputs =
       (self.nativeDeps."rethinkdb" or []);
     deps = {
-      "bluebird-2.3.2" = self.by-version."bluebird"."2.3.2";
+      "bluebird-2.3.5" = self.by-version."bluebird"."2.3.5";
     };
     peerDependencies = [
     ];
     passthru.names = [ "rethinkdb" ];
   };
-  "rethinkdb" = self.by-version."rethinkdb"."1.14.0-0";
+  "rethinkdb" = self.by-version."rethinkdb"."1.15.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 {
@@ -17243,6 +19162,26 @@
     ];
     passthru.names = [ "ruglify" ];
   };
+  by-spec."rx"."^2.2.27" =
+    self.by-version."rx"."2.3.12";
+  by-version."rx"."2.3.12" = lib.makeOverridable self.buildNodePackage {
+    name = "rx-2.3.12";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rx/-/rx-2.3.12.tgz";
+        name = "rx-2.3.12.tgz";
+        sha1 = "9bdc2c8e12cb0a62e528947de458277849f0c2f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rx" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "rx" ];
+  };
   by-spec."s3http"."*" =
     self.by-version."s3http"."0.0.5";
   by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -17419,36 +19358,39 @@
     passthru.names = [ "scmp" ];
   };
   by-spec."selenium-webdriver"."*" =
-    self.by-version."selenium-webdriver"."2.42.1";
-  by-version."selenium-webdriver"."2.42.1" = lib.makeOverridable self.buildNodePackage {
-    name = "selenium-webdriver-2.42.1";
+    self.by-version."selenium-webdriver"."2.43.5";
+  by-version."selenium-webdriver"."2.43.5" = lib.makeOverridable self.buildNodePackage {
+    name = "selenium-webdriver-2.43.5";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.42.1.tgz";
-        name = "selenium-webdriver-2.42.1.tgz";
-        sha1 = "61984d1583b89c80a9f3bf31623d00bcc82a8d0e";
+        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.43.5.tgz";
+        name = "selenium-webdriver-2.43.5.tgz";
+        sha1 = "6ac04302e3e81dfe59956454a19f90eeadfe5573";
       })
     ];
     buildInputs =
       (self.nativeDeps."selenium-webdriver" or []);
     deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
     };
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
   };
-  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.42.1";
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.43.5";
   by-spec."semver"."*" =
-    self.by-version."semver"."3.0.1";
-  by-version."semver"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-3.0.1";
+    self.by-version."semver"."4.0.3";
+  by-version."semver"."4.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-4.0.3";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-3.0.1.tgz";
-        name = "semver-3.0.1.tgz";
-        sha1 = "720ac012515a252f91fb0dd2e99a56a70d6cf078";
+        url = "http://registry.npmjs.org/semver/-/semver-4.0.3.tgz";
+        name = "semver-4.0.3.tgz";
+        sha1 = "f79c9ba670efccc029d98a5017def64b0ce1644e";
       })
     ];
     buildInputs =
@@ -17459,7 +19401,7 @@
     ];
     passthru.names = [ "semver" ];
   };
-  "semver" = self.by-version."semver"."3.0.1";
+  "semver" = self.by-version."semver"."4.0.3";
   by-spec."semver"."1.1.0" =
     self.by-version."semver"."1.1.0";
   by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
@@ -17521,23 +19463,45 @@
     passthru.names = [ "semver" ];
   };
   by-spec."semver"."2 >=2.2.1 || 3.x || 4" =
-    self.by-version."semver"."3.0.1";
+    self.by-version."semver"."4.0.3";
   by-spec."semver"."2 || 3 || 4" =
-    self.by-version."semver"."3.0.1";
+    self.by-version."semver"."4.0.3";
   by-spec."semver"."2.x" =
     self.by-version."semver"."2.3.2";
   by-spec."semver"."2.x || 3.x || 4" =
-    self.by-version."semver"."3.0.1";
+    self.by-version."semver"."4.0.3";
+  by-spec."semver"."4" =
+    self.by-version."semver"."4.0.3";
   by-spec."semver".">=2.0.10 <3.0.0" =
     self.by-version."semver"."2.3.2";
+  by-spec."semver".">=2.2.1 <3" =
+    self.by-version."semver"."2.3.2";
+  by-spec."semver"."^2.2.1" =
+    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 || 4" =
-    self.by-version."semver"."3.0.1";
+    self.by-version."semver"."4.0.3";
   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";
+  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";
+        name = "semver-3.0.1.tgz";
+        sha1 = "720ac012515a252f91fb0dd2e99a56a70d6cf078";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."semver" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "semver" ];
+  };
   by-spec."semver"."~1.1.4" =
     self.by-version."semver"."1.1.4";
   by-spec."semver"."~2.0.5" =
@@ -17600,28 +19564,53 @@
     ];
     passthru.names = [ "semver" ];
   };
+  by-spec."semver"."~2.3.0" =
+    self.by-version."semver"."2.3.2";
   by-spec."semver"."~3.0.1" =
     self.by-version."semver"."3.0.1";
+  by-spec."semver"."~4.0.0" =
+    self.by-version."semver"."4.0.3";
+  by-spec."semver-diff"."^0.1.0" =
+    self.by-version."semver-diff"."0.1.0";
+  by-version."semver-diff"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-diff-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/semver-diff/-/semver-diff-0.1.0.tgz";
+        name = "semver-diff-0.1.0.tgz";
+        sha1 = "4f6057ca3eba23cc484b51f64aaf88b131a3855d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."semver-diff" or []);
+    deps = {
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "semver-diff" ];
+  };
   by-spec."send"."*" =
-    self.by-version."send"."0.9.1";
-  by-version."send"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.9.1";
+    self.by-version."send"."0.9.3";
+  by-version."send"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.9.3";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.9.1.tgz";
-        name = "send-0.9.1.tgz";
-        sha1 = "d93689f7c9ce36bd32f8ee572bb60bda032edc23";
+        url = "http://registry.npmjs.org/send/-/send-0.9.3.tgz";
+        name = "send-0.9.3.tgz";
+        sha1 = "b43a7414cd089b7fbec9b755246f7c37b7b85cc0";
       })
     ];
     buildInputs =
       (self.nativeDeps."send" or []);
     deps = {
       "debug-2.0.0" = self.by-version."debug"."2.0.0";
-      "depd-0.4.4" = self.by-version."depd"."0.4.4";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
       "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";
+      "etag-1.4.0" = self.by-version."etag"."1.4.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";
@@ -17757,8 +19746,8 @@
     ];
     passthru.names = [ "send" ];
   };
-  by-spec."send"."0.9.1" =
-    self.by-version."send"."0.9.1";
+  by-spec."send"."0.9.3" =
+    self.by-version."send"."0.9.3";
   by-spec."sequence"."2.2.1" =
     self.by-version."sequence"."2.2.1";
   by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
@@ -17801,22 +19790,22 @@
     ];
     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";
+  by-spec."serve-favicon"."~2.1.5" =
+    self.by-version."serve-favicon"."2.1.5";
+  by-version."serve-favicon"."2.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-favicon-2.1.5";
     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";
+        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.5.tgz";
+        name = "serve-favicon-2.1.5.tgz";
+        sha1 = "8eba1830890bddbbf042e8d5c6456c7d004f6175";
       })
     ];
     buildInputs =
       (self.nativeDeps."serve-favicon" or []);
     deps = {
-      "etag-1.3.0" = self.by-version."etag"."1.3.0";
+      "etag-1.4.0" = self.by-version."etag"."1.4.0";
       "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
       "ms-0.6.2" = self.by-version."ms"."0.6.2";
     };
@@ -17839,7 +19828,7 @@
     buildInputs =
       (self.nativeDeps."serve-index" or []);
     deps = {
-      "accepts-1.1.0" = self.by-version."accepts"."1.1.0";
+      "accepts-1.1.1" = self.by-version."accepts"."1.1.1";
       "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";
@@ -17895,16 +19884,16 @@
   };
   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";
+  by-spec."serve-static"."~1.6.3" =
+    self.by-version."serve-static"."1.6.3";
+  by-version."serve-static"."1.6.3" = lib.makeOverridable self.buildNodePackage {
+    name = "serve-static-1.6.3";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.1.tgz";
-        name = "serve-static-1.6.1.tgz";
-        sha1 = "2f257563afbe931d28cee4aa3dfeddc975a87193";
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.3.tgz";
+        name = "serve-static-1.6.3.tgz";
+        sha1 = "b214235d4d4516db050ea9f7b429b46212e79132";
       })
     ];
     buildInputs =
@@ -17912,7 +19901,7 @@
     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";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
       "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
     };
     peerDependencies = [
@@ -17934,29 +19923,28 @@
     buildInputs =
       (self.nativeDeps."sha" or []);
     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";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
     };
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  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";
+  by-spec."sha.js"."2.2.6" =
+    self.by-version."sha.js"."2.2.6";
+  by-version."sha.js"."2.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "sha.js-2.2.6";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.8.tgz";
-        name = "sha.js-2.1.8.tgz";
-        sha1 = "9b89a99b030eed2280b06a2b79383a4ceecd7719";
+        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz";
+        name = "sha.js-2.2.6.tgz";
+        sha1 = "17ddeddc5f722fb66501658895461977867315ba";
       })
     ];
     buildInputs =
       (self.nativeDeps."sha.js" or []);
     deps = {
-      "buffer-2.3.4" = self.by-version."buffer"."2.3.4";
     };
     peerDependencies = [
     ];
@@ -18023,6 +20011,30 @@
     ];
     passthru.names = [ "shell-quote" ];
   };
+  by-spec."shell-quote"."~1.4.1" =
+    self.by-version."shell-quote"."1.4.2";
+  by-version."shell-quote"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "shell-quote-1.4.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.2.tgz";
+        name = "shell-quote-1.4.2.tgz";
+        sha1 = "f132a54f2030d69280d370d4974155f85f62f67b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."shell-quote" or []);
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+      "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1";
+      "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0";
+      "array-map-0.0.0" = self.by-version."array-map"."0.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "shell-quote" ];
+  };
   by-spec."shelljs"."*" =
     self.by-version."shelljs"."0.3.0";
   by-version."shelljs"."0.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -18260,15 +20272,15 @@
     passthru.names = [ "sliced" ];
   };
   by-spec."slide"."^1.1.3" =
-    self.by-version."slide"."1.1.5";
-  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
+    self.by-version."slide"."1.1.6";
+  by-version."slide"."1.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "slide-1.1.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        name = "slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
+        url = "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        name = "slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
       })
     ];
     buildInputs =
@@ -18279,10 +20291,12 @@
     ];
     passthru.names = [ "slide" ];
   };
+  by-spec."slide"."^1.1.5" =
+    self.by-version."slide"."1.1.6";
   by-spec."slide"."~1.1.3" =
-    self.by-version."slide"."1.1.5";
-  by-spec."slide"."~1.1.5" =
-    self.by-version."slide"."1.1.5";
+    self.by-version."slide"."1.1.6";
+  by-spec."slide"."~1.1.6" =
+    self.by-version."slide"."1.1.6";
   by-spec."smartdc"."*" =
     self.by-version."smartdc"."7.3.0";
   by-version."smartdc"."7.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -18523,15 +20537,15 @@
     passthru.names = [ "sorted-object" ];
   };
   by-spec."source-map"."*" =
-    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";
+    self.by-version."source-map"."0.1.40";
+  by-version."source-map"."0.1.40" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.40";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.39.tgz";
-        name = "source-map-0.1.39.tgz";
-        sha1 = "64ad329c4761ab956ff7d011c6b205aeb66a2d4a";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.40.tgz";
+        name = "source-map-0.1.40.tgz";
+        sha1 = "7e0ee49ec0452aa9ac2b93ad5ae54ef33e82b37f";
       })
     ];
     buildInputs =
@@ -18543,7 +20557,7 @@
     ];
     passthru.names = [ "source-map" ];
   };
-  "source-map" = self.by-version."source-map"."0.1.39";
+  "source-map" = self.by-version."source-map"."0.1.40";
   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 {
@@ -18608,19 +20622,19 @@
     passthru.names = [ "source-map" ];
   };
   by-spec."source-map"."0.1.x" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map".">= 0.1.2" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map"."~ 0.1.8" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map"."~0.1.30" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map"."~0.1.31" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map"."~0.1.33" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.39";
+    self.by-version."source-map"."0.1.40";
   by-spec."spdy"."1.7.1" =
     self.by-version."spdy"."1.7.1";
   by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
@@ -18663,6 +20677,8 @@
   };
   by-spec."sprintf"."~0.1.3" =
     self.by-version."sprintf"."0.1.4";
+  by-spec."sprintf"."~0.1.4" =
+    self.by-version."sprintf"."0.1.4";
   by-spec."ssh-agent"."0.2.1" =
     self.by-version."ssh-agent"."0.2.1";
   by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
@@ -18747,15 +20763,15 @@
   };
   "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.2";
   by-spec."statsd"."*" =
-    self.by-version."statsd"."0.7.1";
-  by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "statsd-0.7.1";
+    self.by-version."statsd"."0.7.2";
+  by-version."statsd"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+    name = "statsd-0.7.2";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz";
-        name = "statsd-0.7.1.tgz";
-        sha1 = "b3a5124948ea5558e59eb26536ccfdedb9ba2a70";
+        url = "http://registry.npmjs.org/statsd/-/statsd-0.7.2.tgz";
+        name = "statsd-0.7.2.tgz";
+        sha1 = "88901c5f30fa51da5fa3520468c94d7992ef576e";
       })
     ];
     buildInputs =
@@ -18769,7 +20785,7 @@
     ];
     passthru.names = [ "statsd" ];
   };
-  "statsd" = self.by-version."statsd"."0.7.1";
+  "statsd" = self.by-version."statsd"."0.7.2";
   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 {
@@ -18834,37 +20850,16 @@
     ];
     passthru.names = [ "stream-browserify" ];
   };
-  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 = "stream-combiner-0.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
-        name = "stream-combiner-0.0.4.tgz";
-        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-combiner" or []);
-    deps = {
-      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-combiner" ];
-  };
   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 = "stream-combiner2-1.0.1";
+    self.by-version."stream-combiner2"."1.0.2";
+  by-version."stream-combiner2"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "stream-combiner2-1.0.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.1.tgz";
-        name = "stream-combiner2-1.0.1.tgz";
-        sha1 = "e992881737c754a999431134f4f3f5b45ca0a97a";
+        url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.2.tgz";
+        name = "stream-combiner2-1.0.2.tgz";
+        sha1 = "ba72a6b50cbfabfa950fc8bc87604bd01eb60671";
       })
     ];
     buildInputs =
@@ -18939,15 +20934,15 @@
     passthru.names = [ "stream-counter" ];
   };
   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 = "stream-splicer-1.3.0";
+    self.by-version."stream-splicer"."1.3.1";
+  by-version."stream-splicer"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "stream-splicer-1.3.1";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.0.tgz";
-        name = "stream-splicer-1.3.0.tgz";
-        sha1 = "4839f2f03c4137b3896d064a4d927807a3b95b21";
+        url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.1.tgz";
+        name = "stream-splicer-1.3.1.tgz";
+        sha1 = "87737a08777aa00d6a27d92562e7bc88070c081d";
       })
     ];
     buildInputs =
@@ -19006,27 +21001,28 @@
     ];
     passthru.names = [ "string" ];
   };
-  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 = "string_decoder-0.0.1";
+  by-spec."string-length"."^0.1.2" =
+    self.by-version."string-length"."0.1.2";
+  by-version."string-length"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "string-length-0.1.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
-        name = "string_decoder-0.0.1.tgz";
-        sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141";
+        url = "http://registry.npmjs.org/string-length/-/string-length-0.1.2.tgz";
+        name = "string-length-0.1.2.tgz";
+        sha1 = "ab04bb33867ee74beed7fb89bb7f089d392780f2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."string_decoder" or []);
+      (self.nativeDeps."string-length" or []);
     deps = {
+      "strip-ansi-0.2.2" = self.by-version."strip-ansi"."0.2.2";
     };
     peerDependencies = [
     ];
-    passthru.names = [ "string_decoder" ];
+    passthru.names = [ "string-length" ];
   };
-  by-spec."string_decoder"."~0.10.x" =
+  by-spec."string_decoder"."~0.10.0" =
     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";
@@ -19046,6 +21042,28 @@
     ];
     passthru.names = [ "string_decoder" ];
   };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-spec."stringify-object"."~1.0.0" =
+    self.by-version."stringify-object"."1.0.0";
+  by-version."stringify-object"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "stringify-object-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-1.0.0.tgz";
+        name = "stringify-object-1.0.0.tgz";
+        sha1 = "333875ef8fd210f696d70b374146be84646bc346";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stringify-object" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "stringify-object" ];
+  };
   by-spec."stringstream"."~0.0.4" =
     self.by-version."stringstream"."0.0.4";
   by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
@@ -19066,6 +21084,27 @@
     ];
     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";
+    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";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."strip-ansi" or []);
+    deps = {
+      "ansi-regex-0.1.0" = self.by-version."ansi-regex"."0.1.0";
+    };
+    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 {
@@ -19170,6 +21209,26 @@
     ];
     passthru.names = [ "strip-json-comments" ];
   };
+  by-spec."strip-json-comments"."1.0.x" =
+    self.by-version."strip-json-comments"."1.0.1";
+  by-version."strip-json-comments"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "strip-json-comments-1.0.1";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.1.tgz";
+        name = "strip-json-comments-1.0.1.tgz";
+        sha1 = "a91252d95ddee4ff38a66135cd6c78de5709f374";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."strip-json-comments" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "strip-json-comments" ];
+  };
   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 {
@@ -19192,15 +21251,15 @@
     passthru.names = [ "strong-data-uri" ];
   };
   by-spec."stylus"."*" =
-    self.by-version."stylus"."0.48.1";
-  by-version."stylus"."0.48.1" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.48.1";
+    self.by-version."stylus"."0.49.1";
+  by-version."stylus"."0.49.1" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.49.1";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.1.tgz";
-        name = "stylus-0.48.1.tgz";
-        sha1 = "612c1b8806ce2c35f37cd3a57ad932c883f7ff10";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.49.1.tgz";
+        name = "stylus-0.49.1.tgz";
+        sha1 = "c915495675ca77847a7d4285dd6d6572bae34448";
       })
     ];
     buildInputs =
@@ -19211,13 +21270,13 @@
       "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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
     };
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.by-version."stylus"."0.48.1";
+  "stylus" = self.by-version."stylus"."0.49.1";
   by-spec."stylus"."0.42.2" =
     self.by-version."stylus"."0.42.2";
   by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage {
@@ -19264,31 +21323,52 @@
     ];
     passthru.names = [ "subarg" ];
   };
-  by-spec."superagent"."0.18.0" =
-    self.by-version."superagent"."0.18.0";
-  by-version."superagent"."0.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.18.0";
+  by-spec."subarg"."^1.0.0" =
+    self.by-version."subarg"."1.0.0";
+  by-version."subarg"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "subarg-1.0.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz";
-        name = "superagent-0.18.0.tgz";
-        sha1 = "9d4375a3ae2c4fbd55fd20d5b12a2470d2fc8f62";
+        url = "http://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
+        name = "subarg-1.0.0.tgz";
+        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."subarg" or []);
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "subarg" ];
+  };
+  by-spec."superagent"."0.19.0" =
+    self.by-version."superagent"."0.19.0";
+  by-version."superagent"."0.19.0" = lib.makeOverridable self.buildNodePackage {
+    name = "superagent-0.19.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/superagent/-/superagent-0.19.0.tgz";
+        name = "superagent-0.19.0.tgz";
+        sha1 = "e3f0fe5c07a429779a4e201c3e7b15b6577e4fbb";
       })
     ];
     buildInputs =
       (self.nativeDeps."superagent" or []);
     deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "qs-1.2.0" = self.by-version."qs"."1.2.0";
       "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
-      "mime-1.2.5" = self.by-version."mime"."1.2.5";
+      "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-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";
+      "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.2" = self.by-version."form-data"."0.1.2";
+      "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 = [
@@ -19353,28 +21433,28 @@
     passthru.names = [ "superagent" ];
   };
   by-spec."supertest"."*" =
-    self.by-version."supertest"."0.13.0";
-  by-version."supertest"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "supertest-0.13.0";
+    self.by-version."supertest"."0.14.0";
+  by-version."supertest"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "supertest-0.14.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz";
-        name = "supertest-0.13.0.tgz";
-        sha1 = "4892bafd9beaa9bbcc95fd5a9f04949aef1ce06f";
+        url = "http://registry.npmjs.org/supertest/-/supertest-0.14.0.tgz";
+        name = "supertest-0.14.0.tgz";
+        sha1 = "d385a8ebced95350de8bde26460d848917dee305";
       })
     ];
     buildInputs =
       (self.nativeDeps."supertest" or []);
     deps = {
-      "superagent-0.18.0" = self.by-version."superagent"."0.18.0";
-      "methods-1.0.0" = self.by-version."methods"."1.0.0";
+      "superagent-0.19.0" = self.by-version."superagent"."0.19.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "supertest" ];
   };
-  "supertest" = self.by-version."supertest"."0.13.0";
+  "supertest" = self.by-version."supertest"."0.14.0";
   by-spec."supports-color"."^0.2.0" =
     self.by-version."supports-color"."0.2.0";
   by-version."supports-color"."0.2.0" = lib.makeOverridable self.buildNodePackage {
@@ -19554,16 +21634,39 @@
     self.by-version."tar"."1.0.1";
   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 = "tar-stream-0.4.5";
+  by-spec."tar-fs"."0.5.2" =
+    self.by-version."tar-fs"."0.5.2";
+  by-version."tar-fs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "tar-fs-0.5.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.5.tgz";
-        name = "tar-stream-0.4.5.tgz";
-        sha1 = "a5e0a7521f57974c919b2b99fdae55589aeefa46";
+        url = "http://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz";
+        name = "tar-fs-0.5.2.tgz";
+        sha1 = "0f59424be7eeee45232316e302f66d3f6ea6db3e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tar-fs" or []);
+    deps = {
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "pump-0.3.5" = self.by-version."pump"."0.3.5";
+      "tar-stream-0.4.7" = self.by-version."tar-stream"."0.4.7";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tar-fs" ];
+  };
+  by-spec."tar-stream"."^0.4.6" =
+    self.by-version."tar-stream"."0.4.7";
+  by-version."tar-stream"."0.4.7" = lib.makeOverridable self.buildNodePackage {
+    name = "tar-stream-0.4.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz";
+        name = "tar-stream-0.4.7.tgz";
+        sha1 = "1f1d2ce9ebc7b42765243ca0e8f1b7bfda0aadcd";
       })
     ];
     buildInputs =
@@ -19578,6 +21681,8 @@
     ];
     passthru.names = [ "tar-stream" ];
   };
+  by-spec."tar-stream"."~0.4.0" =
+    self.by-version."tar-stream"."0.4.7";
   by-spec."temp"."*" =
     self.by-version."temp"."0.8.1";
   by-version."temp"."0.8.1" = lib.makeOverridable self.buildNodePackage {
@@ -19667,15 +21772,15 @@
     passthru.names = [ "throttleit" ];
   };
   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 = "through-2.3.4";
+    self.by-version."through"."2.3.6";
+  by-version."through"."2.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "through-2.3.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
-        name = "through-2.3.4.tgz";
-        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
+        url = "http://registry.npmjs.org/through/-/through-2.3.6.tgz";
+        name = "through-2.3.6.tgz";
+        sha1 = "26681c0f524671021d4e29df7c36bce2d0ecf2e8";
       })
     ];
     buildInputs =
@@ -19687,7 +21792,7 @@
     passthru.names = [ "through" ];
   };
   by-spec."through"."~2.3.4" =
-    self.by-version."through"."2.3.4";
+    self.by-version."through"."2.3.6";
   by-spec."through2"."^0.5.1" =
     self.by-version."through2"."0.5.1";
   by-version."through2"."0.5.1" = lib.makeOverridable self.buildNodePackage {
@@ -19703,7 +21808,7 @@
     buildInputs =
       (self.nativeDeps."through2" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
       "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
     };
     peerDependencies = [
@@ -19711,21 +21816,21 @@
     passthru.names = [ "through2" ];
   };
   by-spec."through2"."^0.6.1" =
-    self.by-version."through2"."0.6.1";
-  by-version."through2"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "through2-0.6.1";
+    self.by-version."through2"."0.6.2";
+  by-version."through2"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "through2-0.6.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/through2/-/through2-0.6.1.tgz";
-        name = "through2-0.6.1.tgz";
-        sha1 = "f742b32893e8bd26146e789e4fd2ccb2c07a717e";
+        url = "http://registry.npmjs.org/through2/-/through2-0.6.2.tgz";
+        name = "through2-0.6.2.tgz";
+        sha1 = "53265824c555e7fcdc4111dcdc52c7de64636c75";
       })
     ];
     buildInputs =
       (self.nativeDeps."through2" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
       "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
     };
     peerDependencies = [
@@ -19769,7 +21874,7 @@
     buildInputs =
       (self.nativeDeps."through2" or []);
     deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
       "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
     };
     peerDependencies = [
@@ -19820,6 +21925,28 @@
     ];
     passthru.names = [ "timers-browserify" ];
   };
+  by-spec."timers-ext"."0.1.x" =
+    self.by-version."timers-ext"."0.1.0";
+  by-version."timers-ext"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "timers-ext-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/timers-ext/-/timers-ext-0.1.0.tgz";
+        name = "timers-ext-0.1.0.tgz";
+        sha1 = "00345a2ca93089d1251322054389d263e27b77e2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."timers-ext" or []);
+    deps = {
+      "es5-ext-0.10.4" = self.by-version."es5-ext"."0.10.4";
+      "next-tick-0.2.2" = self.by-version."next-tick"."0.2.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "timers-ext" ];
+  };
   by-spec."timespan"."~2.3.0" =
     self.by-version."timespan"."2.3.0";
   by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage {
@@ -19881,16 +22008,16 @@
     ];
     passthru.names = [ "tinycolor" ];
   };
-  by-spec."titanium"."3.2.1" =
-    self.by-version."titanium"."3.2.1";
-  by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "titanium-3.2.1";
+  by-spec."titanium"."*" =
+    self.by-version."titanium"."3.4.0";
+  by-version."titanium"."3.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "titanium-3.4.0";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz";
-        name = "titanium-3.2.1.tgz";
-        sha1 = "b1d432c6c853c22096fb3ed03626e8263b27e39e";
+        url = "http://registry.npmjs.org/titanium/-/titanium-3.4.0.tgz";
+        name = "titanium-3.4.0.tgz";
+        sha1 = "5b4fca5cd15fadd187725dd46f7469eed9405683";
       })
     ];
     buildInputs =
@@ -19898,12 +22025,12 @@
     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";
+      "fields-0.1.16" = self.by-version."fields"."0.1.16";
       "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";
+      "node-appc-0.2.14" = self.by-version."node-appc"."0.2.14";
       "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";
@@ -19916,8 +22043,28 @@
     ];
     passthru.names = [ "titanium" ];
   };
-  "titanium" = self.by-version."titanium"."3.2.1";
-  by-spec."tmp"."~0.0.20" =
+  "titanium" = self.by-version."titanium"."3.4.0";
+  by-spec."tmp"."0.0.23" =
+    self.by-version."tmp"."0.0.23";
+  by-version."tmp"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+    name = "tmp-0.0.23";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz";
+        name = "tmp-0.0.23.tgz";
+        sha1 = "de874aa5e974a85f0a32cdfdbd74663cb3bd9c74";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tmp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tmp" ];
+  };
+  by-spec."tmp"."0.0.24" =
     self.by-version."tmp"."0.0.24";
   by-version."tmp"."0.0.24" = lib.makeOverridable self.buildNodePackage {
     name = "tmp-0.0.24";
@@ -19937,6 +22084,29 @@
     ];
     passthru.names = [ "tmp" ];
   };
+  by-spec."tmp"."~0.0.20" =
+    self.by-version."tmp"."0.0.24";
+  by-spec."touch"."0.0.2" =
+    self.by-version."touch"."0.0.2";
+  by-version."touch"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "touch-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/touch/-/touch-0.0.2.tgz";
+        name = "touch-0.0.2.tgz";
+        sha1 = "a65a777795e5cbbe1299499bdc42281ffb21b5f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."touch" or []);
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "touch" ];
+  };
   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 {
@@ -19958,6 +22128,8 @@
     ];
     passthru.names = [ "tough-cookie" ];
   };
+  by-spec."tough-cookie"."^0.12.1" =
+    self.by-version."tough-cookie"."0.12.1";
   by-spec."traceur"."0.0.55" =
     self.by-version."traceur"."0.0.55";
   by-version."traceur"."0.0.55" = lib.makeOverridable self.buildNodePackage {
@@ -19974,7 +22146,7 @@
       (self.nativeDeps."traceur" or []);
     deps = {
       "commander-2.3.0" = self.by-version."commander"."2.3.0";
-      "glob-4.0.5" = self.by-version."glob"."4.0.5";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
       "semver-2.3.2" = self.by-version."semver"."2.3.2";
     };
     peerDependencies = [
@@ -20004,6 +22176,26 @@
     ];
     passthru.names = [ "transformers" ];
   };
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage {
+    name = "traverse-0.3.9";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz";
+        name = "traverse-0.3.9.tgz";
+        sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traverse" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "traverse" ];
+  };
   by-spec."truncate"."~1.0.2" =
     self.by-version."truncate"."1.0.2";
   by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
@@ -20168,27 +22360,29 @@
     passthru.names = [ "type-is" ];
   };
   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";
+    self.by-version."type-is"."1.5.2";
+  by-version."type-is"."1.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "type-is-1.5.2";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz";
-        name = "type-is-1.5.1.tgz";
-        sha1 = "5c1e62d874f79199fb16b34d16972dba376ccbed";
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.2.tgz";
+        name = "type-is-1.5.2.tgz";
+        sha1 = "8291bbe845a904acfaffd05a41fdeb234bfa9e5f";
       })
     ];
     buildInputs =
       (self.nativeDeps."type-is" or []);
     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";
+      "mime-types-2.0.2" = self.by-version."mime-types"."2.0.2";
     };
     peerDependencies = [
     ];
     passthru.names = [ "type-is" ];
   };
+  by-spec."type-is"."~1.5.2" =
+    self.by-version."type-is"."1.5.2";
   by-spec."typechecker"."~2.0.1" =
     self.by-version."typechecker"."2.0.8";
   by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
@@ -20230,15 +22424,15 @@
     passthru.names = [ "typedarray" ];
   };
   by-spec."typescript"."*" =
-    self.by-version."typescript"."1.0.1";
-  by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typescript-1.0.1";
+    self.by-version."typescript"."1.1.0-1";
+  by-version."typescript"."1.1.0-1" = lib.makeOverridable self.buildNodePackage {
+    name = "typescript-1.1.0-1";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
-        name = "typescript-1.0.1.tgz";
-        sha1 = "e8eacde3084a091d3fe29b60ac5862252662a25a";
+        url = "http://registry.npmjs.org/typescript/-/typescript-1.1.0-1.tgz";
+        name = "typescript-1.1.0-1.tgz";
+        sha1 = "ad83fb48dd52312564fc795fb2e1ecc43d5e9d6e";
       })
     ];
     buildInputs =
@@ -20249,7 +22443,7 @@
     ];
     passthru.names = [ "typescript" ];
   };
-  "typescript" = self.by-version."typescript"."1.0.1";
+  "typescript" = self.by-version."typescript"."1.1.0-1";
   by-spec."uglify-js"."*" =
     self.by-version."uglify-js"."2.4.15";
   by-version."uglify-js"."2.4.15" = lib.makeOverridable self.buildNodePackage {
@@ -20311,7 +22505,7 @@
       (self.nativeDeps."uglify-js" or []);
     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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
       "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";
     };
@@ -20336,7 +22530,7 @@
     buildInputs =
       (self.nativeDeps."uglify-js" or []);
     deps = {
-      "source-map-0.1.39" = self.by-version."source-map"."0.1.39";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
       "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
     };
     peerDependencies = [
@@ -20361,7 +22555,7 @@
       (self.nativeDeps."uglify-js" or []);
     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";
+      "source-map-0.1.40" = self.by-version."source-map"."0.1.40";
       "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
     };
     peerDependencies = [
@@ -20475,7 +22669,7 @@
     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";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
       "uglify-js-2.4.15" = self.by-version."uglify-js"."2.4.15";
     };
     peerDependencies = [
@@ -20712,6 +22906,31 @@
     ];
     passthru.names = [ "unique-stream" ];
   };
+  by-spec."update-notifier"."0.2.0" =
+    self.by-version."update-notifier"."0.2.0";
+  by-version."update-notifier"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "update-notifier-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz";
+        name = "update-notifier-0.2.0.tgz";
+        sha1 = "a010c928adcf02090b8e0ce7fef6fb0a7cacc34a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."update-notifier" or []);
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "configstore-0.3.1" = self.by-version."configstore"."0.3.1";
+      "latest-version-0.2.0" = self.by-version."latest-version"."0.2.0";
+      "semver-diff-0.1.0" = self.by-version."semver-diff"."0.1.0";
+      "string-length-0.1.2" = self.by-version."string-length"."0.1.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "update-notifier" ];
+  };
   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 {
@@ -20729,13 +22948,33 @@
     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";
+      "request-2.45.0" = self.by-version."request"."2.45.0";
       "semver-2.3.2" = self.by-version."semver"."2.3.2";
     };
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
   };
+  by-spec."uri-path"."0.0.2" =
+    self.by-version."uri-path"."0.0.2";
+  by-version."uri-path"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "uri-path-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uri-path/-/uri-path-0.0.2.tgz";
+        name = "uri-path-0.0.2.tgz";
+        sha1 = "803eb01f2feb17927dcce0f6187e72b75f53f554";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uri-path" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "uri-path" ];
+  };
   by-spec."url"."~0.10.1" =
     self.by-version."url"."0.10.1";
   by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage {
@@ -20778,15 +23017,15 @@
     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 = "useragent-2.0.9";
+    self.by-version."useragent"."2.0.10";
+  by-version."useragent"."2.0.10" = lib.makeOverridable self.buildNodePackage {
+    name = "useragent-2.0.10";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/useragent/-/useragent-2.0.9.tgz";
-        name = "useragent-2.0.9.tgz";
-        sha1 = "98c53e8b1c0191a3e4d0ad9d8153f19a5d453ac5";
+        url = "http://registry.npmjs.org/useragent/-/useragent-2.0.10.tgz";
+        name = "useragent-2.0.10.tgz";
+        sha1 = "af2c1cc641159361e4d830866eb716ba4679de33";
       })
     ];
     buildInputs =
@@ -20961,7 +23200,25 @@
     passthru.names = [ "uuid" ];
   };
   by-spec."uuid"."~1.4.1" =
-    self.by-version."uuid"."1.4.1";
+    self.by-version."uuid"."1.4.2";
+  by-version."uuid"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "uuid-1.4.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uuid/-/uuid-1.4.2.tgz";
+        name = "uuid-1.4.2.tgz";
+        sha1 = "453019f686966a6df83cdc5244e7c990ecc332fc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uuid" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "uuid" ];
+  };
   by-spec."validator"."0.4.x" =
     self.by-version."validator"."0.4.28";
   by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
@@ -21234,15 +23491,15 @@
     passthru.names = [ "vinyl" ];
   };
   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";
+    self.by-version."vinyl-fs"."0.3.8";
+  by-version."vinyl-fs"."0.3.8" = lib.makeOverridable self.buildNodePackage {
+    name = "vinyl-fs-0.3.8";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.7.tgz";
-        name = "vinyl-fs-0.3.7.tgz";
-        sha1 = "2e25cfe6df5c80818f97ff417bf5c21a41e4a49b";
+        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.8.tgz";
+        name = "vinyl-fs-0.3.8.tgz";
+        sha1 = "bea09db28e558e5e903a51a5363fcdb59e5aabe4";
       })
     ];
     buildInputs =
@@ -21250,11 +23507,11 @@
     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";
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
       "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";
+      "through2-0.6.2" = self.by-version."through2"."0.6.2";
       "vinyl-0.4.3" = self.by-version."vinyl"."0.4.3";
     };
     peerDependencies = [
@@ -21262,7 +23519,7 @@
     passthru.names = [ "vinyl-fs" ];
   };
   by-spec."vinyl-fs"."^0.3.3" =
-    self.by-version."vinyl-fs"."0.3.7";
+    self.by-version."vinyl-fs"."0.3.8";
   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 {
@@ -21327,15 +23584,15 @@
     passthru.names = [ "vows" ];
   };
   by-spec."walk"."*" =
-    self.by-version."walk"."2.3.3";
-  by-version."walk"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "walk-2.3.3";
+    self.by-version."walk"."2.3.4";
+  by-version."walk"."2.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "walk-2.3.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/walk/-/walk-2.3.3.tgz";
-        name = "walk-2.3.3.tgz";
-        sha1 = "b4c0e8c42464c16dbbe1d71666765eac07819e5f";
+        url = "http://registry.npmjs.org/walk/-/walk-2.3.4.tgz";
+        name = "walk-2.3.4.tgz";
+        sha1 = "06ce1541535313e8acc28e92eb425e9b64f4c500";
       })
     ];
     buildInputs =
@@ -21347,7 +23604,7 @@
     ];
     passthru.names = [ "walk" ];
   };
-  "walk" = self.by-version."walk"."2.3.3";
+  "walk" = self.by-version."walk"."2.3.4";
   by-spec."walk"."~2.2.1" =
     self.by-version."walk"."2.2.1";
   by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
@@ -21431,15 +23688,15 @@
     passthru.names = [ "wcwidth" ];
   };
   by-spec."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";
+    self.by-version."wd"."0.3.8";
+  by-version."wd"."0.3.8" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.3.8";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.3.7.tgz";
-        name = "wd-0.3.7.tgz";
-        sha1 = "311f03e56a7d67fe263aa446a360145c592a5dc8";
+        url = "http://registry.npmjs.org/wd/-/wd-0.3.8.tgz";
+        name = "wd-0.3.8.tgz";
+        sha1 = "68c4371561ac32b986dd93f42f89072746c09c84";
       })
     ];
     buildInputs =
@@ -21450,7 +23707,7 @@
       "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";
+      "request-2.42.0" = self.by-version."request"."2.42.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";
     };
@@ -21479,15 +23736,15 @@
     passthru.names = [ "weak-map" ];
   };
   by-spec."webdrvr"."*" =
-    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";
+    self.by-version."webdrvr"."2.43.0-0";
+  by-version."webdrvr"."2.43.0-0" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.43.0-0";
     bin = true;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.41.0-0.tgz";
-        name = "webdrvr-2.41.0-0.tgz";
-        sha1 = "c74f22b27f0778d0c2b7e5cbda1edd113d782884";
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.43.0-0.tgz";
+        name = "webdrvr-2.43.0-0.tgz";
+        sha1 = "b022266b1d5fba25e22d923337c55587048c2953";
       })
     ];
     buildInputs =
@@ -21497,7 +23754,7 @@
       "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";
+      "phantomjs-1.9.10" = self.by-version."phantomjs"."1.9.10";
       "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
       "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
     };
@@ -21505,17 +23762,17 @@
     ];
     passthru.names = [ "webdrvr" ];
   };
-  "webdrvr" = self.by-version."webdrvr"."2.41.0-0";
+  "webdrvr" = self.by-version."webdrvr"."2.43.0-0";
   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 = "websocket-driver-0.3.5";
+    self.by-version."websocket-driver"."0.3.6";
+  by-version."websocket-driver"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "websocket-driver-0.3.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.5.tgz";
-        name = "websocket-driver-0.3.5.tgz";
-        sha1 = "e3a51ff538f1653a49e62d78ecfc1eb1bde9e5a0";
+        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.6.tgz";
+        name = "websocket-driver-0.3.6.tgz";
+        sha1 = "85d03e26be0b820b4466a78bbf36a6596bc2aa75";
       })
     ];
     buildInputs =
@@ -21526,16 +23783,18 @@
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  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";
+  by-spec."websocket-driver".">=0.3.6" =
+    self.by-version."websocket-driver"."0.3.6";
+  by-spec."when"."~3.4.6" =
+    self.by-version."when"."3.4.6";
+  by-version."when"."3.4.6" = lib.makeOverridable self.buildNodePackage {
+    name = "when-3.4.6";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/when/-/when-3.4.5.tgz";
-        name = "when-3.4.5.tgz";
-        sha1 = "1f39cc46cfb349f0aee37c5b1abce6a527846969";
+        url = "http://registry.npmjs.org/when/-/when-3.4.6.tgz";
+        name = "when-3.4.6.tgz";
+        sha1 = "8fbcb7cc1439d2c3a68c431f1516e6dcce9ad28c";
       })
     ];
     buildInputs =
@@ -21593,15 +23852,15 @@
     passthru.names = [ "winser" ];
   };
   by-spec."winston"."*" =
-    self.by-version."winston"."0.7.3";
-  by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.7.3";
+    self.by-version."winston"."0.8.0";
+  by-version."winston"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "winston-0.8.0";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
-        name = "winston-0.7.3.tgz";
-        sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
+        url = "http://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
+        name = "winston-0.8.0.tgz";
+        sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
       })
     ];
     buildInputs =
@@ -21612,14 +23871,13 @@
       "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" ];
   };
-  "winston" = self.by-version."winston"."0.7.3";
+  "winston" = self.by-version."winston"."0.8.0";
   by-spec."winston"."0.6.2" =
     self.by-version."winston"."0.6.2";
   by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
@@ -21676,8 +23934,37 @@
     ];
     passthru.names = [ "winston" ];
   };
+  by-spec."winston"."0.8.0" =
+    self.by-version."winston"."0.8.0";
+  by-spec."winston"."0.8.x" =
+    self.by-version."winston"."0.8.0";
   by-spec."winston"."~0.7.2" =
     self.by-version."winston"."0.7.3";
+  by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+    name = "winston-0.7.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
+        name = "winston-0.7.3.tgz";
+        sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."winston" or []);
+    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" ];
+  };
   by-spec."winston"."~0.7.3" =
     self.by-version."winston"."0.7.3";
   by-spec."with"."~1.1.0" =
@@ -21767,6 +24054,28 @@
     self.by-version."wordwrap"."0.0.2";
   by-spec."wordwrap"."~0.0.2" =
     self.by-version."wordwrap"."0.0.2";
+  by-spec."wrappy"."1" =
+    self.by-version."wrappy"."1.0.1";
+  by-version."wrappy"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "wrappy-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
+        name = "wrappy-1.0.1.tgz";
+        sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."wrappy" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "wrappy" ];
+  };
+  by-spec."wrappy"."~1.0.1" =
+    self.by-version."wrappy"."1.0.1";
   by-spec."wrench"."~1.5.0" =
     self.by-version."wrench"."1.5.8";
   by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage {
@@ -21789,6 +24098,28 @@
   };
   by-spec."wrench"."~1.5.4" =
     self.by-version."wrench"."1.5.8";
+  by-spec."write-file-atomic"."~1.1.0" =
+    self.by-version."write-file-atomic"."1.1.0";
+  by-version."write-file-atomic"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "write-file-atomic-1.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz";
+        name = "write-file-atomic-1.1.0.tgz";
+        sha1 = "e114cfb8f82188353f98217c5945451c9b4dc060";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."write-file-atomic" or []);
+    deps = {
+      "graceful-fs-3.0.3" = self.by-version."graceful-fs"."3.0.3";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "write-file-atomic" ];
+  };
   by-spec."ws"."0.4.x" =
     self.by-version."ws"."0.4.32";
   by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
@@ -21807,7 +24138,7 @@
       "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";
+      "options-0.0.6" = self.by-version."options"."0.0.6";
     };
     peerDependencies = [
     ];
@@ -21838,26 +24169,27 @@
   };
   "wu" = self.by-version."wu"."2.0.0";
   by-spec."x509"."*" =
-    self.by-version."x509"."0.0.7";
-  by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "x509-0.0.7";
+    self.by-version."x509"."0.1.4";
+  by-version."x509"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "x509-0.1.4";
     bin = false;
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz";
-        name = "x509-0.0.7.tgz";
-        sha1 = "198a57a9691649b030a383e0e5f89e635d6e99e7";
+        url = "http://registry.npmjs.org/x509/-/x509-0.1.4.tgz";
+        name = "x509-0.1.4.tgz";
+        sha1 = "08d016ed165db0c68a192edeb1cdca0f5d43cb22";
       })
     ];
     buildInputs =
       (self.nativeDeps."x509" or []);
     deps = {
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
     };
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
   };
-  "x509" = self.by-version."x509"."0.0.7";
+  "x509" = self.by-version."x509"."0.1.4";
   by-spec."xml2js"."0.2.4" =
     self.by-version."xml2js"."0.2.4";
   by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
@@ -21900,7 +24232,7 @@
     ];
     passthru.names = [ "xml2js" ];
   };
-  by-spec."xml2js".">= 0.0.1" =
+  by-spec."xml2js"."0.4.4" =
     self.by-version."xml2js"."0.4.4";
   by-version."xml2js"."0.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.4.4";
@@ -21922,6 +24254,8 @@
     ];
     passthru.names = [ "xml2js" ];
   };
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.4.4";
   by-spec."xml2js".">=0.1.7" =
     self.by-version."xml2js"."0.4.4";
   by-spec."xml2js"."^0.4.4" =
@@ -22152,7 +24486,7 @@
     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";
+      "readable-stream-1.0.32" = self.by-version."readable-stream"."1.0.32";
     };
     peerDependencies = [
     ];
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index f4ce379d76e3a..500c3eb5ad65b 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -111,7 +111,7 @@
 , "posix"
 , "node-protobuf"
 , "rethinkdb"
-, { "titanium": "3.2.1" }
+, "titanium"
 , "deepmerge"
 , "slasp"
 , "react"
@@ -126,4 +126,6 @@
 , "shelljs"
 , "typescript"
 , "git-run"
+, "bower"
+, "bower2nix"
 ]
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 6635d9dd910a5..452144e0087c2 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1785,10 +1785,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptRandPasswd = buildPerlPackage {
-    name = "Crypt-RandPasswd-0.05";
+    name = "Crypt-RandPasswd-0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.05.tar.gz;
-      sha256 = "0djcjzk0wmlf02gx9935m7c1dhpmdwx3hjal8x80aa92baavwf2s";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.06.tar.gz;
+      sha256 = "0ca8544371wp4vvqsa19lnhl02hczpkbwkgsgm65ziwwim3r1gdi";
     };
   };
 
@@ -3133,10 +3133,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailSender = buildPerlPackage {
-    name = "Email-Sender-0.120002";
+    name = "Email-Sender-1.300014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-0.120002.tar.gz;
-      sha256 = "1cp735ndmh76xzijsm1hd0yh0m9yj34jc8akjhidkn677h2021dc";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-1.300014.tar.gz;
+      sha256 = "0yxqk0fjxasd7q62m65dl2n6xm4xcvfb6i1lajvwibygd9ckifw6";
     };
     propagatedBuildInputs = [ CaptureTiny EmailAbstract EmailAddress EmailSimple ListMoreUtils Moose Throwable TryTiny ];
     meta = {
@@ -4891,7 +4891,7 @@ let self = _self // overrides; _self = with self; {
       platforms   = stdenv.lib.platforms.unix;
     };
   };
-  
+
   ListBinarySearch = pkgs.buildPerlPackage {
     name = "List-BinarySearch-0.20";
     src = pkgs.fetchurl {
@@ -5723,6 +5723,15 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MooXTypesMooseLike = buildPerlPackage rec {
+    name = "MooX-Types-MooseLike-0.27";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MATEU/${name}.tar.gz";
+      sha256 = "1489almsam2zcrs5039sh0y88gjicwna8kws8j2jgfs8bpcf4dgf";
+    };
+    propagatedBuildInputs = [ Moo TestFatal ];
+  };
+
   MooseAutobox = buildPerlPackage {
     name = "Moose-Autobox-0.15";
     src = fetchurl {
@@ -6451,6 +6460,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       description = "Use the Amazon S3 - Simple Storage Service";
       license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -6475,6 +6485,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 = {
@@ -9313,12 +9324,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   Throwable = buildPerlPackage rec {
-    name = "Throwable-0.102080";
+    name = "Throwable-0.200010";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0vjzlh23rpmgr5h8qfh9pb3kqw0j8sxn2bpbc1p2306dwqwbymm5";
+      sha256 = "0qhq1f5bvgf5kjhmdg45vadq8dbc9gfms81hply5c6a71nmkv8yp";
     };
-    propagatedBuildInputs = [ DevelStackTrace Moose ];
+    propagatedBuildInputs = [ DevelStackTrace Moose Moo MooXTypesMooseLike ];
   };
 
   TieCycle = buildPerlPackage {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 958acdd9f3c1a..9613fe5f83fa7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -40,6 +40,9 @@ let
 
   # helpers
 
+  # glibcLocales doesn't build on Darwin
+  localePath = optionalString (! stdenv.isDarwin) "${pkgs.glibcLocales}/lib/locale/locale-archive";
+
   callPackage = pkgs.newScope pythonPackages;
 
   # global distutils config used by buildPythonPackage
@@ -433,12 +436,11 @@ let
 
 
   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'
@@ -589,6 +591,24 @@ let
     };
   };
 
+  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";
 
@@ -847,6 +867,23 @@ let
   };
 
 
+  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";
 
@@ -947,6 +984,26 @@ let
     };
   };
 
+  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";
@@ -1110,6 +1167,38 @@ let
     };
   };
 
+  certifi = buildPythonPackage rec {
+    name = "certifi-${version}";
+    version = "14.05.14";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/certifi/${name}.tar.gz";
+      sha256 = "0s8vxzfz6s4m6fvxc7z25k9j35w0rh6jkw3wwcd1az1mssncn6qy";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://certifi.io/;
+      description = "Python package for providing Mozilla's CA Bundle.";
+      license = licenses.isc;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+  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";
@@ -1322,6 +1411,8 @@ let
     # error: invalid command 'test'
     doCheck = false;
 
+    propagatedBuildInputs = [ six ];
+
     meta = {
       description = "Config file reading, writing and validation.";
       homepage = http://pypi.python.org/pypi/configobj;
@@ -1551,22 +1642,16 @@ let
   };
 
   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 ]
@@ -1576,7 +1661,7 @@ let
         pythonPackages.selenium;
 
     meta = with stdenv.lib; {
-      maintainers = with maintainers; [ iElectric lovek323 ];
+      maintainers = with maintainers; [ iElectric lovek323 madjar ];
       platforms = platforms.unix;
     };
   };
@@ -1951,6 +2036,7 @@ let
 
   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";
@@ -2252,7 +2338,7 @@ let
     };
 
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -3201,40 +3287,41 @@ let
 
 
   dulwich = buildPythonPackage rec {
-    name = "dulwich-0.8.7";
-    disabled = isPy3k || isPyPy;
+    name = "dulwich-${version}";
+    version = "0.9.7";
 
     src = fetchurl {
-      url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz";
-      sha256 = "041qp5v2x8fbwkmws6hwwiny74lavkz723dj8gwbm40b2383d8vv";
+      url = "https://pypi.python.org/packages/source/d/dulwich/${name}.tar.gz";
+      sha256 = "1wq083g9b1xsk89kb0wwpi4mxy63x6760vn9x5sk1fx36h27prqj";
     };
 
-    buildPhase = "make build";
+    # Only test dependencies
+    buildInputs = [ pkgs.git gevent geventhttpclient mock fastimport ];
 
-    # For some reason "python setup.py test" doesn't work with Python 2.6.
-    # pretty sure that is about import behaviour.
-    doCheck = python.majorVersion != "2.6";
-
-    meta = {
+    meta = with stdenv.lib; {
       description = "Simple Python implementation of the Git file formats and protocols.";
       homepage = http://samba.org/~jelmer/dulwich/;
+      license = licenses.gpl2Plus;
+      maintainers = [ maintainers.koral ];
     };
   };
 
 
-  hggit = buildPythonPackage rec {
-    name = "hg-git-0.3.1";
+  hg-git = buildPythonPackage rec {
+    name = "hg-git-${version}";
+    version = "0.6.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/h/hg-git/${name}.tar.gz";
-      md5 = "4b15867a07abb0be985177581ce64cee";
+      sha256 = "136kz4w377ldcjdg865azi8aym0xnxzxl3rycnflgay26ar1309s";
     };
 
-    propagatedBuildInputs = [ dulwich ];
+    propagatedBuildInputs = [ pkgs.mercurial dulwich ];
 
-    meta = {
+    meta = with stdenv.lib; {
       description = "Push and pull from a Git server using Mercurial.";
       homepage = http://hg-git.github.com/;
+      maintainers = [ maintainers.koral ];
     };
   };
 
@@ -3397,6 +3484,43 @@ let
     };
   };
 
+  fastimport = buildPythonPackage rec {
+    name = "fastimport-${version}";
+    version = "0.9.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/f/fastimport/${name}.tar.gz";
+      sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://launchpad.net/python-fastimport;
+      description = "VCS fastimport/fastexport parser";
+      maintainers = [ maintainers.koral ];
+      license = licenses.gpl2Plus;
+    };
+  };
+
+  feedgenerator = buildPythonPackage (rec {
+    name = "feedgenerator-1.7";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/f/feedgenerator/${name}.tar.gz";
+      md5 = "92978492871342ad64e8ae0ccfcf200c";
+    };
+
+    preConfigure = ''
+      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    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";
@@ -3712,6 +3836,24 @@ let
     };
   };
 
+  geventhttpclient = buildPythonPackage rec {
+    name = "geventhttpclient-${version}";
+    version = "1.1.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/g/geventhttpclient/${name}.tar.gz";
+      sha256 = "1k7s4dnkmcfqqkmbqi0vvb2ns53r9cl2652mq20bgg65zj26j2l6";
+    };
+
+    propagatedBuildInputs = [ gevent certifi backports_ssl_match_hostname_3_4_0_2 ];
+
+    meta = with stdenv.lib; {
+      homepage = http://github.com/gwik/geventhttpclient;
+      description = "HTTP client library for gevent";
+      license = licenses.mit;
+      maintainers = [ maintainers.koral ];
+    };
+  };
 
   gevent-socketio = buildPythonPackage rec {
     name = "gevent-socketio-0.3.6";
@@ -3794,25 +3936,27 @@ let
   };
 
   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";
     };
@@ -3941,7 +4085,7 @@ let
     };
 
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -4371,6 +4515,26 @@ let
   });
 
 
+  linode = buildPythonPackage rec {
+    name = "linode-${version}";
+    version = "0.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/l/linode/linode-${version}.tar.gz";
+      md5 = "03a306575cf274719b3206ecee0bda9e";
+    };
+
+    propagatedBuildInputs = [ requests2 ];
+
+    meta = with stdenv.lib; {
+      homepage = "https://github.com/ghickman/linode";
+      description = "A thin python wrapper around Linode's API";
+      license = licenses.mit;
+      maintainers = [ maintainers.nslqqq ];
+    };
+  };
+
+
   lockfile = buildPythonPackage rec {
     name = "lockfile-0.9.1";
 
@@ -4702,7 +4866,7 @@ let
     doCheck = false;
 
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -4874,7 +5038,7 @@ let
 
     # some files in tests dir include unicode names
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -4917,7 +5081,7 @@ let
     };
 
     preCheck = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -5164,17 +5328,17 @@ let
   });
 
   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 ];
 
-    doCheck = ! stdenv.isDarwin;
+    doCheck = false;  # lot's of transient errors, too much hassle
     checkPhase = if python.is_py3k or false then ''
       ${python}/bin/${python.executable} setup.py build_tests
     '' else "" + ''
@@ -5335,7 +5499,7 @@ let
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
       sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf";
     };
-    
+
     disabled = isPyPy;  # WIP
 
     preConfigure = ''
@@ -5713,6 +5877,34 @@ let
     };
   };
 
+  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";
+    };
+
+    preConfigure = ''
+      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    # 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";
@@ -5821,7 +6013,7 @@ let
 
     disabled = isPy3k;
     doCheck = true;
-    
+
     postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL";
 
     preConfigure = ''
@@ -5971,7 +6163,7 @@ let
 
     preCheck = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
     '';
 
     meta = {
@@ -6053,11 +6245,11 @@ let
 
 
   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";
     };
   };
 
@@ -6567,6 +6759,26 @@ let
     };
   });
 
+  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;
@@ -6601,6 +6813,26 @@ let
     };
   });
 
+  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 ];
@@ -7243,6 +7475,27 @@ let
   };
 
 
+  restview = buildPythonPackage rec {
+    name = "restview-${version}";
+    version = "2.1.1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/r/restview/${name}.tar.gz";
+      sha256 = "07scf80hhr9rijrbfrplyi3gwkx74knnzfhvlg6yf1cd0x2yiy8v";
+    };
+
+    propagatedBuildInputs = [ docutils mock pygments ];
+
+    meta = with stdenv.lib; {
+      description = "ReStructuredText viewer";
+      homepage = http://mg.pov.lt/restview/;
+      license = licenses.gpl2;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+
   reviewboard = buildPythonPackage rec {
     name = "ReviewBoard-1.6.16";
 
@@ -7585,11 +7838,11 @@ let
 
 
   scipy = buildPythonPackage rec {
-    name = "scipy-0.12.0";
+    name = "scipy-0.14.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/s/scipy/${name}.tar.gz";
-      md5 = "8fb4da324649f655e8557ea92b998786";
+      md5 = "d7c7f4ccf8b07b08d6fe49d5cd51f85d";
     };
 
     buildInputs = [pkgs.gfortran];
@@ -7789,8 +8042,7 @@ let
 
     preConfigure = ''
       export LANG="en_US.UTF-8";
-    '' + stdenv.lib.optionalString stdenv.isLinux ''
-      export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive";
+      export LOCALE_ARCHIVE=${localePath}
     '';
 
     patchPhase = ''
@@ -7848,7 +8100,7 @@ let
 
     preCheck = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
     '';
 
     meta = with stdenv.lib; {
@@ -7911,7 +8163,7 @@ let
 
     preCheck = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
     '';
 
     buildInputs = [ pytest py mock ];
@@ -8270,6 +8522,7 @@ let
       py.test
       cd ..
     '';
+    doCheck = !isPyPy;  # failures due to sqla version mismatch
 
     meta = {
       homepage = https://github.com/crosspop/sqlalchemy-imageattach;
@@ -8371,7 +8624,7 @@ let
     version = "1.2.7";
 
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      export LOCALE_ARCHIVE=${localePath}
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -9054,12 +9307,12 @@ let
 
 
   webob = buildPythonPackage rec {
-    version = "1.3.1";
+    version = "1.4";
     name = "webob-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz";
-      md5 = "20918251c5726956ba8fef22d1556177";
+      md5 = "8437607c0cc00c35f658f972516ffb55";
     };
 
     propagatedBuildInputs = [ nose modules.ssl ];
@@ -9129,12 +9382,12 @@ let
   };
 
 
-  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 ];
@@ -9451,6 +9704,22 @@ let
     };
   };
 
+  xdot = buildPythonPackage rec {
+    name = "xdot-0.6";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/x/xdot/xdot-0.6.tar.gz";
+      md5 = "a8e5fc5208657b03ad1bd4c46de75724";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ pygtk pygobject pkgs.graphviz ];
+
+    meta = with stdenv.lib; {
+      description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
+      homepage = https://github.com/jrfonseca/xdot.py;
+      license = licenses.lgpl3Plus;
+    };
+  };
 
   zope_broken = buildPythonPackage rec {
     name = "zope.broken-3.6.0";
@@ -10362,6 +10631,7 @@ let
 
   graphite_api = buildPythonPackage rec {
     name = "graphite-api-1.0.1";
+    disabled = isPyPy;
 
     src = fetchgit {
       url = "https://github.com/brutasse/graphite-api.git";
@@ -10676,22 +10946,24 @@ let
   };
 
   udiskie = buildPythonPackage rec {
-    name = "udiskie-0.8.0";
+    version = "1.1.2";
+    name = "udiskie-${version}";
 
     src = fetchurl {
-      url = "https://github.com/coldfix/udiskie/archive/0.8.0.tar.gz";
-      sha256 = "0yzrnl7bq0dkcd3wh55kbf41c4dbh7dky0mqx0drvnpxlrvzhvp2";
+      url = "https://github.com/coldfix/udiskie/archive/${version}.tar.gz";
+      sha256 = "07fyvwp4rga47ayfsmb79p2784sqrih0sglwnd9c4x6g63xgljvb";
     };
 
-    propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml dbus notify pkgs.udisks2 ];
+    propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml pygobject dbus notify pkgs.udisks2 pkgs.gettext ];
 
     # tests require dbusmock
     doCheck = false;
 
     meta = with stdenv.lib; {
-      description = "Removable disk automounter for udisks.";
+      description = "Removable disk automounter for udisks";
       license = licenses.mit;
       homepage = https://github.com/coldfix/udiskie;
+      maintainers = [ maintainers.AndersonTorres ];
     };
   };
 
@@ -10735,6 +11007,51 @@ let
     };
   };
 
+  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 (
@@ -10854,5 +11171,4 @@ let
       maintainers = [ stdenv.lib.maintainers.DamienCassou ];
     };
   };
-
 }); in pythonPackages